mirror of https://git.ffmpeg.org/ffmpeg.git
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.
This commit is contained in:
parent
a194131cb6
commit
8b3d997bed
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue