OSDN Git Service

h264: drop needs_realloc
authorAnton Khirnov <anton@khirnov.net>
Tue, 31 Mar 2015 08:10:42 +0000 (10:10 +0200)
committerAnton Khirnov <anton@khirnov.net>
Wed, 29 Apr 2015 03:52:57 +0000 (05:52 +0200)
It is not needed anymore since switching to refcounted frames.

libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_picture.c
libavcodec/h264_slice.c

index ec8ac40..266b3ec 100644 (file)
@@ -359,9 +359,6 @@ void ff_h264_free_tables(H264Context *h, int free_rbsp)
         for (i = 0; i < H264_MAX_PICTURE_COUNT; i++)
             ff_h264_unref_picture(h, &h->DPB[i]);
         av_freep(&h->DPB);
-    } else if (h->DPB) {
-        for (i = 0; i < H264_MAX_PICTURE_COUNT; i++)
-            h->DPB[i].needs_realloc = 1;
     }
 
     h->cur_pic_ptr = NULL;
index 94fc029..fc2ee4b 100644 (file)
@@ -292,7 +292,6 @@ typedef struct H264Picture {
     int mbaff;              ///< 1 -> MBAFF frame 0-> not MBAFF
     int field_picture;      ///< whether or not picture was encoded in separate fields
 
-    int needs_realloc;      ///< picture needs to be reallocated (eg due to a frame size change)
     int reference;
     int recovered;          ///< picture at IDR or recovery point + recovery count
 } H264Picture;
index 694ddb9..0263e6e 100644 (file)
@@ -113,7 +113,6 @@ int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src)
     dst->long_ref      = src->long_ref;
     dst->mbaff         = src->mbaff;
     dst->field_picture = src->field_picture;
-    dst->needs_realloc = src->needs_realloc;
     dst->reference     = src->reference;
     dst->recovered     = src->recovered;
 
index 16d5878..d5c0a6f 100644 (file)
@@ -273,8 +273,6 @@ static inline int pic_is_unused(H264Context *h, H264Picture *pic)
 {
     if (!pic->f.buf[0])
         return 1;
-    if (pic->needs_realloc && !(pic->reference & DELAYED_PIC_REF))
-        return 1;
     return 0;
 }
 
@@ -289,11 +287,6 @@ static int find_unused_picture(H264Context *h)
     if (i == H264_MAX_PICTURE_COUNT)
         return AVERROR_INVALIDDATA;
 
-    if (h->DPB[i].needs_realloc) {
-        h->DPB[i].needs_realloc = 0;
-        ff_h264_unref_picture(h, &h->DPB[i]);
-    }
-
     return i;
 }