aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/proresdsp.c
Commit message (Collapse)AuthorAgeFilesLines
* proresdsp: add idct_put_bayerLynne4 days1-0/+17
| | | | | This commit adds a 12-bit DCT function to directly write to Bayer images. Will be used in the following commit.
* avcodec/simple_idct: Move ProRes-only code to proresdsp.cAndreas Rheinhardt2025-02-271-3/+49
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/proresdsp: Make put_pixels truely ptrdiff_t compatibleAndreas Rheinhardt2025-02-271-7/+5
| | | | | | | | | It currently uses an intermediate int which wouldn't work if linesize exceeded the range of int and inhibits compiler optimizations. Also switch to pointer arithmetic and use smaller scope. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/prores{dec,dsp}: Remove always-false checksAndreas Rheinhardt2025-02-271-5/+4
| | | | | | | | | | | | avctx->bits_per_raw_sample is always 10 or 12 here; the checks have been added in preparation for making bits_per_raw_sample user-settable via an AVOption, but this never happened. While just at it, also set unpack_alpha earlier (where bits_per_raw_sample is set). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/proresdsp: Pass necessary parameter directlyAndreas Rheinhardt2023-09-111-4/+4
| | | | | | Only avctx->bits_per_raw_sample is used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt2022-06-151-2/+3
| | | | | | | | | | | | | | | | | | This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/proresdec : add 12b prores idctMartin Vignali2018-12-021-3/+28
| | | | based on patch by Kieran Kunhya
* avcodec/proresdsp indent after prev commitMartin Vignali2018-12-021-2/+2
|
* avcodec/proresdec : rename dsp part for 10b and check dspinit for supported ↵Martin Vignali2018-12-021-10/+15
| | | | | | bits per raw sample based on patch by Kieran Kunhya
* avcodec/proresdsp : remove unused valueMartin Vignali2018-12-021-1/+0
|
* Merge commit '3fd22538bc0e0de84b31335266b4b1577d3d609e'James Almer2017-03-191-3/+3
|\ | | | | | | | | | | | | * commit '3fd22538bc0e0de84b31335266b4b1577d3d609e': prores: Change type of stride parameters to ptrdiff_t Merged-by: James Almer <jamrial@gmail.com>
| * prores: Change type of stride parameters to ptrdiff_tDiego Biurrun2016-08-261-3/+3
| | | | | | | | | | | | | | This avoids SIMD-optimized functions having to sign-extend their line size argument manually to be able to do pointer arithmetic. Also adjust parameter names to be "linesize" everywhere.
* | Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae'Michael Niedermayer2014-07-181-1/+1
|\| | | | | | | | | | | | | | | | | | | | | * 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-181-1/+1
| | | | | | | | Also rename the enum values to be consistent with other DCT permutations.
* | Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'Michael Niedermayer2014-07-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-301-1/+1
| |
* | Merge commit '92e598a57a7ce4b8ac9ea56274af39f5fd888311'Michael Niedermayer2014-02-281-23/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '92e598a57a7ce4b8ac9ea56274af39f5fd888311': prores: Drop DSP infrastructure for prores encoder bits Conflicts: libavcodec/Makefile libavcodec/proresdsp.c libavcodec/proresenc_kostya.c Note, these changes only affect one of the 2 prores encoders we have If someone wants to add optimizations to the affected encoder, or needs/wants this infrastructure, then iam happy to revert this Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * prores: Drop DSP infrastructure for prores encoder bitsDiego Biurrun2014-02-281-23/+1
| | | | | | | | None of the encoder bits are arch-optimized.
* | Merge commit 'd6acefe05862af244fd5a30ae946ed507c063994'Michael Niedermayer2014-02-281-3/+0
|\| | | | | | | | | | | | | | | | | | | * commit 'd6acefe05862af244fd5a30ae946ed507c063994': proresenc: Drop unnecessary DCT permutation bits Conflicts: libavcodec/proresenc_kostya.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * proresenc: Drop unnecessary DCT permutation bitsDiego Biurrun2014-02-281-3/+0
| | | | | | | | No permutation is necessary for the FDCT.
* | Merge commit 'b23650491fbd579a4365f42bd42575afb7b53f7e'Michael Niedermayer2014-02-281-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'b23650491fbd579a4365f42bd42575afb7b53f7e': prores: Use consistent names for DSP arch initialization functions Conflicts: libavcodec/proresdsp.c libavcodec/proresdsp.h libavcodec/x86/proresdsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * prores: Use consistent names for DSP arch initialization functionsDiego Biurrun2014-02-281-1/+2
| |
* | avcodec/proresdsp: rename CLIP_AND_BIAS to BANANAMichael Niedermayer2014-01-141-2/+2
| | | | | | | | | | See: IRC log Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/proresdsp & idct: move biasing from after the IDCT into the IDCTMichael Niedermayer2014-01-141-1/+1
| | | | | | | | | | | | | | | | This replaces 64 additions by 8 additions MSE Changes from 0.04873672 to 0.05012422 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Reinstate proper FFmpeg license for all files.Thilo Borgmann2013-08-301-4/+4
| |
* | Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'Michael Niedermayer2013-05-051-2/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487': avcodec: Add av_cold attributes to init functions missing them Conflicts: libavcodec/aacpsy.c libavcodec/atrac3.c libavcodec/dvdsubdec.c libavcodec/ffv1.c libavcodec/ffv1enc.c libavcodec/h261enc.c libavcodec/h264_parser.c libavcodec/h264dsp.c libavcodec/h264pred.c libavcodec/libschroedingerenc.c libavcodec/libxvid_rc.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/proresdsp.c libavcodec/rangecoder.c libavcodec/videodsp.c libavcodec/x86/proresdsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-041-2/+3
| |
* | avcodec: rename prores encodersMichael Niedermayer2013-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the first names of authors sounds somewhat unprofessional and might be considered offensive which is not intended. The new names use the initials of the authors due to simplicity and the possibility to apply it consistently without the need to find political correct names for each future case where alternative codecs might exist. Also its shorter ... If someone has a better idea, like maybe 2 random letters and people prefer it then iam happy to switch to that ... Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-091-0/+1
|\| | | | | | | | | | | | | | | | | | | * qatar/master: dsputil: Move fdct function declarations to dct.h Conflicts: libavcodec/dsputil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move fdct function declarations to dct.hDiego Biurrun2013-02-091-0/+1
| |
* | Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-231-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-3/+4
| | | | | | | | | | | | 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-10-081-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau2012-10-081-1/+1
| | | | | | | | Rename the called dsp init functions to *_init_x86.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-161-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Fix even more missing includes after the common.h removal build: Factor out rangecoder dependencies to CONFIG_RANGECODER build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE x86: avcodec: Consistently name all init files Add more missing includes after removing the implicit common.h Add some more missing includes after removing the implicit common.h Don't include common.h from avutil.h rtmp: Automatically compute the hash for SWFVerification Conflicts: configure doc/APIchanges doc/examples/decoding_encoding.c libavcodec/Makefile libavcodec/assdec.c libavcodec/audio_frame_queue.c libavcodec/avpacket.c libavcodec/dv_profile.c libavcodec/dwt.c libavcodec/libtheoraenc.c libavcodec/rawdec.c libavcodec/rv40dsp.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/v210dec.h libavcodec/vc1dsp.c libavcodec/x86/Makefile libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/buffer.c libavfilter/formats.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_select.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/version.h libavutil/audioconvert.c libavutil/error.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't include common.h from avutil.hMartin Storsjö2012-08-151-0/+1
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * prores: initialise encoder and decoder parts only when neededKostya Shishkov2012-02-171-2/+10
| |
* | Fix compilation condition for some ProRes dsp encoder functions.Carl Eugen Hoyos2012-06-041-2/+2
| | | | | | | | | | | | Found, analysed and tested by trac user Jamal. Fixes part of Ticket #1404.
* | Fix compilation condition for some ProRes dsp decoder functions.Carl Eugen Hoyos2012-06-041-2/+2
| | | | | | | | | | | | Found, analysed and tested by trac user Jamal. Fixes part of Ticket #1404.
* | prores: initialise encoder and decoder parts only when neededKostya Shishkov2012-02-171-2/+10
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-161-0/+17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) ppc: Add ff_ prefix to nonstatic symbols sh4: Add ff_ prefix to nonstatic symbols mpegvideo: Add ff_ prefix to nonstatic functions rtjpeg: Add ff_ prefix to nonstatic symbols rv: Add ff_ prefix to nonstatic symbols vp56: Add ff_ prefix to nonstatic symbols vorbis: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefix to nonstatic symbols vc1: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefixes to nonstatic symbols snow: Add ff_ prefix to nonstatic symbols mpeg12: Add ff_ prefix to nonstatic symbols mpeg4: Add ff_ prefixes to nonstatic symbols lagarith: Add ff_ prefix to lag_rac_init libavcodec: Add ff_ prefix to j_rev_dct* dsputil: Add ff_ prefix to inv_zigzag_direct16 libavcodec: Prefix fdct_ifast, fdct_ifast248 dsputil: Add ff_ prefix to the dsputil*_init* functions libavcodec: Add ff_ prefix to some nonstatic symbols vlc/rl: Add ff_ prefix to the nonstatic symbols ... Conflicts: libavcodec/Makefile libavcodec/allcodecs.c libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h263.h libavcodec/h263dec.c libavcodec/h264.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/nuv.c libavcodec/ppc/dsputil_ppc.c libavcodec/proresdsp.c libavcodec/svq3.c libavcodec/version.h libavformat/dv.h libavformat/dvenc.c libavformat/matroskadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * prores encoderKostya Shishkov2012-02-151-0/+17
| |
* | prores: use C idct for fate as the SSE code is not matching the SSE* code ↵Michael Niedermayer2011-10-141-2/+2
|/ | | | | | down at the bits Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* prores: idct sse2/sse4 optimizations.Ronald S. Bultje2011-10-111-0/+2
| | | | ~3.0-3.5x as fast as original C version, 1.6x as fast overall.
* prores: extract idct into its own dspcontext and merge with put_pixels.Ronald S. Bultje2011-10-111-0/+61