summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* 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>
* dsputil: Split motion estimation compare bits off into their own contextDiego Biurrun2014-07-17
|
* x86: dsputil: Coalesce all init filesDiego Biurrun2014-07-17
| | | | This makes the init files match the structure of the dsputil split.
* h264: K&R formatting cosmeticsLuca Barbato2014-07-17
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: Remove some commented-out, broken cruftDiego Biurrun2014-07-16
|
* arm: dsputil: Coalesce all init filesDiego Biurrun2014-07-16
|
* g2meet: allow size changes within original sizesVittorio Giovara2014-07-15
|
* x86: dsputil: Avoid pointless CONFIG_ENCODERS indirectionDiego Biurrun2014-07-13
| | | | The remaining dsputil bits are encoding-specific anyway.
* ppc: dsputil: Coalesce all init filesDiego Biurrun2014-07-13
|
* dsputil: Drop unused bit_depth parameter from all init functionsDiego Biurrun2014-07-11
|
* hevc: implement pic_output_flag handlingGildas Cocherel2014-07-11
| | | | | | Sample-Id: OPFLAG_B_Qualcomm_1.bit, OPFLAG_C_Qualcomm_1.bit Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: set the keyframe flag on output framesMickaël Raulet2014-07-11
| | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: Replace nal type chek with equivalent IS_IRAP macroMickaël Raulet2014-07-11
| | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc_ps: remove a write-only variableAnton Khirnov2014-07-11
|
* dsputil: Split off pixel block routines into their own contextDiego Biurrun2014-07-09
|
* hevc: parse display orientation SEI messageVittorio Giovara2014-07-09
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: parse display orientation SEI messageVittorio Giovara2014-07-09
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* adxdec: get rid of an avpriv functionAnton Khirnov2014-07-09
| | | | | The only thing the demuxer needs is the sample rate to set the timebase, which can be simply read with AV_RB32.
* lavc: export DV profile API used by muxer/demuxer as publicAnton Khirnov2014-07-09
|
* arm: Avoid using the 'setend' instruction on ARMv7 and newerMartin Storsjö2014-07-08
| | | | | | | | | | This instruction is deprecated on ARMv8, and it is serializing on some ARMv7 cores as well [1]. [1] http://article.gmane.org/gmane.linux.ports.arm.kernel/339293 CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Split off FDCT bits into their own contextDiego Biurrun2014-07-07
|
* libfdk-aacdec: Decode the first AAC frame to reliably identify the bitstreamOmer Osman2014-07-07
| | | | | | | | | | | | For implicit signaling cases (as possible for Spectral Band Replication and Parametric Stereo Tools), the decoder must decode the first frame to correctly identify the stream configuration (as called from avformat_find_stream_info). The mechanism for this is built-in and only requires adding CODEC_CAP_CHANNEL_CONF to the libfdk-aacdec AVCodec struct. Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* vmd: Split audio and video decoderNidhi Makhijani2014-07-07
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dsputil: Move draw_edges() to mpegvideoencdspDiego Biurrun2014-07-06
|
* dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoencDiego Biurrun2014-07-06
|
* dsputil: Split off *_8x8basis to a separate contextDiego Biurrun2014-07-06
|
* dsicin: Split audio and video decoderNidhi Makhijani2014-07-06
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* bmv: Split audio and video decoderNidhi Makhijani2014-07-06
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* paf: split audio and video decoderNidhi Makhijani2014-07-06
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>