summaryrefslogtreecommitdiff
path: root/libavcodec/idctdsp.c
Commit message (Collapse)AuthorAge
* Fix visual glitch with XvMC, caused by wrong idct permutation.Ivan Kalvachev2017-10-12
| | | | | | | | | | | | | | | In the past XvMC forced simple_idct since it was using FF_IDCT_PERM_NONE. However now we have SIMD variants of simple_idct that are using FF_IDCT_PERM_TRANSPOSE and if they are selected XvMC would get coefficients in the wrong order. The patch creates new FF_IDCT_NONE that is used only for this kind of hardware decoding and that fallbacks to the old C only simple idct. Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* jrev/xvid: hardcode use of C put/add_pixels_clamped.Ronald S. Bultje2017-04-06
| | | | | | | | | | | | | | | | | | | This removes the last use of the ff_put/add_pixels_clamped global function pointers, and as such they are removed. This patch has a negative effect on performance on MIPS, since there's a SIMD-optimized put/add_pixels_clamped, but no xvid or jrev. From a code maintenance point of view, that is probably acceptable. Because the global function pointers are removed, this fixes the following tsan warnings when running e.g. fate-dnxhr-parse: WARNING: ThreadSanitizer: data race (pid=29917) Write of size 8 at 0x0000025b12d8 by thread T2 (mutexes: write M1543): #0 ff_idctdsp_init src/libavcodec/idctdsp.c:313 (ffmpeg+0x00000044b68e) [..] Previous write of size 8 at 0x0000025b12d8 by thread T1 (mutexes: write M1541): #0 ff_idctdsp_init src/libavcodec/idctdsp.c:313 (ffmpeg+0x00000044b68e)
* Merge commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428'James Almer2017-03-21
|\ | | | | | | | | | | | | * commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428': idct: Change type of array stride parameters to ptrdiff_t Merged-by: James Almer <jamrial@gmail.com>
| * idct: Change type of array stride parameters to ptrdiff_tDiego Biurrun2016-09-29
| | | | | | | | ptrdiff_t is the correct type for array strides and similar.
* | lavc/aarch64: add ff_simple_idct{,_add,_put}_neon functionsMatthieu Bouron2017-03-16
| |
* | avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for idctdsp functionsShivraj Patil2015-07-07
| | | | | | | | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for idctdsp functions in new file idctdsp_msa.c and simple_idct_msa.c Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/idctdsp: use the 10bit code for 9 bit tooMichael Niedermayer2014-12-20
| | | | | | | | | | | | 9bit is currently not used Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/idctdsp: change {put,add}_pixels_clamped to ptrdiff_t line_sizeJames Almer2014-09-24
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d'Michael Niedermayer2014-09-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d': Split off floating point AAN (I)DCT into separate components Conflicts: configure libavcodec/Makefile libavcodec/dct-test.c libavcodec/idctdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Split off floating point AAN (I)DCT into separate componentsDiego Biurrun2014-09-07
| |
* | avcodec/idctdsp: Initialize ff_put/add_pixels_clamped correctly so that the ↵Michael Niedermayer2014-09-03
| | | | | | | | | | | | optimized functions are also used Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b'Michael Niedermayer2014-09-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b': idctdsp: Add global function pointers for {add|put}_pixels_clamped functions Conflicts: libavcodec/arm/idctdsp_init_arm.c libavcodec/dct.h libavcodec/idctdsp.c libavcodec/jrevdct.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * idctdsp: Add global function pointers for {add|put}_pixels_clamped functionsDiego Biurrun2014-09-02
| | | | | | | | | | | | These function pointers already existed in the ARM code. Adding them globally allows calls to the function pointers to access arch-optimized versions of the functions transparently.
* | Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5'Michael Niedermayer2014-08-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5': cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs Conflicts: libavcodec/mpeg4videodec.c libavcodec/x86/Makefile libavcodec/x86/dct-test.c libavcodec/x86/xvididct_sse2.c libavcodec/xvididct.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/idctdsp: make add/put_pixels_clamped_c internal functionsJames Almer2014-08-13
| | | | | | | | | | | | | | This reduces code duplication and differences with the fork. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/idctdsp: move add/put_pixels_clamped_c to headerMichael Niedermayer2014-08-11
| | | | | | | | | | | | This allows sharing them with the xvid IDCT Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec: remove deprecated use of FF_IDCT_XVIDMMXMichael Niedermayer2014-08-09
| | | | | | | | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit eedc3f36532e4c6de782fe1c2dc59d192418a8fc) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '6f1960ab71b4f18551243ce22d01913108265233'Michael Niedermayer2014-08-08
|\| | | | | | | | | | | | | | | | | | | * commit '6f1960ab71b4f18551243ce22d01913108265233': idct: cosmetics: Drop one unnecessary if-block level Conflicts: libavcodec/idctdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * idct: cosmetics: Drop one unnecessary if-block levelDiego Biurrun2014-08-08
| |
* | Merge commit 'a786c8259dafeca9744252230b5d78f67810770c'Michael Niedermayer2014-08-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a786c8259dafeca9744252230b5d78f67810770c': idct: Split off Xvid IDCT Conflicts: libavcodec/Makefile libavcodec/mpeg4videodec.c libavcodec/x86/Makefile libavcodec/x86/idctdsp_init.c This split is somewhat restructured leaving the xvid IDCT available outside mpeg4 if manually selected. The code also could not be merged unchanged as it conflicted with a bugfix in FFmpeg Merged-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273'Michael Niedermayer2014-07-18
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273': idctdsp: prettyprinting cosmetics Conflicts: libavcodec/idctdsp.c libavcodec/ppc/idctdsp.c libavcodec/x86/idctdsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * idctdsp: prettyprinting cosmeticsDiego Biurrun2014-07-18
| |
* | Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae'Michael Niedermayer2014-07-18
|\| | | | | | | | | | | | | | | | | | | | | * commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae': idct: Convert IDCT permutation #defines to an enum Conflicts: libavcodec/idctdsp.c libavcodec/x86/cavsdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * idct: Convert IDCT permutation #defines to an enumDiego Biurrun2014-07-18
| | | | | | | | Also rename the enum values to be consistent with other DCT permutations.
* | alpha/idctdsp: move idct init code out of dsputilJames Almer2014-07-08
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'Michael Niedermayer2014-07-01
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e3fcb14347466095839c2a3c47ebecff02da891e': dsputil: Split off IDCT bits into their own context Conflicts: configure libavcodec/aic.c libavcodec/arm/Makefile libavcodec/arm/dsputil_init_arm.c libavcodec/arm/dsputil_init_armv6.c libavcodec/asvdec.c libavcodec/dnxhdenc.c libavcodec/dsputil.c libavcodec/dvdec.c libavcodec/dxva2_mpeg2.c libavcodec/intrax8.c libavcodec/mdec.c libavcodec/mjpegdec.c libavcodec/mjpegenc_common.h libavcodec/mpegvideo.c libavcodec/ppc/dsputil_altivec.h libavcodec/ppc/dsputil_ppc.c libavcodec/ppc/idctdsp.c libavcodec/x86/Makefile libavcodec/x86/dsputil_init.c libavcodec/x86/dsputil_mmx.c libavcodec/x86/dsputil_x86.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
* dsputil: Split off IDCT bits into their own contextDiego Biurrun2014-06-30