summaryrefslogtreecommitdiffstats
path: root/libswscale/x86
Commit message (Collapse)AuthorAgeFilesLines
* swscale/x86/swscale: Fix undefined left shifts of negative numbersAndreas Rheinhardt2019-09-281-2/+2
| | | | | | | | | This affected many FATE-tests: The number of failing tests went down from 663 to 344. (Both numbers exclude tests that failed because of unaligned accesses in code that is inside #if HAVE_FAST_UNALIGNED.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swscale: Add support for NV24 and NV42Philip Langdale2019-05-121-2/+2
| | | | | | | | | | | The implementation is pretty straight-forward. Most of the existing NV12 codepaths work regardless of subsampling and are re-used as is. Where necessary I wrote the slightly different NV24 versions. Finally, the one thing that confused me for a long time was the asm specific x86 path that did an explicit exclusion check for NV12. I replaced that with a semi-planar check and also updated the equivalent PPC code, which Lauri kindly checked.
* swscale/x86/rgb2rgb.asm : add Ivo Van Poorten name to the top of the fileMartin Vignali2018-10-181-0/+1
| | | | suggested by Carl Eugen Hoyos
* swscale/x86/rgb2rgb : port shuffle 2103 mmxext to external asm and remove ↵Martin Vignali2018-10-133-48/+67
| | | | inline asm version
* swscale/x86/rgb2rgb : remove mmx version for shuffle2103Martin Vignali2018-10-131-19/+4
|
* libswscale: Adds conversions from/to float gray format.Sergey Lavrushkin2018-08-141-1/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* swscale/swscale_unscaled : add X86_64 (SSE2 and AVX) for uyvyto422Martin Vignali2018-04-222-0/+169
| | | | and checkasm test
* swscale/rgb : add X86 SIMD (SSSE3), for shuffle_bytes_1230, ↵Martin Vignali2018-03-242-0/+12
| | | | shuffle_bytes_3012, shuffle_bytes_3210
* swscale/rgb : add X86 SIMD (SSSE3) for shuffle_bytes_2103 and shuffle_bytes_0321Martin Vignali2018-03-243-1/+90
|
* Fix missing used attribute for inline assembly variablesThomas Köppe2017-11-131-6/+6
| | | | | | | | | | | | | Variables used in inline assembly need to be marked with attribute((used)). Static constants already were, via the define of DECLARE_ASM_CONST. But DECLARE_ALIGNED does not add this attribute, and some of the variables defined with it are const only used in inline assembly, and therefore appeared dead. This change adds a macro DECLARE_ASM_ALIGNED that marks variables as used. This change makes FFMPEG work with Clang's ThinLTO. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2'James Almer2017-10-211-9/+1
|\ | | | | | | | | | | | | | | | | * commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2': x86util: Port all macros to cpuflags See d5f8a642f6eb1c6e305c41dabddd0fd36ffb3f77 Merged-by: James Almer <jamrial@gmail.com>
| * x86util: Port all macros to cpuflagsDiego Biurrun2017-03-141-9/+1
| | | | | | | | | | | | Also do some small cosmetic changes: Drop pointless _MMX suffix from ABSD2 macro name, drop pointless check for MMX support, we always assume MMX is available in our SIMD code, fix spelling.
| * build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-03-012-3/+3
| | | | | | | | None of them are specific to the YASM assembler.
| * swscale: x86: Add some forgotten 12-bit planar YUV casesMichael Niedermayer2016-10-122-2/+6
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * swscale: Add input support for 12-bit formatsMichael Niedermayer2016-10-122-1/+4
| | | | | | | | | | | | Implemented for AV_PIX_FMT_GBRP12. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * swscale: Rename is9_OR_10 to match what it doesLuca Barbato2016-09-271-1/+1
| | | | | | | | It is used to select functions that work with 9-15bits.
| * swscale: Update bitdepth range checkLuca Barbato2016-09-271-7/+7
| | | | | | | | | | Make sure the scaling functions for the 9-15bits are used for 9-15bits bit depths correctly.
| * swscale: Add proper ff_ prefix to init functionsDiego Biurrun2016-07-161-1/+1
| | | | | | | | | | | | | | | | They are internal symbols that should not be exported. based on a patch by Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * asm: FF_-prefix internal macros used in inline assemblyDiego Biurrun2016-05-282-436/+436
| | | | | | | | | | These warnings conflict with system macros on Solaris, producing truckloads of warnings about macro redefinition.
* | build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-06-212-3/+3
| | | | | | | | | | | | | | | | None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1) Signed-off-by: James Almer <jamrial@gmail.com>
* | swscale: save ebx register when it is not availableAndreas Cadhalpun2016-12-211-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure checks if the ebx register can be used for asm and it has to be saved if and only if this is not the case. Without this the build fails when configuring with --toolchain=hardened --disable-pic on i386 using gcc 4.8: error: PIC register clobbered by '%ebx' in 'asm' In that case gcc 4.8 reserves the ebx register for the GOT needed for PIE, so it can't be used in asm directly. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | swscale: Drop is9_OR_10BPS() use, its name is not correctMichael Niedermayer2016-11-101-1/+1
| | | | | | | | | | Found-by: Luca Barbato Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale: add support for P010LE/BE outputTimo Rothenpieler2016-08-311-2/+2
| |
* | asm: FF_-prefix internal macros used in inline assemblyMatthieu Bouron2016-06-274-493/+493
| | | | | | | | See merge commit '39d6d3618d48625decaff7d9bdbb45b44ef2a805'.
* | Merge commit 'dc40a70c5755bccfb1a1349639943e1f408bea50'Hendrik Leppkes2016-06-262-2/+0
|\ \ | |/ | | | | | | | | | | * commit 'dc40a70c5755bccfb1a1349639943e1f408bea50': Drop unnecessary libavutil/x86/asm.h #includes Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * Drop unnecessary libavutil/x86/asm.h #includesDiego Biurrun2016-05-282-2/+0
| |
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-212-7/+7
|\ \ | |/ | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-042-7/+7
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Drop pointless assert.h #includesDiego Biurrun2016-05-031-1/+0
| |
| * lavu: add AV_CEIL_RSHIFT and use it in various placesClément Bœsch2016-01-111-4/+4
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | swscale: cleanup unused codePedro Arthur2016-03-312-36/+14
| | | | | | | | | | Removed previous swscale code under '#ifndef NEW_FILTER' and removed unused fields of SwsContext
* | swscale/x86/output: Fix yuv2planeX_16* with unaligned destinationMichael Niedermayer2016-02-171-7/+16
| | | | | | | | | | Reviewed-by: BBB Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale/x86/output: Move code into yuv2planeX_mainloopMichael Niedermayer2016-02-171-69/+72
| | | | | | | | | | Reviewed-by: BBB Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPATDerek Buitenhuis2016-01-271-4/+4
| | | | | | | | | | | | | | | | | | | | Libav, for some reason, merged this as a public API function. This will aid in future merges. A define is left for backwards compat, just in case some person used it, since it is in a public header. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | swscale/x86/rgb2rgb_template: Fix planar2x() for short widthMichael Niedermayer2016-01-171-1/+8
| | | | | | | | | | | | | | Fixes: 451b3e0cf956c0bd2f27ed753ac24050/asan_heap-oob_2873c01_3231_7ed10a9464d15f0d57277f5917c566a8.AVI Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the ↵Michael Niedermayer2015-12-151-8/+6
| | | | | | | | | | | | | | | | alignment is insufficient for SSE* This also as a sideeffect fixes the non aligned case Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale/x86/rgb2rgb_template: Do not crash on misaligend strideMichael Niedermayer2015-12-151-1/+4
| | | | | | | | | | | | Fixes Ticket5013 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Replace all remaining occurances of step/depth_minus1 and offset_plus1Hendrik Leppkes2015-09-081-1/+1
| |
* | swscale: refactor vertical scalerPedro Arthur2015-08-191-3/+3
| |
* | swscale: fixed compiler warningsPedro Arthur2015-08-181-8/+7
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale: refactor horizontal scalingPedro Arthur2015-08-181-3/+28
| | | | | | | | | | | | | | + split color conversion from scaling - disabled gamma correction, until it's refactored too Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | YUV->BGR32 MMX supportKevin Coyle2015-07-041-0/+30
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | swscale/x86/rgb2rgb_template: fix signedness of v in ↵James Almer2015-06-231-1/+1
| | | | | | | | | | | | | | shuffle_bytes_2103_{mmx,mmxext} Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | swscale/x86/rgb2rgb_template: don't call emms on sse2/avx functionsJames Almer2015-06-231-0/+4
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | swscale/x86/rgb2rgb_template: add missing xmm clobbersJames Almer2015-06-231-1/+1
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | libswscale/x86/hscale_fast_bilinear_simd.c: There's no need to save BX if ↵Nick Lewycky2015-05-131-37/+24
| | | | | | | | | | | | it's in the clobber list. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libswscale/x86/hscale_fast_bilinear_simd.c: Include BX in the clobber list ↵Nick Lewycky2015-05-131-2/+2
| | | | | | | | | | | | on x86_64, because it isn't implicitly included when PIC is on. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | swscale/x86/swscale: Fix warning about loosing significant bits in castMichael Niedermayer2015-05-101-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | swscale/x86/hscale_fast_bilinear_simd: Remove ancient out-commented debug codeMichael Niedermayer2015-05-071-2/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | swscale/x86/hscale_fast_bilinear_simd: Fix variable names in commentsMichael Niedermayer2015-05-071-2/+2
| | | | | | | | | | Found-by: Nick Lewycky <nlewycky@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud