summaryrefslogtreecommitdiff
path: root/libavcodec/simple_idct.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove/replace some unnecessary avcodec.h inclusionsAndreas Rheinhardt2021-07-221-1/+0
| | | | | | | Also remove other unnecessary headers and include headers directly while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/simple_idct: Fix undefined integer overflow in idct4row()Michael Niedermayer2021-02-021-1/+2
| | | | | | | | Fixes: signed integer overflow: -1498310196 - 902891776 cannot be represented in type 'int' Fixes: 28445/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VC1IMAGE_fuzzer-5075163389493248 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/proresdec : add 12b prores idctMartin Vignali2018-12-021-0/+16
| | | | based on patch by Kieran Kunhya
* avcodec/proresdec : rename dsp part for 10b and check dspinit for supported ↵Martin Vignali2018-12-021-1/+1
| | | | | | bits per raw sample based on patch by Kieran Kunhya
* simple_idct: Template functions to support an input bitdepth parameterKieran Kunhya2018-04-021-3/+12
|
* Merge commit '2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428'James Almer2017-03-211-6/+6
|\ | | | | | | | | | | | | * 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-291-6/+6
| | | | | | | | ptrdiff_t is the correct type for array strides and similar.
| * idct: Only build prores IDCT if ProRes decoder is enabledDiego Biurrun2016-02-241-0/+2
| |
* | avcodec/simple_idct: Fix runtime error: left shift of negative value -6395Michael Niedermayer2017-02-211-2/+2
| | | | | | | | | | | | | | Fixes: 633/clusterfuzz-testcase-4553133554401280 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/simple_idct: use predefined M_SQRT2Ganesh Ajjanagadde2015-11-141-2/+2
| | | | | | | | | | | | | | | | | | | | M_SQRT2 is defined in math.h, or in avutil/mathematics.h for compatibility hacks. This uses this value instead of a floating literal. Fixed point values produced by C_FIX(), R_FIX() remain identical. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avcodec/simple_idct10: improve precisionChristophe Gisquet2015-10-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | omse goes from 0.03060703 (which fails for dct-test) to 0.01663750. This also actually improve the error of decoding the sample generated by fate-vsynth3-dnxhd1080i-10bit using simple_idct10 to FAANI, which goes (when resampled to yuv422p) from: stddev: 0.06 PSNR: 72.28 MAXDIFF: 1 to identical. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/proresdsp & idct: move biasing from after the IDCT into the IDCTMichael Niedermayer2014-01-141-1/+3
| | | | | | | | | | | | | | | | This replaces 64 additions by 8 additions MSE Changes from 0.04873672 to 0.05012422 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/dsputil: add 12bit simple idctMichael Niedermayer2013-09-061-0/+4
| | | | | | | | | | | | Will be needed for jpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '218aefce4472dc02ee3f12830a9a894bf7916da9'Michael Niedermayer2013-02-091-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit '218aefce4472dc02ee3f12830a9a894bf7916da9': dsputil: Move LOCAL_ALIGNED macros to libavutil Conflicts: libavcodec/dvdec.c libavcodec/imc.c libavcodec/mpegvideo_motion.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move LOCAL_ALIGNED macros to libavutilDiego Biurrun2013-02-081-1/+0
| |
* | Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-231-9/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f': Drop DCTELEM typedef Conflicts: libavcodec/alpha/dsputil_alpha.h libavcodec/alpha/motion_est_alpha.c libavcodec/arm/dsputil_init_armv6.c libavcodec/bfin/dsputil_bfin.h libavcodec/bfin/pixels_bfin.S libavcodec/cavs.c libavcodec/cavsdec.c libavcodec/dct-test.c libavcodec/dnxhdenc.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/eamad.c libavcodec/h264_cavlc.c libavcodec/h264idct_template.c libavcodec/mpeg12.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/ppc/dsputil_altivec.c libavcodec/proresdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Drop DCTELEM typedefDiego Biurrun2013-01-221-9/+9
| | | | | | | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-071-6/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: SBR DSP: fix SSE code to not use SSE2 instructions. cpu: initialize mask to -1, so that by default, optimizations are used. error_resilience: initialize s->block_index[]. svq3: protect against negative quantizers. Don't use ff_cropTbl[] for IDCT. swscale: make filterPos 32bit. FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option. avconv: add -cpuflags option for setting supported cpuflags. cpu: add av_set_cpu_flags_mask(). libx264: Allow overriding the sliced threads option avconv: fix counting encoded video size. Conflicts: doc/APIchanges doc/fate.texi doc/ffmpeg.texi ffmpeg.c libavcodec/h264idct_template.c libavcodec/svq3.c libavutil/avutil.h libavutil/cpu.c libavutil/cpu.h libswscale/swscale.c tests/Makefile tests/fate-run.sh tests/regression-funcs.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-061-11/+8
| | | | | | | | | | | | | | | | Results of IDCT can by far outreach the range of ff_cropTbl[], leading to overreads and potentially crashes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | simple_idct: idct_4col_put: Fix out of array reads.Michael Niedermayer2012-03-021-5/+4
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-141-6/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: proresdsp: fix function prototypes. prores-idct: fix overflow in c code. fate: update prores-alpha ref after changing pix_fmt to yuv444p10le prores: add missing feature warning for alpha mov: 10l: Terminate string with 0 not '0' mov: Prevent illegal writes when chapter titles are very short. prores: add appropriate -fix_fmt parameter to FATE command riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER Conflicts: libavcodec/avcodec.h libavformat/mov.c tests/fate/prores.mak tests/ref/acodec/g726 tests/ref/fate/prores-alpha Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * prores-idct: fix overflow in c code.Ronald S. Bultje2011-10-141-6/+3
| | | | | | | | | | | | | | Fix the fate ref for prores-422_proxy by reverting the changes to it in commit f492df0927c42da174edb674857670fc50abc5dc Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-121-0/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) fix AC3ENC_OPT_MODE_ON/OFF h264: fix HRD parameters parsing prores: implement multithreading. prores: idct sse2/sse4 optimizations. swscale: use aligned move for storage into temporary buffer. prores: extract idct into its own dspcontext and merge with put_pixels. h264: fix invalid shifts in init_cavlc_level_tab() intfloat_readwrite: fix signed addition overflows mov: do not misreport empty stts mov: cosmetics, fix for and if spacing id3v2: fix NULL pointer dereference mov: read album_artist atom mov: fix disc/track numbers and totals doc: fix references to obsolete presets directories for avconv/ffmpeg flashsv: return more meaningful error value flashsv: fix typo in av_log() message smacker: validate channels and sample format. smacker: check buffer size before reading output size smacker: validate number of channels smacker: Separate audio flags from sample rates in smacker demuxer. ... Conflicts: cmdutils.h doc/ffmpeg.texi libavcodec/Makefile libavcodec/motion_est_template.c libavformat/id3v2.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * prores: extract idct into its own dspcontext and merge with put_pixels.Ronald S. Bultje2011-10-111-0/+17
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-211-329/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rv30: return AVERROR(EINVAL) instead of EINVAL build: add -L flags before existing LDFLAGS simple_idct: whitespace cosmetics simple_idct: make repeated code a macro dsputil: remove huge #if 0 block simple_idct: change 10-bit add/put stride from pixels to bytes dsputil: allow 9/10-bit functions for non-h264 codecs dnxhd: rename some data tables dnxhdenc: remove inline from function only called through pointer dnxhdenc: whitespace cosmetics swscale: mark YUV422P10(LE,BE) as supported for output configure: add -xc99 to LDFLAGS for Sun CC Remove unused and non-compiling vestigial g729 decoder Remove unused code under G729_BITEXACT #ifdef. mpegvideo: fix invalid picture unreferencing. dsputil: Remove extra blank line at end. dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT. simple_idct: add 10-bit version Conflicts: Makefile libavcodec/g729data.h libavcodec/g729dec.c libavcodec/rv30.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * simple_idct: add 10-bit versionMans Rullgard2011-07-201-329/+9
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-191-46/+19
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * qatar/master: simple_idct: simplify some ifdeffery simple_idct: remove code for DCTELEM != int16 Remove VLAs in ff_amrwb_lsp2lpc() fate: make vsynth tests depend on only the relevant vref rtsp: remove disabled code dsputil: restore mistakenly removed hunk of disabled code Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * simple_idct: simplify some ifdefferyMans Rullgard2011-07-181-18/+6
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * simple_idct: remove code for DCTELEM != int16Mans Rullgard2011-07-181-30/+15
| | | | | | | | | | | | | | DCTELEM can never be changed to anything else, too much code depends on it. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-171-12/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ffmpeg: fix some indentation ffmpeg: fix operation with --disable-avfilter simple_idct: remove disabled code motion_est: remove disabled code vc1: remove disabled code fate: separate lavf-mxf_d10 test from lavf-mxf cabac: Move code only used in the cabac test program to cabac.c. ffplay: warn that -pix_fmt is no longer working, suggest alternative ffplay: warn that -s is no longer working, suggest alternative lavf: rename enc variable in utils.c:has_codec_parameters() lavf: use designated initialisers for all (de)muxers. wav: remove a use of deprecated AV_METADATA_ macro rmdec: remove useless ap parameter from rm_read_header_old() dct-test: remove write-only variable des: fix #if conditional around P_shuffle Use LOCAL_ALIGNED in ff_check_alignment() Conflicts: ffmpeg.c libavformat/avidec.c libavformat/matroskaenc.c libavformat/mp3enc.c libavformat/oggenc.c libavformat/utils.c tests/ref/lavf/mxf Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * simple_idct: remove disabled codeDiego Biurrun2011-07-171-12/+0
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-201-1/+1
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace WORDS_BIGENDIAN with HAVE_BIGENDIANMåns Rullgård2009-07-261-1/+1
| | | | Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full internal pathname in doxygen @file directives.Diego Biurrun2009-02-011-1/+1
| | | | | | | Otherwise doxygen complains about ambiguous filenames when files exist under the same name in different subdirectories. Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change semantic of CONFIG_*, HAVE_* and ARCH_*.Aurelien Jacobs2009-01-131-3/+3
| | | | | | They are now always defined to either 0 or 1. Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
* simple_idct: use MUL16 and MAC16 from mathops.hMåns Rullgård2008-12-271-36/+17
| | | | Originally committed as revision 16362 to svn://svn.ffmpeg.org/ffmpeg/trunk
* consistency cosmetics: Rename POWERPC identifiers to PPC.Diego Biurrun2008-12-271-1/+1
| | | | Originally committed as revision 16359 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Convert asm keyword into __asm__.Diego Pettenò2008-10-161-2/+2
| | | | | | | | | | | | | Neither the asm() nor the __asm__() keyword is part of the C99 standard, but while GCC accepts the former in C89 syntax, it is not accepted in C99 unless GNU extensions are turned on (with -fasm). The latter form is accepted in any syntax as an extension (without requiring further command-line options). Sun Studio C99 compiler also does not accept asm() while accepting __asm__(), albeit reporting warnings that it's not valid C99 syntax. Originally committed as revision 15627 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add 4x4 IDCTKostya Shishkov2007-12-091-0/+14
| | | | Originally committed as revision 11198 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add ff_ prefix to all simple_idct symbolsAurelien Jacobs2007-12-081-6/+6
| | | | Originally committed as revision 11192 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename function to reflect its actionKostya Shishkov2007-12-031-3/+3
| | | | Originally committed as revision 11146 to svn://svn.ffmpeg.org/ffmpeg/trunk
* enable some 64bit optimized code on 64bit archAurelien Jacobs2007-02-281-3/+3
| | | | Originally committed as revision 8155 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rename cropTbl -> ff_cropTblMåns Rullgård2006-11-121-5/+5
| | | | Originally committed as revision 6992 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change license headers to say 'FFmpeg' instead of 'this program/this library'Diego Biurrun2006-10-071-4/+6
| | | | | | and fix GPL/LGPL version mismatches. Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Update licensing information: The FSF changed postal address.Diego Biurrun2006-01-121-1/+1
| | | | Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
* COSMETICS: tabs --> spaces, some prettyprintingDiego Biurrun2005-12-221-55/+55
| | | | Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
* COSMETICS: Remove all trailing whitespace.Diego Biurrun2005-12-171-14/+14
| | | | Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
* per file doxyMichael Niedermayer2003-03-061-0/+6
| | | | Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
* * UINTX -> uintx_t INTX -> intx_tZdenek Kabelac2003-02-111-14/+14
| | | | Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk