diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-07-05 06:37:12 +0400 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2016-10-12 18:39:30 +0300 |
commit | f59750641afdd6285bd977c450cc790bebb7693d (patch) | |
tree | a43e1d6363f2a5cfab412982624eb6c7e840ce7a | |
parent | 328ea6a9a5ab3ddeec19939e8a381cf6a704e466 (diff) |
swscale: x86: Add some forgotten 12-bit planar YUV cases
Signed-off-by: Diego Biurrun <diego@biurrun.de>
-rw-r--r-- | libswscale/x86/scale.asm | 2 | ||||
-rw-r--r-- | libswscale/x86/swscale.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libswscale/x86/scale.asm b/libswscale/x86/scale.asm index a4c7e1c00b..982b432047 100644 --- a/libswscale/x86/scale.asm +++ b/libswscale/x86/scale.asm @@ -407,11 +407,13 @@ SCALE_FUNC %1, %2, X, X8, 7, %3 SCALE_FUNCS 8, 15, %1 SCALE_FUNCS 9, 15, %2 SCALE_FUNCS 10, 15, %2 +SCALE_FUNCS 12, 15, %2 SCALE_FUNCS 16, 15, %3 %endif ; !sse4 SCALE_FUNCS 8, 19, %1 SCALE_FUNCS 9, 19, %2 SCALE_FUNCS 10, 19, %2 +SCALE_FUNCS 12, 19, %2 SCALE_FUNCS 16, 19, %3 %endmacro diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c index 326f824d3e..5922d3a3d0 100644 --- a/libswscale/x86/swscale.c +++ b/libswscale/x86/swscale.c @@ -215,10 +215,12 @@ void ff_hscale ## from_bpc ## to ## to_bpc ## _ ## filter_n ## _ ## opt( \ SCALE_FUNC(filter_n, 8, 15, opt); \ SCALE_FUNC(filter_n, 9, 15, opt); \ SCALE_FUNC(filter_n, 10, 15, opt); \ + SCALE_FUNC(filter_n, 12, 15, opt); \ SCALE_FUNC(filter_n, 16, 15, opt); \ SCALE_FUNC(filter_n, 8, 19, opt); \ SCALE_FUNC(filter_n, 9, 19, opt); \ SCALE_FUNC(filter_n, 10, 19, opt); \ + SCALE_FUNC(filter_n, 12, 19, opt); \ SCALE_FUNC(filter_n, 16, 19, opt) #define SCALE_FUNCS_MMX(opt) \ @@ -325,8 +327,8 @@ av_cold void ff_sws_init_swscale_x86(SwsContext *c) hscalefn = c->dstBpc <= 15 ? ff_hscale10to15_ ## filtersize ## _ ## opt2 : \ ff_hscale10to19_ ## filtersize ## _ ## opt1; \ } else if (c->srcBpc == 12) { \ - hscalefn = c->dstBpc <= 15 ? ff_hscale16to15_ ## filtersize ## _ ## opt2 : \ - ff_hscale16to19_ ## filtersize ## _ ## opt1; \ + hscalefn = c->dstBpc <= 15 ? ff_hscale12to15_ ## filtersize ## _ ## opt2 : \ + ff_hscale12to19_ ## filtersize ## _ ## opt1; \ } else if (c->srcBpc == 16) { \ hscalefn = c->dstBpc <= 15 ? ff_hscale16to15_ ## filtersize ## _ ## opt2 : \ ff_hscale16to19_ ## filtersize ## _ ## opt1; \ |