From 27b0e6ebfd47b0c11156c18b90fa8c571f0f60c3 Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton@khirnov.net>
Date: Tue, 31 Mar 2015 10:10:42 +0200
Subject: [PATCH] h264: drop needs_realloc

It is not needed anymore since switching to refcounted frames.
---
 libavcodec/h264.c         | 3 ---
 libavcodec/h264.h         | 1 -
 libavcodec/h264_picture.c | 1 -
 libavcodec/h264_slice.c   | 7 -------
 4 files changed, 12 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index ec8ac40913f..266b3ec93a2 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -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;
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 94fc029ab9d..fc2ee4bb09f 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -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;
diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c
index 694ddb9c8f2..0263e6eed4e 100644
--- a/libavcodec/h264_picture.c
+++ b/libavcodec/h264_picture.c
@@ -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;
 
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 16d5878fe14..d5c0a6fa298 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -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;
 }
 
-- 
GitLab