summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* mpegvideo: Move QMAT_SHIFT* defines to the only place they are usedDiego Biurrun2014-07-25
|
* mpegvideo: Move ME_MAP_* defines to the only place they are usedDiego Biurrun2014-07-25
|
* mpegvideo: Drop unused MPEG_BUF_SIZE and CHROMA_444 definesDiego Biurrun2014-07-25
|
* fft-test: Pass the right struct members instead of castingDiego Biurrun2014-07-25
|
* vc1dsp: Add wrappers for {avg|put}_vc1_mspel_mc00_cDiego Biurrun2014-07-25
| | | | This avoids invoking the wrapped functions with too many arguments.
* qpeldsp: Mark source pointer in qpel_mc_func function pointer constDiego Biurrun2014-07-25
|
* dct/rdft: Remove duplicate typedefs for context structsDiego Biurrun2014-07-25
| | | | | | | The typedefs also exist in the avfft.h header and since typedefs cannot be legally redefined in C, the code fails to compile with some compilers. This reverts commits 11c7155cce and 57f1b1dcc7.
* mpegenccontext: Remove unused opaque pointerNidhi Makhijani2014-07-24
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* fft-test: Pass correct struct members to (i)dct functionsDiego Biurrun2014-07-23
| | | | This fixes a number of incompatible pointer type warnings.
* fft-test: K&R formatting cosmeticsDiego Biurrun2014-07-23
| | | | Also rearrange #includes into canonical order.
* fft-test: Check memory allocationsDiego Biurrun2014-07-23
|
* fft-test: Drop unnecessary pointer indirection for context structsDiego Biurrun2014-07-23
|
* fft-test: Reduce variable scope where sensibly possibleDiego Biurrun2014-07-23
| | | | Also merge variable declaration and initialization.
* mpegenccontext: Remove unused dct_unquantize_h261 function pointersNidhi Makhijani2014-07-23
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* fft-test: Make global exptab variable staticDiego Biurrun2014-07-23
|
* mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is usedDiego Biurrun2014-07-23
|
* fft-test: Comment some #endifsDiego Biurrun2014-07-22
|
* fft-test: Drop unnecessary #ifdefs around header includesDiego Biurrun2014-07-22
|
* dct/rdft: Add missing typedefs for context structsDiego Biurrun2014-07-22
| | | | Without the typedefs there can be trouble depending on #include order.
* build: Add define for SIMD extensions requiring 16-byte aligned buffersDiego Biurrun2014-07-22
|
* libxvid: Drop PPC-specific CPU detection hackDiego Biurrun2014-07-22
| | | | It is doubtful if the hack (still) works and Xvid had ten years to fix it.
* imgconvert: cosmetics: Reshuffle defines to reduce ifdefferyDiego Biurrun2014-07-21
|
* arm: Macroize the test for 'setend' CPU instruction supportBen Avison2014-07-21
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* aarch64: NEON intrinsics dct_unquantize_h263.James Yu2014-07-21
| | | | | | | | | Intrinsics only used on aarch64 since the existing ARMv7 NEON asm is slightly faster (Cortex-A9, gcc-4.8, micro-benchmarks and full decoding time). Signed-off-by: James Yu <james.yu@linaro.org> Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* build: Conditionally compile all avcodec test programsDiego Biurrun2014-07-21
|
* build: Conditionally build and run DCT test programDiego Biurrun2014-07-21
|
* build: Conditionally build and test iirfilterDiego Biurrun2014-07-21
|
* mjpeg: return proper error codeNidhi Makhijani2014-07-21
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dct-test: Move arch-specific bits into arch-specific subdirectoriesDiego Biurrun2014-07-21
|
* Revert "tiff: support reading gray+alpha at 8 bits"Janne Grunau2014-07-21
| | | | | This reverts commit b31d76e45fc3c6529dd7109e721676f3ec376d00 as it uses an unkown pixel format.
* h264: Fix direct temporal mvs for bottom-field-first poc orderRonald S. Bultje2014-07-20
| | | | | | | | Such files can be created using the --bff x264 option. Sample-Id: h264_direct_temporal_mvs_bff.mkv Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* tiff: support reading gray+alpha at 8 bitsCarl Eugen Hoyos2014-07-20
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* idct: Move arm-specific declarations to a header in the arm directoryDiego Biurrun2014-07-20
|
* mpegencconetxt: Move rv10-specific orig_width/orig_height where they belongNidhi Makhijani2014-07-20
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* fdct: Move ppc-specific declarations to a header in the ppc directoryDiego Biurrun2014-07-19
|
* simple_idct: Move x86-specific declarations to a header in the x86 directoryDiego Biurrun2014-07-19
|
* fdct: Move x86-specific declarations to a header in the x86 directoryDiego Biurrun2014-07-19
|
* dct-test: Reuse enum idct_permutation_type instead of duplicating itDiego Biurrun2014-07-18
|
* dct-test: Skip indirection for MMX IDCT permutationDiego Biurrun2014-07-18
|
* x86: dnxhdenc: Eliminate some unnecessary ifdefsDiego Biurrun2014-07-18
|
* libgsm: Split decoder and encoderNidhi Makhijani2014-07-18
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* idctdsp: prettyprinting cosmeticsDiego Biurrun2014-07-18
|
* idct: Convert IDCT permutation #defines to an enumDiego Biurrun2014-07-18
| | | | Also rename the enum values to be consistent with other DCT permutations.
* fft: Convert FFT/MDCT permutation type #defines to enumsDiego Biurrun2014-07-18
|
* dct-test: Improve CPU flags struct member nameDiego Biurrun2014-07-18
|
* dct-test: Move cpu_flags variable out of global scopeDiego Biurrun2014-07-18
|
* arm: cosmetics: Consistently use lowercase for shift operatorsMartin Storsjö2014-07-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: cosmetics: Fix a misaligned asm operandMartin Storsjö2014-07-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* armv6: Accelerate ff_fft_calc for general case (nbits != 4)Ben Avison2014-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation targeted DTS Coherent Acoustics, which only requires nbits == 4 (fft16()). This case was (and still is) linked directly rather than being indirected through ff_fft_calc_vfp(), but now the full range from radix-4 up to radix-65536 is available. This benefits other codecs such as AAC and AC3. The implementaion is based upon the C version, with each routine larger than radix-16 calling a hierarchy of smaller FFT functions, then performing a post-processing pass. This pass benefits a lot from loop unrolling to counter the long pipelines in the VFP. A relaxed calling standard also reduces the overhead of the call hierarchy, and avoiding the excessive inlining performed by GCC probably helps with I-cache utilisation too. I benchmarked the result by measuring the number of gperftools samples that hit anywhere in the AAC decoder (starting from aac_decode_frame()) or specifically in the FFT routines (fft4() to fft512() and pass()) for the same sample AAC stream: Before After Mean StdDev Mean StdDev Confidence Change Audio decode 2245.5 53.1 1599.6 43.8 100.0% +40.4% FFT routines 940.6 22.0 348.1 20.8 100.0% +170.2% Signed-off-by: Martin Storsjö <martin@martin.st>
* armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)Ben Avison2014-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation targeted DTS Coherent Acoustics, which only requires mdct_bits == 6. This relatively small size lent itself to unrolling the loops a small number of times, and encoding offsets calculated at assembly time within the load/store instructions of each iteration. In the more general case (codecs such as AAC and AC3) much larger arrays are used - mdct_bits == [8, 9, 11]. The old method does not scale for these cases, so more integer registers are used with non-unrolled versions of the loops (and with some stack spillage). The postrotation filter loop is still unrolled by a factor of 2 to permit the double-buffering of some VFP registers to facilitate overlap of neighbouring iterations. I benchmarked the result by measuring the number of gperftools samples that hit anywhere in the AAC decoder (starting from aac_decode_frame()) or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same example AAC stream: Before After Mean StdDev Mean StdDev Confidence Change aac_decode_frame 2368.1 35.8 2117.2 35.3 100.0% +11.8% ff_imdct_half_* 457.5 22.4 251.2 16.2 100.0% +82.1% Signed-off-by: Martin Storsjö <martin@martin.st>