[SCM] libav/experimental: 10l: scratchpad could be allocated before its size was known.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:42:37 UTC 2013


The following commit has been merged in the experimental branch:
commit 934b0821dbb8fb33b2736fe4aab09fc2b6cc8ccc
Author: Loren Merritt <lorenm at u.washington.edu>
Date:   Sat Jan 8 08:56:18 2005 +0000

    10l: scratchpad could be allocated before its size was known.
    
    Originally committed as revision 3812 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 421f9c0..c1f354e 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2540,8 +2540,6 @@ static int alloc_tables(H264Context *h){
         }
     }
 
-    CHECKED_ALLOCZ(s->obmc_scratchpad, 16*s->linesize + 2*8*s->uvlinesize);
-    
     return 0;
 fail:
     free_tables(h);
@@ -2613,6 +2611,11 @@ static void frame_start(H264Context *h){
         h->block_offset[20+i]= 4*((scan8[i] - scan8[0])&7) + 4*s->uvlinesize*((scan8[i] - scan8[0])>>3);
     }
 
+    /* can't be in alloc_tables because linesize isn't known there.
+     * FIXME: redo bipred weight to not require extra buffer? */
+    if(!s->obmc_scratchpad)
+        s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize);
+
 //    s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1;
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list