aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/lossless_videodsp_init.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-22 21:10:33 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-22 21:11:40 +0100
commitfee97f25fa1275e2a35485cb16283a466c28aadc (patch)
tree91a539e05cf0b6934fe15e786dbaed200a3351da /libavcodec/x86/lossless_videodsp_init.c
parent631939bde6e29e29131a0ca389e5e8dea4c3d038 (diff)
downloadffmpeg-fee97f25fa1275e2a35485cb16283a466c28aadc.tar.gz
avcodec/x86/lossless_videodsp: port add_hfyu_median_prediction_mmxext to 16bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/lossless_videodsp_init.c')
-rw-r--r--libavcodec/x86/lossless_videodsp_init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/x86/lossless_videodsp_init.c b/libavcodec/x86/lossless_videodsp_init.c
index 9927ca38f3..4eca2a11b1 100644
--- a/libavcodec/x86/lossless_videodsp_init.c
+++ b/libavcodec/x86/lossless_videodsp_init.c
@@ -27,6 +27,7 @@ void ff_diff_int16_mmx (uint16_t *dst, const uint16_t *src1, const uint16_t *src
void ff_diff_int16_sse2(uint16_t *dst, const uint16_t *src1, const uint16_t *src2, unsigned mask, int w);
int ff_add_hfyu_left_prediction_int16_ssse3(uint16_t *dst, const uint16_t *src, unsigned mask, int w, int acc);
int ff_add_hfyu_left_prediction_int16_sse4(uint16_t *dst, const uint16_t *src, unsigned mask, int w, int acc);
+void ff_add_hfyu_median_prediction_int16_mmxext(uint16_t *dst, const uint16_t *top, const uint16_t *diff, unsigned mask, int w, int *left, int *left_top);
void ff_llviddsp_init_x86(LLVidDSPContext *c)
{
@@ -37,6 +38,10 @@ void ff_llviddsp_init_x86(LLVidDSPContext *c)
c->diff_int16 = ff_diff_int16_mmx;
}
+ if (EXTERNAL_MMXEXT(cpu_flags)) {
+ c->add_hfyu_median_prediction_int16 = ff_add_hfyu_median_prediction_int16_mmxext;
+ }
+
if (EXTERNAL_SSE2(cpu_flags)) {
c->add_int16 = ff_add_int16_sse2;
c->diff_int16 = ff_diff_int16_sse2;