diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2024-07-07 14:39:11 +0300 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2024-07-14 11:39:35 +0300 |
commit | 8b3d997bede0e065f19bcaa96f99dfa9978fd181 (patch) | |
tree | e487d2c3b174f793d42aa2e3c0e3a72dd8ec70bc | |
parent | a194131cb6adb6d5f2156e785f1bf859d9449def (diff) | |
download | ffmpeg-8b3d997bede0e065f19bcaa96f99dfa9978fd181.tar.gz |
lavc/h264dsp: remove MMI 8-bit 4:2:2 chroma DC dequant
The function is exactly identical to the C reference, only with the
constant propagated and the loop unrolled manually.
-rw-r--r-- | libavcodec/mips/h264dsp_init_mips.c | 4 | ||||
-rw-r--r-- | libavcodec/mips/h264dsp_mips.h | 1 | ||||
-rw-r--r-- | libavcodec/mips/h264dsp_mmi.c | 33 |
3 files changed, 0 insertions, 38 deletions
diff --git a/libavcodec/mips/h264dsp_init_mips.c b/libavcodec/mips/h264dsp_init_mips.c index 615b00d142..72f42895e8 100644 --- a/libavcodec/mips/h264dsp_init_mips.c +++ b/libavcodec/mips/h264dsp_init_mips.c @@ -46,10 +46,6 @@ 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_chroma422_dc_dequant_idct_8_mmi; - c->weight_h264_pixels_tab[0] = ff_h264_weight_pixels16_8_mmi; c->weight_h264_pixels_tab[1] = ff_h264_weight_pixels8_8_mmi; c->weight_h264_pixels_tab[2] = ff_h264_weight_pixels4_8_mmi; diff --git a/libavcodec/mips/h264dsp_mips.h b/libavcodec/mips/h264dsp_mips.h index 7e1dcdd013..4a2a2c2559 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_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, int log2_denom, int weight, int offset); diff --git a/libavcodec/mips/h264dsp_mmi.c b/libavcodec/mips/h264dsp_mmi.c index 1ee8ca2f1c..bae1052dcf 100644 --- a/libavcodec/mips/h264dsp_mmi.c +++ b/libavcodec/mips/h264dsp_mmi.c @@ -1084,39 +1084,6 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, ); } -void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul) -{ - int temp[8]; - int t[8]; - - temp[0] = block[0] + block[16]; - temp[1] = block[0] - block[16]; - temp[2] = block[32] + block[48]; - temp[3] = block[32] - block[48]; - temp[4] = block[64] + block[80]; - temp[5] = block[64] - block[80]; - temp[6] = block[96] + block[112]; - temp[7] = block[96] - block[112]; - - t[0] = temp[0] + temp[4] + temp[2] + temp[6]; - t[1] = temp[0] - temp[4] + temp[2] - temp[6]; - t[2] = temp[0] - temp[4] - temp[2] + temp[6]; - t[3] = temp[0] + temp[4] - temp[2] - temp[6]; - t[4] = temp[1] + temp[5] + temp[3] + temp[7]; - t[5] = temp[1] - temp[5] + temp[3] - temp[7]; - t[6] = temp[1] - temp[5] - temp[3] + temp[7]; - t[7] = temp[1] + temp[5] - temp[3] - temp[7]; - - block[ 0]= (t[0]*qmul + 128) >> 8; - block[ 32]= (t[1]*qmul + 128) >> 8; - block[ 64]= (t[2]*qmul + 128) >> 8; - block[ 96]= (t[3]*qmul + 128) >> 8; - block[ 16]= (t[4]*qmul + 128) >> 8; - block[ 48]= (t[5]*qmul + 128) >> 8; - block[ 80]= (t[6]*qmul + 128) >> 8; - block[112]= (t[7]*qmul + 128) >> 8; -} - void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, int log2_denom, int weight, int offset) { |