summaryrefslogtreecommitdiff
path: root/libavcodec/x86/h264dsp_mmx.c
diff options
context:
space:
mode:
authorJason Garrett-Glaser <jason@x264.com>2011-05-11 10:11:55 -0700
committerJason Garrett-Glaser <jason@x264.com>2011-05-11 11:09:10 -0700
commit5705b02079449c685a3dd337fcc3a8b440dca4a0 (patch)
tree90a5b9249e3279ec53b16d1fde0aed962456b9e5 /libavcodec/x86/h264dsp_mmx.c
parent9aa91043f30cee1419555c0e299c94e655b0930a (diff)
10-bit H.264 x86 chroma v loopfilter asm
Also delete some unused deblock asm macros.
Diffstat (limited to 'libavcodec/x86/h264dsp_mmx.c')
-rw-r--r--libavcodec/x86/h264dsp_mmx.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c
index 42dae93f2d..01b11163c8 100644
--- a/libavcodec/x86/h264dsp_mmx.c
+++ b/libavcodec/x86/h264dsp_mmx.c
@@ -236,10 +236,18 @@ LF_FUNC (h, luma, depth, sse2)\
LF_IFUNC(h, luma_intra, depth, sse2)\
LF_FUNC (v, luma, depth, sse2)\
LF_IFUNC(v, luma_intra, depth, sse2)\
+LF_FUNC (h, chroma, depth, sse2)\
+LF_IFUNC(h, chroma_intra, depth, sse2)\
+LF_FUNC (v, chroma, depth, sse2)\
+LF_IFUNC(v, chroma_intra, depth, sse2)\
LF_FUNC (h, luma, depth, avx)\
LF_IFUNC(h, luma_intra, depth, avx)\
LF_FUNC (v, luma, depth, avx)\
-LF_IFUNC(v, luma_intra, depth, avx)
+LF_IFUNC(v, luma_intra, depth, avx)\
+LF_FUNC (h, chroma, depth, avx)\
+LF_IFUNC(h, chroma_intra, depth, avx)\
+LF_FUNC (v, chroma, depth, avx)\
+LF_IFUNC(v, chroma_intra, depth, avx)
LF_FUNCS( uint8_t, 8)
LF_FUNCS(uint16_t, 10)
@@ -401,12 +409,16 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth)
if (mm_flags & AV_CPU_FLAG_MMX) {
if (mm_flags & AV_CPU_FLAG_MMX2) {
#if ARCH_X86_32
+ 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
if (mm_flags&AV_CPU_FLAG_SSE2) {
+ c->h264_v_loop_filter_chroma= ff_deblock_v_chroma_10_sse2;
+ c->h264_v_loop_filter_chroma_intra= ff_deblock_v_chroma_intra_10_sse2;
#if HAVE_ALIGNED_STACK
c->h264_v_loop_filter_luma = ff_deblock_v_luma_10_sse2;
c->h264_h_loop_filter_luma = ff_deblock_h_luma_10_sse2;
@@ -415,6 +427,8 @@ void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth)
#endif
}
if (mm_flags&AV_CPU_FLAG_AVX) {
+ c->h264_v_loop_filter_chroma= ff_deblock_v_chroma_10_avx;
+ c->h264_v_loop_filter_chroma_intra= ff_deblock_v_chroma_intra_10_avx;
#if HAVE_ALIGNED_STACK
c->h264_v_loop_filter_luma = ff_deblock_v_luma_10_avx;
c->h264_h_loop_filter_luma = ff_deblock_h_luma_10_avx;