aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/lossless_videodsp_init.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-21 02:53:43 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-21 02:55:41 +0100
commit83b67ca056093d3b8fffc5e0b37f84177113a556 (patch)
tree24789c49a29d2d891ff82ba1df349e3698247a7e /libavcodec/x86/lossless_videodsp_init.c
parent63d2be7533b7406f3fb58f2e3b7e3954dd1fcc6d (diff)
downloadffmpeg-83b67ca056093d3b8fffc5e0b37f84177113a556.tar.gz
avcodec/x86/lossless_videodsp: Port lorens add_hfyu_left_prediction_ssse3/sse4 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.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/x86/lossless_videodsp_init.c b/libavcodec/x86/lossless_videodsp_init.c
index bc51d51cc1..88424ba1f9 100644
--- a/libavcodec/x86/lossless_videodsp_init.c
+++ b/libavcodec/x86/lossless_videodsp_init.c
@@ -23,6 +23,8 @@
void ff_add_int16_mmx(uint16_t *dst, const uint16_t *src, unsigned mask, int w);
void ff_add_int16_sse2(uint16_t *dst, const uint16_t *src, 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_llviddsp_init_x86(LLVidDSPContext *c)
{
@@ -35,4 +37,12 @@ void ff_llviddsp_init_x86(LLVidDSPContext *c)
if (EXTERNAL_SSE2(cpu_flags)) {
c->add_int16 = ff_add_int16_sse2;
}
+
+ if (EXTERNAL_SSSE3(cpu_flags)) {
+ c->add_hfyu_left_prediction_int16 = ff_add_hfyu_left_prediction_int16_ssse3;
+ }
+
+ if (EXTERNAL_SSE4(cpu_flags)) {
+ c->add_hfyu_left_prediction_int16 = ff_add_hfyu_left_prediction_int16_sse4;
+ }
}