summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Revert "h264: assembly version of get_cabac for x86_64 with PIC (v4)"Michael Niedermayer2012-04-213-125/+25
| | | | | | | | | | | | This broke compilation on darwin, revert until a better solution is found. This reverts commit a812b599b504b39a8021827da89d5e23fb361cc9.
* | fix swr_convert buffering of packed audioAndrew Wason2012-04-211-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | swr_convert is not properly buffering packed input audio when the output is not large enough, and when resampling is not actually needed (same samplerate and no SWR_FLAG_RESAMPLE). buf_set() is only handling the first channel and leaving the others as-is. Sample program to reproduce the problem is here https://gist.github.com/2431768 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: assembly version of get_cabac for x86_64 with PIC (v4)Roland Scheidegger2012-04-213-25/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a hand-optimized assembly version for get_cabac much like the existing one, but it works if the table offsets are RIP-relative. Compared to the non-RIP-relative version this adds 2 lea instructions and it needs one extra register. There is a surprisingly large performance improvement over the c version (more so than the generated assembly seems to suggest) just in get_cabac, I measured roughly 40% faster for get_cabac on a K8. However, overall the difference is not that big, I measured roughly 5% on a test clip on a K8 and a Core2. Hopefully it still compiles on x86 32bit... v2: incorporated feedback from Loren Merritt to avoid rip-relative movs for every table, and got rid of unnecessary @GOTPCREL. v3: apply similar fixes to the the decode_significance functions, and use same macro arguments for non-pic case. v4: prettify inline asm arguments, add a non-fast-cmov version (as I expect the c code to be faster otherwise since both cmov and sbb suck hard on a Prescott, even can't construct the mask with a 64bit shift as that's just as terrible - it's quite difficult to find usable instructions on that chip...). This is tested to work but not on a P4, in theory it _should_ be fast there. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-2032-146/+536
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avcodec: add a cook parser to get subpacket duration FATE: allow lavf tests to alter input parameters FATE: replace the acodec-pcm_s24daud test with an enc_dec_pcm checksum test FATE: replace the acodec-g726 test with 4 new encode/decode tests FATE: replace current g722 encoding tests with an encode/decode test FATE: add a pattern rule for generating asynth wav files FATE: optionally write a WAVE header in audiogen avutil: add audio fifo buffer Conflicts: doc/APIchanges libavcodec/version.h libavutil/avutil.h tests/Makefile tests/codec-regression.sh tests/fate/voice.mak tests/lavf-regression.sh tests/ref/acodec/g722 tests/ref/acodec/g726 tests/ref/acodec/pcm_s24daud tests/ref/lavf/dv_fmt tests/ref/lavf/gxf tests/ref/lavf/mxf tests/ref/lavf/mxf_d10 tests/ref/seek/lavf_dv Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: add a cook parser to get subpacket durationJustin Ruggles2012-04-205-2/+64
| | | | | | | | Fixes jittery video playback of rm files with cook audio.
| * FATE: allow lavf tests to alter input parametersJustin Ruggles2012-04-206-36/+36
| | | | | | | | Change some lavf tests to avoid resampling and channel mixing.
| * FATE: replace the acodec-pcm_s24daud test with an enc_dec_pcm checksum testJustin Ruggles2012-04-205-34/+6
| | | | | | | | | | This avoids resampling and channel mixing by using a source with the correct channel layout and sample rate.
| * FATE: replace the acodec-g726 test with 4 new encode/decode testsJustin Ruggles2012-04-208-62/+27
| | | | | | | | | | | | Avoids resampling and channel mixing. This only tests the behavior with respect to input and output audio rather than also testing changes to the encoder or muxer that do not affect the resulting decoded output.
| * FATE: replace current g722 encoding tests with an encode/decode testJustin Ruggles2012-04-206-17/+9
| | | | | | | | | | | | Avoids resampling and channel mixing. This only tests the behavior with respect to input and output audio rather than also testing changes to the encoder or muxer that do not affect the resulting decoded output.
| * FATE: add a pattern rule for generating asynth wav filesJustin Ruggles2012-04-201-1/+4
| |
| * FATE: optionally write a WAVE header in audiogenJustin Ruggles2012-04-201-8/+48
| |
| * avutil: add audio fifo bufferJustin Ruggles2012-04-205-2/+355
| | | | | | | | | | The functions operate on the sample level rather than the byte level and work with all audio sample formats.
* | Fix compilation with NASM.Reimar Döffinger2012-04-201-2/+6
| | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | mxfdec: fix memleak on read error/EOF.Reimar Döffinger2012-04-201-2/+2
| | | | | | | | | | | | | | This also matches the rest of the demuxer which will return partial packets. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | indeo3: Fix reallocation code so that it doesnt become inconsistent.Michael Niedermayer2012-04-201-12/+10
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ac3dec: Check number of output channels.Michael Niedermayer2012-04-201-0/+4
| | | | | | | | | | | | | | Fixes out of array write. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avsdec: Set dimensions instead of relying on the demuxer.Michael Niedermayer2012-04-201-0/+1
| | | | | | | | | | | | | | This fixes out of array writes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffmpeg: check encoder earlier.Nicolas George2012-04-201-6/+6
| | | | | | | | | | Fixes a segfault with Ogg output, libtheora not compiled in and no codec specified.
* | ffv1: add optional per slice CRCs to detect undamaged slices.Michael Niedermayer2012-04-201-1/+22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: move most fields from the frame header to the slice headers with ffv1.3Michael Niedermayer2012-04-201-6/+100
| | | | | | | | | | | | This will allow decoding a single undamaged slice even if all others are lost Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: refactor slice decoding init loop so that the first is less a special caseMichael Niedermayer2012-04-201-15/+18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: clear slice state in decode_slice()Michael Niedermayer2012-04-201-2/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: split clear_slice_state() out so individual slices can be cleared.Michael Niedermayer2012-04-201-4/+10
| | | | | | | | | | | | This allows us to clear outside of the main thread for example. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: split init_slice_state() out so individual slices can be initedMichael Niedermayer2012-04-201-7/+14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ffv1: Add a CRC check to the global header with version 1.3Michael Niedermayer2012-04-201-1/+14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi/mp: remove libmpcodecs mirror filterStefano Sabatini2012-04-205-136/+1
| | | | | | | | The native libavfilter hflip filter does the same thing.
* | lavfi: add avfilter_unref_bufferp()Robert Nagy2012-04-204-1/+19
| | | | | | | | Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* | avidec: zero extradata paddingMichael Niedermayer2012-04-191-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mtvdec: check that the buf is large enough for probingMichael Niedermayer2012-04-191-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | jvdec: Make sure there is enough data for the id string.Michael Niedermayer2012-04-191-2/+2
| | | | | | | | | | | | Previously too little data could lead to a false detection. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-1912-67/+112
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dv: Initialize encoder tables during encoder init. dv: Replace some magic numbers by the appropriate #define. FATE: pass the decoded output format and audio source file to enc_dec_pcm FATE: specify the input format when decoding in enc_dec_pcm() x86inc: support AVX abstraction for 2-operand instructions configure: detect PGI compiler and set suitable flags avconv: check for an incompatible changing channel layout avio: make AVIOContext.av_class pointer to const nutdec: add malloc check and fix const to non-const conversion warnings Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dv: Initialize encoder tables during encoder init.Diego Biurrun2012-04-191-2/+2
| |
| * dv: Replace some magic numbers by the appropriate #define.Diego Biurrun2012-04-191-4/+4
| |
| * FATE: pass the decoded output format and audio source file to enc_dec_pcmJustin Ruggles2012-04-183-8/+16
| | | | | | | | | | | | | | This will allow decoding to md5 and doing a diff comparison to a reference checksum instead of a fuzzy stddev or oneoff comparison. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * FATE: specify the input format when decoding in enc_dec_pcm()Justin Ruggles2012-04-181-1/+1
| | | | | | | | | | | | The output format is not always the same as the file extension, which is sometimes required for correct probing. We can avoid probing by specifying the format since it is already known.
| * x86inc: support AVX abstraction for 2-operand instructionsLoren Merritt2012-04-181-2/+8
| | | | | | | | | | | | Add cvtdq2ps and cvtps2dq to the AVX instruction list. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
| * configure: detect PGI compiler and set suitable flagsMans Rullgard2012-04-191-0/+18
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * avconv: check for an incompatible changing channel layoutJustin Ruggles2012-04-181-45/+54
| | | | | | | | | | | | The decoder can change the layout and channel count during decoding, but currently we only validate that the two are compatible when opening the codec. This checks for incompatibilities after each decoded frame.
| * avio: make AVIOContext.av_class pointer to constMans Rullgard2012-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | Fix this warning: libavformat/aviobuf.c:663:20: warning: assignment discards qualifiers from pointer target type Although this is a public header, it should remain source and binary compatible. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * nutdec: add malloc check and fix const to non-const conversion warningsMans Rullgard2012-04-181-2/+6
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | build system: remove -wcast-qualMichael Niedermayer2012-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generating warnings when casting const away leads to tight constraints on the code if one wants to avoid warnings. This is especially true for generic code that is supposed to work with both const and non const. These tight constrains cause people to waste time trying to find a way to write code so it doesnt generate any warning, while people should rather spend their time thinking on how to write fast, clean, maintainable and bug free code. Removing this class of warnings fixes this issue. Approved-by: Nicolas George <nicolas.george@normalesup.org> Approved-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mlpdec: set channel variables after checking themMichael Niedermayer2012-04-191-8/+13
| | | | | | | | | | | | | | This fixes out of array reads Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Make targa-in-mov QuickTime-compatible for more colour-spaces.Carl Eugen Hoyos2012-04-191-0/+3
| | | | | | | | See ticket #1228.
* | Remove .rodata alignment kludge for Mach-O if a recent enough yasm is used.Nico Weber2012-04-191-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yasm was fixed in its r2161 and yasm 0.8.0 (Apr 2010) contained this fix. Nasm was fixed in 2.06 (Jun 2009): https://groups.google.com/group/alt.lang.asm/browse_thread/thread/fcc85bbc3745d893 I tested with yasm 0.7.99 and yasm 1.2.0.7, where this works fine. I also tested with nasm. The nasm shipping with Xcode is too old to understand ffmpeg's assembly, before and after the patch. Nasm 2.10 fails to compile fft_mmx.asm on trunk with libavcodec/x86/fft_mmx.asm:88: panic: section ".text" has already been specified with alignment 32, conflicts with new alignment of 16 but builds fine if I change the two alignment "16"s in x86inc.asm to "32". With this patch, nasm 2.10 fails with libavcodec/x86/fft_mmx.asm:39: panic: section ".rodata" has already been specified with alignment 32, conflicts with new alignment of 16 instead, but again builds fine with s/16/32/. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Print unexpected length of flicvideo extradata.Carl Eugen Hoyos2012-04-191-1/+1
| |
* | mxfdec: Add missing break in frame layout parsingMatthieu Bouron2012-04-191-0/+1
| | | | | | | | | | Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mxf: Fix frame layout valuesMatthieu Bouron2012-04-191-2/+2
| | | | | | | | | | Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h263dec: Check for width/height changes on frame skips too.Michael Niedermayer2012-04-191-1/+1
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | error_concealment: Check that the reference is not NULLMichael Niedermayer2012-04-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | In normal picture decoding this does not need to be checked but as error concealment is run in the case of errors the availability of references is less certain. This may be fixed differently at some point so that all references are always filled in before the EC code, in which case this should then be changed to an assert() Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | error_concealment: make sure mbaff flags are 0 as interlaced is not supported.Michael Niedermayer2012-04-191-1/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud