[libav-devel] [PATCH 06/12] h264: Replace mpegvideo-specific MAX_THREADS by private define

Vittorio Giovara vittorio.giovara at gmail.com
Fri Mar 7 11:56:27 CET 2014


---
 libavcodec/h264.c | 8 ++++----
 libavcodec/h264.h | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 90b5b73..d676fb9 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1195,7 +1195,7 @@ static void free_tables(H264Context *h, int free_rbsp)
 
     h->cur_pic_ptr = NULL;
 
-    for (i = 0; i < MAX_THREADS; i++) {
+    for (i = 0; i < H264_MAX_THREADS; i++) {
         hx = h->thread_context[i];
         if (!hx)
             continue;
@@ -3222,12 +3222,12 @@ static int h264_slice_header_init(H264Context *h, int reinit)
         return ret;
     }
 
-    if (nb_slices > MAX_THREADS || (nb_slices > h->mb_height && h->mb_height)) {
+    if (nb_slices > H264_MAX_THREADS || (nb_slices > h->mb_height && h->mb_height)) {
         int max_slices;
         if (h->mb_height)
-            max_slices = FFMIN(MAX_THREADS, h->mb_height);
+            max_slices = FFMIN(H264_MAX_THREADS, h->mb_height);
         else
-            max_slices = MAX_THREADS;
+            max_slices = H264_MAX_THREADS;
         av_log(h->avctx, AV_LOG_WARNING, "too many threads/slices %d,"
                " reducing to %d\n", nb_slices, max_slices);
         nb_slices = max_slices;
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index d6fba51..0529c7f 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -40,6 +40,7 @@
 #include "rectangle.h"
 
 #define H264_MAX_PICTURE_COUNT 32
+#define H264_MAX_THREADS       16
 
 #define MAX_SPS_COUNT          32
 #define MAX_PPS_COUNT         256
@@ -580,7 +581,7 @@ typedef struct H264Context {
      * @name Members for slice based multithreading
      * @{
      */
-    struct H264Context *thread_context[MAX_THREADS];
+    struct H264Context *thread_context[H264_MAX_THREADS];
 
     /**
      * current slice number, used to initalize slice_num of each thread/context
-- 
1.8.3.4 (Apple Git-47)



More information about the libav-devel mailing list