[FFmpeg-cvslog] lavc/huffyuvdsp: only transmit the pix_fmt instead of the whole avctx

Clément Bœsch git at videolan.org
Wed Mar 22 17:23:08 EET 2017


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Wed Mar 22 16:21:20 2017 +0100| [af607b7e0787a8d3af418ed2a03c48669ba3397c] | committer: Clément Bœsch

lavc/huffyuvdsp: only transmit the pix_fmt instead of the whole avctx

Only the pixel format is required in that init function. This will also
simplify the incoming merge.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=af607b7e0787a8d3af418ed2a03c48669ba3397c
---

 libavcodec/huffyuvdec.c          | 2 +-
 libavcodec/huffyuvdsp.c          | 4 ++--
 libavcodec/huffyuvdsp.h          | 6 +++---
 libavcodec/x86/huffyuvdsp_init.c | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index c68eadd..5572b98 100644
--- a/libavcodec/huffyuvdec.c
+++ b/libavcodec/huffyuvdec.c
@@ -297,7 +297,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     if (ret < 0)
         return ret;
 
-    ff_huffyuvdsp_init(&s->hdsp, avctx);
+    ff_huffyuvdsp_init(&s->hdsp, avctx->pix_fmt);
     ff_llviddsp_init(&s->llviddsp);
     memset(s->vlc, 0, 4 * sizeof(VLC));
 
diff --git a/libavcodec/huffyuvdsp.c b/libavcodec/huffyuvdsp.c
index e770923..7b865fe 100644
--- a/libavcodec/huffyuvdsp.c
+++ b/libavcodec/huffyuvdsp.c
@@ -80,12 +80,12 @@ static void add_hfyu_left_pred_bgr32_c(uint8_t *dst, const uint8_t *src,
     left[A] = a;
 }
 
-av_cold void ff_huffyuvdsp_init(HuffYUVDSPContext *c, AVCodecContext *avctx)
+av_cold void ff_huffyuvdsp_init(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt)
 {
     c->add_int16 = add_int16_c;
     c->add_hfyu_median_pred_int16 = add_hfyu_median_pred_int16_c;
     c->add_hfyu_left_pred_bgr32 = add_hfyu_left_pred_bgr32_c;
 
     if (ARCH_X86)
-        ff_huffyuvdsp_init_x86(c, avctx);
+        ff_huffyuvdsp_init_x86(c, pix_fmt);
 }
diff --git a/libavcodec/huffyuvdsp.h b/libavcodec/huffyuvdsp.h
index f9af09e..e5f5b05 100644
--- a/libavcodec/huffyuvdsp.h
+++ b/libavcodec/huffyuvdsp.h
@@ -20,8 +20,8 @@
 #define AVCODEC_HUFFYUVDSP_H
 
 #include <stdint.h>
+#include "libavutil/pixfmt.h"
 #include "config.h"
-#include "avcodec.h"
 
 #if HAVE_BIGENDIAN
 #define B 3
@@ -46,7 +46,7 @@ typedef struct HuffYUVDSPContext {
                                      intptr_t w, uint8_t *left);
 } HuffYUVDSPContext;
 
-void ff_huffyuvdsp_init(HuffYUVDSPContext *c, AVCodecContext *avctx);
-void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, AVCodecContext *avctx);
+void ff_huffyuvdsp_init(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt);
+void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt);
 
 #endif /* AVCODEC_HUFFYUVDSP_H */
diff --git a/libavcodec/x86/huffyuvdsp_init.c b/libavcodec/x86/huffyuvdsp_init.c
index f72d759..26cf621 100644
--- a/libavcodec/x86/huffyuvdsp_init.c
+++ b/libavcodec/x86/huffyuvdsp_init.c
@@ -34,10 +34,10 @@ void ff_add_hfyu_left_pred_bgr32_sse2(uint8_t *dst, const uint8_t *src,
                                       intptr_t w, uint8_t *left);
 void ff_add_hfyu_median_pred_int16_mmxext(uint16_t *dst, const uint16_t *top, const uint16_t *diff, unsigned mask, int w, int *left, int *left_top);
 
-av_cold void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, AVCodecContext *avctx)
+av_cold void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt)
 {
     int cpu_flags = av_get_cpu_flags();
-    const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(avctx->pix_fmt);
+    const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(pix_fmt);
 
     if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) {
         c->add_hfyu_left_pred_bgr32 = ff_add_hfyu_left_pred_bgr32_mmx;



More information about the ffmpeg-cvslog mailing list