summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* x86/dsputil: put inline asm under HAVE_INLINE_ASM.Ronald S. Bultje2012-07-25
| | | | | | | This allows compiling with compilers that don't support gcc-style inline assembly. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* dsputil_mmx: fix incorrect assembly codeYang Wang2012-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | In ff_put_pixels_clamped_mmx(), there are two assembly code blocks. In the first block (in the unrolled loop), the instructions "movq 8%3, %%mm1 \n\t", and so forth, have problems. From above instruction, it is clear what the programmer wants: a load from p + 8. But this assembly code doesn’t guarantee that. It only works if the compiler puts p in a register to produce an instruction like this: "movq 8(%edi), %mm1". During compiler optimization, it is possible that the compiler will be able to constant propagate into p. Suppose p = &x[10000]. Then operand 3 can become 10000(%edi), where %edi holds &x. And the instruction becomes "movq 810000(%edx)". That is, it will stride by 810000 instead of 8. This will cause a segmentation fault. This error was fixed in the second block of the assembly code, but not in the unrolled loop. How to reproduce: This error is exposed when we build using Intel C++ Compiler, with IPO+PGO optimization enabled. Crashed when decoding an MJPEG video. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* libfdk-aacenc: add LATM/LOAS encapsulation supportKieran Kunhya2012-07-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* aac: Mention abbreviation as well in long_nameDiego Biurrun2012-07-24
| | | | Most people know the codec as "AAC" and not "Advanced Audio Coding".
* v410dec: Implement explode mode supportDerek Buitenhuis2012-07-23
| | | | | | | Try and decode broken files, but still fail if explode mode is enabled. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* zerocodec: fix direct rendering.Reimar Döffinger2012-07-23
| | | | | | | | | | | | Set picture type before calling get_buffer. This allows the DR application to make better decisions. It also fixes a resource leak in case of missing reference frames since it would call get_buffer but never release_buffer. Also use FFSWAP to ensure that the AVFrame is properly initialized in the next get_buffer (in particular that data[0] is NULL). Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bitHendrik Leppkes2012-07-23
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* h264: refactor NAL decode loopRonald S. Bultje2012-07-23
| | | | | | | | | | Write out the NAL decoding loops in full so that they are easier to parse for a preprocessor without it having to be aware of macros or other such things in C code. This also makes the code more readable. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dsputil: ppc: cosmetics: pretty-printJustin Ruggles2012-07-22
|
* dsputil: x86: add SHUFFLE_MASK_W macroJason Garrett-Glaser2012-07-22
| | | | Simplifies pshufb masks that operate on words.
* Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxerKostya Shishkov2012-07-22
|
* G.723.1 demuxer and decoderMohamed Naufal Basheer2012-07-22
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* Add a shift parameter to celp_lp_synthesis_filter()Mohamed Naufal Basheer2012-07-22
| | | | | | This is intended for reuse by the G.723.1 decoder Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* libopenjpeg: K&R formatting cosmeticsLuca Barbato2012-07-22
|
* ac3: don't use different names for option tables in the template file.Ronald S. Bultje2012-07-21
| | | | | The variables which are declared in the teplate file are static and therefore there is no symbol clash.
* adpcm: don't duplicate identical AVSampleFmt array for each encoder.Ronald S. Bultje2012-07-21
|
* libopenjpeg: introduce lowres and lowqual private optionsLuca Barbato2012-07-20
| | | | | OpenJPEG can decode in lower resolution or decode only a number of enhancement layers.
* alac: fix channel pointer assignment for 24 and 32-bitJustin Ruggles2012-07-19
| | | | Needs to be done separately for each element.
* alac: cosmetics: general pretty-printing and comment clean upJustin Ruggles2012-07-19
|
* alac: calculate buffer size outside the loop in allocate_buffers()Justin Ruggles2012-07-19
|
* alac: change some data types to plain intJustin Ruggles2012-07-19
|
* alac: cosmetics: rename some variables and function namesJustin Ruggles2012-07-19
|
* alac: multi-channel decoding supportAndrew D'Addesio2012-07-19
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* alac: split element parsing into a separate functionJustin Ruggles2012-07-19
| | | | | This will make multi-channel implementation simpler. Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.
* alac: support a read sample size of up to 32Justin Ruggles2012-07-19
| | | | | Use get_bits_long() in decode_scalar(). Use unsigned int for decoded value.
* alac: output in planar sample formatJustin Ruggles2012-07-19
| | | | | Avoids unneeded interleaving and allows for reusing the AVFrame output buffer as the internal buffer for 24-bit and 32-bit sample size.
* alac: add 32-bit decoding supportJustin Ruggles2012-07-19
|
* alac: simplify channel interleavingAndrew D'Addesio2012-07-19
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* alac: use AVPacket fields directly in alac_decode_frame()Justin Ruggles2012-07-19
|
* alac: fix check for valid max_samples_per_frameJustin Ruggles2012-07-19
|
* alac: use get_sbits() to read LPC coefficients instead of castingJustin Ruggles2012-07-19
|
* alac: move the current samples per frame to the ALACContextJustin Ruggles2012-07-19
| | | | This will simplify the multi-channel implementation.
* alac: avoid using a double-negative when checking if the frame is compressedJustin Ruggles2012-07-19
|
* alac: factor out output_size check in predictor_decompress_fir_adapt()Justin Ruggles2012-07-19
|
* alac: factor out loading of next decoded sample in LPC predictionJustin Ruggles2012-07-19
|
* alac: use index into buffer_out instead of incrementing the pointerJustin Ruggles2012-07-19
|
* alac: simplify lpc coefficient adaptationJustin Ruggles2012-07-19
|
* alac: reduce the number of local variables needed in lpc predictionJustin Ruggles2012-07-19
|
* alac: simplify 1st order prediction and reading of warm-up samplesJustin Ruggles2012-07-19
|
* alac: cosmetics: reindent after last commitJustin Ruggles2012-07-19
|
* alac: remove unneeded conditionals in predictor_decompress_fir_adapt()Justin Ruggles2012-07-19
|
* alac: use sizeof() instead of hardcoded data sizesJustin Ruggles2012-07-19
|
* alac: make block_size signedJustin Ruggles2012-07-19
| | | | It does not need to be unsigned.
* alac: remove a duplicate local variableJustin Ruggles2012-07-19
|
* alac: conditionally set sign_modifier to 1Justin Ruggles2012-07-19
| | | | | It is already unconditionally set to 0 prior to this, so we can modify it only when needed.
* alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()Justin Ruggles2012-07-19
| | | | | x_modified is just unnecessary, and final_val can be removed by simplifying the unsigned-to-signed conversion.
* alac: adjust conditions for updating entropy decoder historyJustin Ruggles2012-07-19
| | | | avoids some unnecessary arithmetic in certain situations
* alac: cosmetics: reindent after last commitJustin Ruggles2012-07-19
|
* alac: limit the rice param before passing to decode_scalar()Justin Ruggles2012-07-19
| | | | | reduces the number of parameters to decode_scalar() and slightly simplifies the code
* alac: reduce the number of parameters to bastardized_rice_decompress()Justin Ruggles2012-07-19
| | | | Use the ALACContext fields directly instead.