[FFmpeg-devel] [PATCH 1/2] lavc/h264dsp: remove MMI 8-bit chroma DC dequant

Rémi Denis-Courmont remi at remlab.net
Sun Jul 7 14:44:47 EEST 2024


The function is exactly identical to the C reference, only with the
constant propagated manually. It does not optimise anything.
---
 libavcodec/mips/h264dsp_init_mips.c |  5 +----
 libavcodec/mips/h264dsp_mips.h      |  1 -
 libavcodec/mips/h264dsp_mmi.c       | 14 --------------
 3 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/libavcodec/mips/h264dsp_init_mips.c b/libavcodec/mips/h264dsp_init_mips.c
index e33df32c71..615b00d142 100644
--- a/libavcodec/mips/h264dsp_init_mips.c
+++ b/libavcodec/mips/h264dsp_init_mips.c
@@ -46,10 +46,7 @@ av_cold void ff_h264dsp_init_mips(H264DSPContext *c, const int bit_depth,
 
             c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_8_mmi;
 
-            if (chroma_format_idc <= 1)
-                c->h264_chroma_dc_dequant_idct =
-                    ff_h264_chroma_dc_dequant_idct_8_mmi;
-            else
+            if (chroma_format_idc > 1)
                 c->h264_chroma_dc_dequant_idct =
                     ff_h264_chroma422_dc_dequant_idct_8_mmi;
 
diff --git a/libavcodec/mips/h264dsp_mips.h b/libavcodec/mips/h264dsp_mips.h
index 93a201c66a..7e1dcdd013 100644
--- a/libavcodec/mips/h264dsp_mips.h
+++ b/libavcodec/mips/h264dsp_mips.h
@@ -340,7 +340,6 @@ void ff_h264_idct_add8_422_8_mmi(uint8_t **dest, const int *block_offset,
         int16_t *block, int stride, const uint8_t nnzc[15*8]);
 void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input,
         int qmul);
-void ff_h264_chroma_dc_dequant_idct_8_mmi(int16_t *block, int qmul);
 void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul);
 
 void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height,
diff --git a/libavcodec/mips/h264dsp_mmi.c b/libavcodec/mips/h264dsp_mmi.c
index dff3d331b1..1ee8ca2f1c 100644
--- a/libavcodec/mips/h264dsp_mmi.c
+++ b/libavcodec/mips/h264dsp_mmi.c
@@ -1117,20 +1117,6 @@ void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul)
     block[112]= (t[7]*qmul + 128) >> 8;
 }
 
-void ff_h264_chroma_dc_dequant_idct_8_mmi(int16_t *block, int qmul)
-{
-    int a,b,c,d;
-
-    d = block[0] - block[16];
-    a = block[0] + block[16];
-    b = block[32] - block[48];
-    c = block[32] + block[48];
-    block[0] = ((a+c)*qmul) >> 7;
-    block[16]= ((d+b)*qmul) >> 7;
-    block[32]= ((a-c)*qmul) >> 7;
-    block[48]= ((d-b)*qmul) >> 7;
-}
-
 void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height,
         int log2_denom, int weight, int offset)
 {
-- 
2.45.2



More information about the ffmpeg-devel mailing list