diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-14 12:34:30 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-14 12:34:30 +0100 |
commit | a1b5c9634e87160251fd41635beb01da157cf00c (patch) | |
tree | a62b214125e71d0f6a0a7ce910100a3641cc010e /libavcodec/x86/h264dsp_init.c | |
parent | b0c543b1deba77647911be159b013760b5d05db3 (diff) | |
parent | 26301caaa1aec5d71b564bff452147d6183370bf (diff) |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
x86: mmx2 ---> mmxext in asm constructs
Conflicts:
libavcodec/x86/h264_chromamc_10bit.asm
libavcodec/x86/h264_deblock.asm
libavcodec/x86/h264dsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/h264dsp_init.c')
-rw-r--r-- | libavcodec/x86/h264dsp_init.c | 107 |
1 files changed, 54 insertions, 53 deletions
diff --git a/libavcodec/x86/h264dsp_init.c b/libavcodec/x86/h264dsp_init.c index 96fafbe04b..3640495725 100644 --- a/libavcodec/x86/h264dsp_init.c +++ b/libavcodec/x86/h264dsp_init.c @@ -33,9 +33,9 @@ void ff_h264_idct ## NUM ## _add_ ## DEPTH ## _ ## OPT(uint8_t *dst, \ IDCT_ADD_FUNC(, 8, mmx) IDCT_ADD_FUNC(, 10, sse2) -IDCT_ADD_FUNC(_dc, 8, mmx2) -IDCT_ADD_FUNC(_dc, 10, mmx2) -IDCT_ADD_FUNC(8_dc, 8, mmx2) +IDCT_ADD_FUNC(_dc, 8, mmxext) +IDCT_ADD_FUNC(_dc, 10, mmxext) +IDCT_ADD_FUNC(8_dc, 8, mmxext) IDCT_ADD_FUNC(8_dc, 10, sse2) IDCT_ADD_FUNC(8, 8, mmx) IDCT_ADD_FUNC(8, 8, sse2) @@ -51,16 +51,16 @@ void ff_h264_idct ## NUM ## _add ## REP ## _ ## DEPTH ## _ ## OPT \ DCTELEM *block, int stride, const uint8_t nnzc[6 * 8]); IDCT_ADD_REP_FUNC(8, 4, 8, mmx) -IDCT_ADD_REP_FUNC(8, 4, 8, mmx2) +IDCT_ADD_REP_FUNC(8, 4, 8, mmxext) IDCT_ADD_REP_FUNC(8, 4, 8, sse2) IDCT_ADD_REP_FUNC(8, 4, 10, sse2) IDCT_ADD_REP_FUNC(8, 4, 10, avx) IDCT_ADD_REP_FUNC(, 16, 8, mmx) -IDCT_ADD_REP_FUNC(, 16, 8, mmx2) +IDCT_ADD_REP_FUNC(, 16, 8, mmxext) IDCT_ADD_REP_FUNC(, 16, 8, sse2) IDCT_ADD_REP_FUNC(, 16, 10, sse2) IDCT_ADD_REP_FUNC(, 16intra, 8, mmx) -IDCT_ADD_REP_FUNC(, 16intra, 8, mmx2) +IDCT_ADD_REP_FUNC(, 16intra, 8, mmxext) IDCT_ADD_REP_FUNC(, 16intra, 8, sse2) IDCT_ADD_REP_FUNC(, 16intra, 10, sse2) IDCT_ADD_REP_FUNC(, 16, 10, avx) @@ -73,7 +73,7 @@ void ff_h264_idct ## NUM ## _add ## REP ## _ ## DEPTH ## _ ## OPT \ DCTELEM *block, int stride, const uint8_t nnzc[6 * 8]); IDCT_ADD_REP_FUNC2(, 8, 8, mmx) -IDCT_ADD_REP_FUNC2(, 8, 8, mmx2) +IDCT_ADD_REP_FUNC2(, 8, 8, mmxext) IDCT_ADD_REP_FUNC2(, 8, 8, sse2) IDCT_ADD_REP_FUNC2(, 8, 10, sse2) IDCT_ADD_REP_FUNC2(, 8, 10, avx) @@ -84,10 +84,11 @@ void ff_h264_luma_dc_dequant_idct_sse2(DCTELEM *output, DCTELEM *input, int qmul /***********************************/ /* deblocking */ -void ff_h264_loop_filter_strength_mmx2(int16_t bS[2][4][4], uint8_t nnz[40], - int8_t ref[2][40], int16_t mv[2][40][2], - int bidir, int edges, int step, - int mask_mv0, int mask_mv1, int field); +void ff_h264_loop_filter_strength_mmxext(int16_t bS[2][4][4], uint8_t nnz[40], + int8_t ref[2][40], + int16_t mv[2][40][2], + int bidir, int edges, int step, + int mask_mv0, int mask_mv1, int field); #define LF_FUNC(DIR, TYPE, DEPTH, OPT) \ void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT(uint8_t *pix, \ @@ -102,12 +103,12 @@ void ff_deblock_ ## DIR ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT(uint8_t *pix, \ int beta); #define LF_FUNCS(type, depth) \ -LF_FUNC(h, chroma, depth, mmx2) \ -LF_IFUNC(h, chroma_intra, depth, mmx2) \ -LF_FUNC(v, chroma, depth, mmx2) \ -LF_IFUNC(v, chroma_intra, depth, mmx2) \ -LF_FUNC(h, luma, depth, mmx2) \ -LF_IFUNC(h, luma_intra, depth, mmx2) \ +LF_FUNC(h, chroma, depth, mmxext) \ +LF_IFUNC(h, chroma_intra, depth, mmxext) \ +LF_FUNC(v, chroma, depth, mmxext) \ +LF_IFUNC(v, chroma_intra, depth, mmxext) \ +LF_FUNC(h, luma, depth, mmxext) \ +LF_IFUNC(h, luma_intra, depth, mmxext) \ LF_FUNC(h, luma, depth, sse2) \ LF_IFUNC(h, luma_intra, depth, sse2) \ LF_FUNC(v, luma, depth, sse2) \ @@ -129,26 +130,26 @@ LF_FUNCS(uint8_t, 8) LF_FUNCS(uint16_t, 10) #if ARCH_X86_32 && HAVE_YASM -LF_FUNC(v8, luma, 8, mmx2) +LF_FUNC(v8, luma, 8, mmxext) static void ff_deblock_v_luma_8_mmxext(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0) { if ((tc0[0] & tc0[1]) >= 0) - ff_deblock_v8_luma_8_mmx2(pix + 0, stride, alpha, beta, tc0); + ff_deblock_v8_luma_8_mmxext(pix + 0, stride, alpha, beta, tc0); if ((tc0[2] & tc0[3]) >= 0) - ff_deblock_v8_luma_8_mmx2(pix + 8, stride, alpha, beta, tc0 + 2); + ff_deblock_v8_luma_8_mmxext(pix + 8, stride, alpha, beta, tc0 + 2); } -LF_IFUNC(v8, luma_intra, 8, mmx2) +LF_IFUNC(v8, luma_intra, 8, mmxext) static void ff_deblock_v_luma_intra_8_mmxext(uint8_t *pix, int stride, int alpha, int beta) { - ff_deblock_v8_luma_intra_8_mmx2(pix + 0, stride, alpha, beta); - ff_deblock_v8_luma_intra_8_mmx2(pix + 8, stride, alpha, beta); + ff_deblock_v8_luma_intra_8_mmxext(pix + 0, stride, alpha, beta); + ff_deblock_v8_luma_intra_8_mmxext(pix + 8, stride, alpha, beta); } #endif /* ARCH_X86_32 */ -LF_FUNC(v, luma, 10, mmx2) -LF_IFUNC(v, luma_intra, 10, mmx2) +LF_FUNC(v, luma, 10, mmxext) +LF_IFUNC(v, luma_intra, 10, mmxext) /***********************************/ /* weighted prediction */ @@ -165,8 +166,8 @@ void ff_h264_biweight_ ## W ## _ ## OPT(uint8_t *dst, uint8_t *src, \ int weights, int offset); #define H264_BIWEIGHT_MMX(W) \ - H264_WEIGHT(W, mmx2) \ - H264_BIWEIGHT(W, mmx2) + H264_WEIGHT(W, mmxext) \ + H264_BIWEIGHT(W, mmxext) #define H264_BIWEIGHT_MMX_SSE(W) \ H264_BIWEIGHT_MMX(W) \ @@ -213,7 +214,7 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, int mm_flags = av_get_cpu_flags(); if (chroma_format_idc == 1 && EXTERNAL_MMXEXT(mm_flags)) - c->h264_loop_filter_strength = ff_h264_loop_filter_strength_mmx2; + c->h264_loop_filter_strength = ff_h264_loop_filter_strength_mmxext; if (bit_depth == 8) { if (EXTERNAL_MMX(mm_flags)) { @@ -231,33 +232,33 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, c->h264_luma_dc_dequant_idct = ff_h264_luma_dc_dequant_idct_mmx; if (EXTERNAL_MMXEXT(mm_flags)) { - c->h264_idct_dc_add = ff_h264_idct_dc_add_8_mmx2; - c->h264_idct8_dc_add = ff_h264_idct8_dc_add_8_mmx2; - c->h264_idct_add16 = ff_h264_idct_add16_8_mmx2; - c->h264_idct8_add4 = ff_h264_idct8_add4_8_mmx2; + c->h264_idct_dc_add = ff_h264_idct_dc_add_8_mmxext; + c->h264_idct8_dc_add = ff_h264_idct8_dc_add_8_mmxext; + c->h264_idct_add16 = ff_h264_idct_add16_8_mmxext; + c->h264_idct8_add4 = ff_h264_idct8_add4_8_mmxext; if (chroma_format_idc == 1) - c->h264_idct_add8 = ff_h264_idct_add8_8_mmx2; - c->h264_idct_add16intra = ff_h264_idct_add16intra_8_mmx2; + c->h264_idct_add8 = ff_h264_idct_add8_8_mmxext; + c->h264_idct_add16intra = ff_h264_idct_add16intra_8_mmxext; - c->h264_v_loop_filter_chroma = ff_deblock_v_chroma_8_mmx2; - c->h264_v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_mmx2; + c->h264_v_loop_filter_chroma = ff_deblock_v_chroma_8_mmxext; + c->h264_v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_8_mmxext; if (chroma_format_idc == 1) { - c->h264_h_loop_filter_chroma = ff_deblock_h_chroma_8_mmx2; - c->h264_h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_mmx2; + c->h264_h_loop_filter_chroma = ff_deblock_h_chroma_8_mmxext; + c->h264_h_loop_filter_chroma_intra = ff_deblock_h_chroma_intra_8_mmxext; } #if ARCH_X86_32 c->h264_v_loop_filter_luma = ff_deblock_v_luma_8_mmxext; - c->h264_h_loop_filter_luma = ff_deblock_h_luma_8_mmx2; + c->h264_h_loop_filter_luma = ff_deblock_h_luma_8_mmxext; c->h264_v_loop_filter_luma_intra = ff_deblock_v_luma_intra_8_mmxext; - c->h264_h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_mmx2; + c->h264_h_loop_filter_luma_intra = ff_deblock_h_luma_intra_8_mmxext; #endif /* ARCH_X86_32 */ - c->weight_h264_pixels_tab[0] = ff_h264_weight_16_mmx2; - c->weight_h264_pixels_tab[1] = ff_h264_weight_8_mmx2; - c->weight_h264_pixels_tab[2] = ff_h264_weight_4_mmx2; + c->weight_h264_pixels_tab[0] = ff_h264_weight_16_mmxext; + c->weight_h264_pixels_tab[1] = ff_h264_weight_8_mmxext; + c->weight_h264_pixels_tab[2] = ff_h264_weight_4_mmxext; - c->biweight_h264_pixels_tab[0] = ff_h264_biweight_16_mmx2; - c->biweight_h264_pixels_tab[1] = ff_h264_biweight_8_mmx2; - c->biweight_h264_pixels_tab[2] = ff_h264_biweight_4_mmx2; + c->biweight_h264_pixels_tab[0] = ff_h264_biweight_16_mmxext; + c->biweight_h264_pixels_tab[1] = ff_h264_biweight_8_mmxext; + c->biweight_h264_pixels_tab[2] = ff_h264_biweight_4_mmxext; if (EXTERNAL_SSE2(mm_flags)) { c->h264_idct8_add = ff_h264_idct8_add_8_sse2; @@ -298,14 +299,14 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth, if (EXTERNAL_MMX(mm_flags)) { if (EXTERNAL_MMXEXT(mm_flags)) { #if ARCH_X86_32 - c->h264_v_loop_filter_chroma = ff_deblock_v_chroma_10_mmx2; - c->h264_v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_mmx2; - c->h264_v_loop_filter_luma = ff_deblock_v_luma_10_mmx2; - c->h264_h_loop_filter_luma = ff_deblock_h_luma_10_mmx2; - c->h264_v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_mmx2; - c->h264_h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_mmx2; + c->h264_v_loop_filter_chroma = ff_deblock_v_chroma_10_mmxext; + c->h264_v_loop_filter_chroma_intra = ff_deblock_v_chroma_intra_10_mmxext; + c->h264_v_loop_filter_luma = ff_deblock_v_luma_10_mmxext; + c->h264_h_loop_filter_luma = ff_deblock_h_luma_10_mmxext; + c->h264_v_loop_filter_luma_intra = ff_deblock_v_luma_intra_10_mmxext; + c->h264_h_loop_filter_luma_intra = ff_deblock_h_luma_intra_10_mmxext; #endif /* ARCH_X86_32 */ - c->h264_idct_dc_add = ff_h264_idct_dc_add_10_mmx2; + c->h264_idct_dc_add = ff_h264_idct_dc_add_10_mmxext; if (EXTERNAL_SSE2(mm_flags)) { c->h264_idct_add = ff_h264_idct_add_10_sse2; c->h264_idct8_dc_add = ff_h264_idct8_dc_add_10_sse2; |