Dont allocate direct_table 8 times too large.
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Feb 2010 15:29:12 +0000 (15:29 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Feb 2010 15:29:12 +0000 (15:29 +0000)
Originally committed as revision 22056 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index 2d112b0..2b6ecd5 100644 (file)
@@ -756,7 +756,7 @@ int ff_h264_alloc_tables(H264Context *h){
     FF_ALLOCZ_OR_GOTO(h->s.avctx, h->chroma_pred_mode_table, big_mb_num * sizeof(uint8_t), fail)
     FF_ALLOCZ_OR_GOTO(h->s.avctx, h->mvd_table[0], 16*big_mb_num * sizeof(uint8_t), fail);
     FF_ALLOCZ_OR_GOTO(h->s.avctx, h->mvd_table[1], 16*big_mb_num * sizeof(uint8_t), fail);
-    FF_ALLOCZ_OR_GOTO(h->s.avctx, h->direct_table, 32*big_mb_num * sizeof(uint8_t) , fail);
+    FF_ALLOCZ_OR_GOTO(h->s.avctx, h->direct_table, 4*big_mb_num * sizeof(uint8_t) , fail);
     FF_ALLOCZ_OR_GOTO(h->s.avctx, h->list_counts, big_mb_num * sizeof(uint8_t), fail)
 
     memset(h->slice_table_base, -1, (big_mb_num+s->mb_stride)  * sizeof(*h->slice_table_base));