[libav-devel] [PATCH 04/10] h264: use private H264_MAX_PICTURE_COUNT

2014-03-01 Thread Vittorio Giovara
---
 libavcodec/h264.c| 22 +++---
 libavcodec/h264.h|  2 ++
 libavcodec/h264_ps.c |  2 +-
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 51db23b..09f36aa 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -279,7 +279,7 @@ static void release_unused_pictures(H264Context *h, int 
remove_current)
 int i;
 
 /* release non reference frames */
-for (i = 0; i  MAX_PICTURE_COUNT; i++) {
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++) {
 if (h-DPB[i].f.buf[0]  !h-DPB[i].reference 
 (remove_current || h-DPB[i] != h-cur_pic_ptr)) {
 unref_picture(h, h-DPB[i]);
@@ -467,11 +467,11 @@ static int find_unused_picture(H264Context *h)
 {
 int i;
 
-for (i = 0; i  MAX_PICTURE_COUNT; i++) {
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++) {
 if (pic_is_unused(h, h-DPB[i]))
 break;
 }
-if (i == MAX_PICTURE_COUNT)
+if (i == H264_MAX_PICTURE_COUNT)
 return AVERROR_INVALIDDATA;
 
 if (h-DPB[i].needs_realloc) {
@@ -1185,11 +1185,11 @@ static void free_tables(H264Context *h, int free_rbsp)
 av_buffer_pool_uninit(h-ref_index_pool);
 
 if (free_rbsp  h-DPB) {
-for (i = 0; i  MAX_PICTURE_COUNT; i++)
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++)
 unref_picture(h, h-DPB[i]);
 av_freep(h-DPB);
 } else if (h-DPB) {
-for (i = 0; i  MAX_PICTURE_COUNT; i++)
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++)
 h-DPB[i].needs_realloc = 1;
 }
 
@@ -1338,10 +1338,10 @@ int ff_h264_alloc_tables(H264Context *h)
 init_dequant_tables(h);
 
 if (!h-DPB) {
-h-DPB = av_mallocz_array(MAX_PICTURE_COUNT, sizeof(*h-DPB));
+h-DPB = av_mallocz_array(H264_MAX_PICTURE_COUNT, sizeof(*h-DPB));
 if (!h-DPB)
 return AVERROR(ENOMEM);
-for (i = 0; i  MAX_PICTURE_COUNT; i++)
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++)
 av_frame_unref(h-DPB[i].f);
 av_frame_unref(h-cur_pic.f);
 }
@@ -1595,7 +1595,7 @@ av_cold int ff_h264_decode_init(AVCodecContext *avctx)
 #undef REBASE_PICTURE
 #define REBASE_PICTURE(pic, new_ctx, old_ctx) \
 ((pic  pic = old_ctx-DPB\
-  pic  old_ctx-DPB + MAX_PICTURE_COUNT) ?   \
+  pic  old_ctx-DPB + H264_MAX_PICTURE_COUNT) ?   \
  new_ctx-DPB[pic - old_ctx-DPB] : NULL)
 
 static void copy_picture_range(H264Picture **to, H264Picture **from, int count,
@@ -1607,7 +1607,7 @@ static void copy_picture_range(H264Picture **to, 
H264Picture **from, int count,
 for (i = 0; i  count; i++) {
 assert((IN_RANGE(from[i], old_base, sizeof(*old_base)) ||
 IN_RANGE(from[i], old_base-DPB,
- sizeof(H264Picture) * MAX_PICTURE_COUNT) ||
+ sizeof(H264Picture) * H264_MAX_PICTURE_COUNT) ||
 !from[i]));
 to[i] = REBASE_PICTURE(from[i], new_base, old_base);
 }
@@ -1767,7 +1767,7 @@ static int decode_update_thread_context(AVCodecContext 
*dst,
 h-droppable= h1-droppable;
 h-low_delay= h1-low_delay;
 
-for (i = 0; i  MAX_PICTURE_COUNT; i++) {
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++) {
 unref_picture(h, h-DPB[i]);
 if (h1-DPB[i].f.buf[0] 
 (ret = ref_picture(h, h-DPB[i], h1-DPB[i]))  0)
@@ -2801,7 +2801,7 @@ static void flush_dpb(AVCodecContext *avctx)
 flush_change(h);
 
 if (h-DPB)
-for (i = 0; i  MAX_PICTURE_COUNT; i++)
+for (i = 0; i  H264_MAX_PICTURE_COUNT; i++)
 unref_picture(h, h-DPB[i]);
 h-cur_pic_ptr = NULL;
 unref_picture(h, h-cur_pic);
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 4082cfb..d6fba51 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -39,6 +39,8 @@
 #include h264qpel.h
 #include rectangle.h
 
+#define H264_MAX_PICTURE_COUNT 32
+
 #define MAX_SPS_COUNT  32
 #define MAX_PPS_COUNT 256
 
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index 94efaa2..b5b6a44 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -400,7 +400,7 @@ int ff_h264_decode_seq_parameter_set(H264Context *h)
 }
 
 sps-ref_frame_count = get_ue_golomb_31(h-gb);
-if (sps-ref_frame_count  MAX_PICTURE_COUNT - 2 ||
+if (sps-ref_frame_count  H264_MAX_PICTURE_COUNT - 2 ||
 sps-ref_frame_count = 32U) {
 av_log(h-avctx, AV_LOG_ERROR,
too many reference frames %d\n, sps-ref_frame_count);
-- 
1.8.3.4 (Apple Git-47)

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Re: [libav-devel] [PATCH 04/10] h264: use private H264_MAX_PICTURE_COUNT

2014-03-01 Thread Luca Barbato
On 01/03/14 18:22, Vittorio Giovara wrote:
 ---
  libavcodec/h264.c| 22 +++---
  libavcodec/h264.h|  2 ++
  libavcodec/h264_ps.c |  2 +-
  3 files changed, 14 insertions(+), 12 deletions(-)
 

Ok.

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Re: [libav-devel] [PATCH 04/10] h264: use private H264_MAX_PICTURE_COUNT

2014-03-01 Thread Diego Biurrun
On Sat, Mar 01, 2014 at 06:22:08PM +0100, Vittorio Giovara wrote:
 ---
  libavcodec/h264.c| 22 +++---
  libavcodec/h264.h|  2 ++
  libavcodec/h264_ps.c |  2 +-
  3 files changed, 14 insertions(+), 12 deletions(-)

h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define

Your original log message left me wondering what the patch
would do ..

Diego
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel