[FFmpeg-cvslog] r14248 - in trunk/libavcodec: h264.c h264.h

astrange subversion
Tue Jul 15 23:30:05 CEST 2008


Author: astrange
Date: Tue Jul 15 23:30:04 2008
New Revision: 14248

Log:
Move the size of the H264Context delayed_pic array into a #define.
This improves readability by getting rid of some magic numbers.


Modified:
   trunk/libavcodec/h264.c
   trunk/libavcodec/h264.h

Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c	(original)
+++ trunk/libavcodec/h264.c	Tue Jul 15 23:30:04 2008
@@ -3302,7 +3302,7 @@ static void idr(H264Context *h){
 static void flush_dpb(AVCodecContext *avctx){
     H264Context *h= avctx->priv_data;
     int i;
-    for(i=0; i<16; i++) {
+    for(i=0; i<MAX_DELAYED_PIC_COUNT; i++) {
         if(h->delayed_pic[i])
             h->delayed_pic[i]->reference= 0;
         h->delayed_pic[i]= NULL;
@@ -7836,7 +7836,7 @@ static int decode_frame(AVCodecContext *
             pics = 0;
             while(h->delayed_pic[pics]) pics++;
 
-            assert(pics+1 < sizeof(h->delayed_pic) / sizeof(h->delayed_pic[0]));
+            assert(pics <= MAX_DELAYED_PIC_COUNT);
 
             h->delayed_pic[pics++] = cur;
             if(cur->reference == 0)

Modified: trunk/libavcodec/h264.h
==============================================================================
--- trunk/libavcodec/h264.h	(original)
+++ trunk/libavcodec/h264.h	Tue Jul 15 23:30:04 2008
@@ -51,6 +51,8 @@
 
 #define MAX_MMCO_COUNT 66
 
+#define MAX_DELAYED_PIC_COUNT 16
+
 /* Compiling in interlaced support reduces the speed
  * of progressive decoding by about 2%. */
 #define ALLOW_INTERLACE
@@ -334,7 +336,7 @@ typedef struct H264Context{
     Picture ref_list[2][48];         /**< 0..15: frame refs, 16..47: mbaff field refs.
                                           Reordered version of default_ref_list
                                           according to picture reordering in slice header */
-    Picture *delayed_pic[18]; //FIXME size?
+    Picture *delayed_pic[MAX_DELAYED_PIC_COUNT+2]; //FIXME size?
     Picture *delayed_output_pic;
 
     /**




More information about the ffmpeg-cvslog mailing list