Ronald S. Bultje
2734ba787b
vp56: port x86 simd to cpuflags.
2012-07-27 14:39:07 -07:00
Ronald S. Bultje
5361e10a5e
proresdsp: port x86 assembly to cpuflags.
2012-07-27 11:43:06 -07:00
Justin Ruggles
81f548de57
alac: check for truncated packets
...
This will give a clearer error message when the error is caused by a
truncated packet.
2012-07-27 13:52:20 -04:00
Justin Ruggles
fb57e913e1
alac: reverse lpc coeff order, simplify filter
...
Reversing the lpc coefficient order simplifies indexing in the filter.
2012-07-27 13:52:19 -04:00
Kostya Shishkov
0cf7d849ff
tscc2: fix typo in array index
2012-07-27 07:34:38 +02:00
Diego Biurrun
8784959234
build: Rename aandct component to more descriptive aandcttables
2012-07-26 23:35:21 +02:00
Ronald S. Bultje
bde73f28af
mpegaudio: bury inline asm under HAVE_INLINE_ASM.
2012-07-26 13:43:16 -07:00
Ronald S. Bultje
30b45d9c38
x86inc: automatically insert vzeroupper for YMM functions.
2012-07-26 13:43:16 -07:00
Michael Bradshaw
44dc9c6af0
libopenjpeg: support YUV and deep RGB pixel formats
...
Based on FFmpeg version from
commit 3275981207
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 10:20:04 +02:00
Carl Eugen Hoyos
92566540c3
Fix typo in v410 decoder.
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-26 10:08:49 +02:00
Ronald S. Bultje
48098788c2
vp8: Replace x*155/100 by x*101581>>16.
...
Idea stolen from webp (by Pascal Massimino) - because it's Cool.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:37:03 -04:00
Ronald S. Bultje
a1878a88a1
vp3: don't use calls to inline asm in yasm code.
...
Mixing yasm and inline asm is a bad idea, since if either yasm or inline
asm is not supported by your toolchain, all of the asm stops working.
Thus, better to use either one or the other alone.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:24:30 -04:00
Ronald S. Bultje
79195ce565
x86/dsputil: put inline asm under HAVE_INLINE_ASM.
...
This allows compiling with compilers that don't support gcc-style
inline assembly.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:24:27 -04:00
Yang Wang
845e92fd6a
dsputil_mmx: fix incorrect assembly code
...
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>
2012-07-25 14:22:18 -04:00
Kieran Kunhya
160a27c590
libfdk-aacenc: add LATM/LOAS encapsulation support
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:32:33 +03:00
Diego Biurrun
65d94f63ca
aac: Mention abbreviation as well in long_name
...
Most people know the codec as "AAC" and not "Advanced Audio Coding".
2012-07-24 02:37:49 +02:00
Derek Buitenhuis
d04c5293ce
v410dec: Implement explode mode support
...
Try and decode broken files, but still fail if explode
mode is enabled.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:36:48 -04:00
Reimar Döffinger
6c8fdfc5e5
zerocodec: fix direct rendering.
...
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>
2012-07-23 11:35:21 -04:00
Hendrik Leppkes
37c6ad2345
wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:33:58 -04:00
Ronald S. Bultje
58db34aa1e
h264: refactor NAL decode loop
...
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>
2012-07-23 16:27:53 +02:00
Justin Ruggles
a35738f424
dsputil: ppc: cosmetics: pretty-print
2012-07-22 17:38:55 -04:00
Jason Garrett-Glaser
85a3c19ed1
dsputil: x86: add SHUFFLE_MASK_W macro
...
Simplifies pshufb masks that operate on words.
2012-07-22 16:56:58 -04:00
Kostya Shishkov
1470ce21ce
Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
2012-07-22 08:43:12 +02:00
Mohamed Naufal Basheer
55c3a4f617
G.723.1 demuxer and decoder
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:54 +02:00
Mohamed Naufal Basheer
8aac5585fa
Add a shift parameter to celp_lp_synthesis_filter()
...
This is intended for reuse by the G.723.1 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:53 +02:00
Luca Barbato
51a5ddfa01
libopenjpeg: K&R formatting cosmetics
2012-07-22 04:05:45 +02:00
Ronald S. Bultje
b170b323e3
ac3: don't use different names for option tables in the template file.
...
The variables which are declared in the teplate file are static and
therefore there is no symbol clash.
2012-07-21 16:42:36 -07:00
Ronald S. Bultje
98041afb5f
adpcm: don't duplicate identical AVSampleFmt array for each encoder.
2012-07-21 16:31:15 -07:00
Luca Barbato
ce64e5bfd1
libopenjpeg: introduce lowres and lowqual private options
...
OpenJPEG can decode in lower resolution or decode only a number
of enhancement layers.
2012-07-20 13:23:18 +02:00
Justin Ruggles
4cd22b7738
alac: fix channel pointer assignment for 24 and 32-bit
...
Needs to be done separately for each element.
2012-07-19 20:14:29 -04:00
Justin Ruggles
eeb55f5f2f
alac: cosmetics: general pretty-printing and comment clean up
2012-07-19 13:26:48 -04:00
Justin Ruggles
f3e5a7844b
alac: calculate buffer size outside the loop in allocate_buffers()
2012-07-19 13:26:48 -04:00
Justin Ruggles
bae83f2c74
alac: change some data types to plain int
2012-07-19 13:26:48 -04:00
Justin Ruggles
2aebac6918
alac: cosmetics: rename some variables and function names
2012-07-19 13:26:48 -04:00
Andrew D'Addesio
1b3ef155d7
alac: multi-channel decoding support
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
81c9e2e6d0
alac: split element parsing into a separate function
...
This will make multi-channel implementation simpler.
Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.
2012-07-19 13:26:48 -04:00
Justin Ruggles
cd632619d9
alac: support a read sample size of up to 32
...
Use get_bits_long() in decode_scalar().
Use unsigned int for decoded value.
2012-07-19 13:26:48 -04:00
Justin Ruggles
73dc0db486
alac: output in planar sample format
...
Avoids unneeded interleaving and allows for reusing the AVFrame output buffer
as the internal buffer for 24-bit and 32-bit sample size.
2012-07-19 13:26:48 -04:00
Justin Ruggles
6482bd8831
alac: add 32-bit decoding support
2012-07-19 13:26:48 -04:00
Andrew D'Addesio
6cda74c155
alac: simplify channel interleaving
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
5138ff143f
alac: use AVPacket fields directly in alac_decode_frame()
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a206eb32f
alac: fix check for valid max_samples_per_frame
2012-07-19 13:26:47 -04:00
Justin Ruggles
1193d3fedd
alac: use get_sbits() to read LPC coefficients instead of casting
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a50ec6799
alac: move the current samples per frame to the ALACContext
...
This will simplify the multi-channel implementation.
2012-07-19 13:26:47 -04:00
Justin Ruggles
46043962ea
alac: avoid using a double-negative when checking if the frame is compressed
2012-07-19 13:26:47 -04:00
Justin Ruggles
9a6c528e08
alac: factor out output_size check in predictor_decompress_fir_adapt()
2012-07-19 13:26:47 -04:00
Justin Ruggles
ebd4c3add1
alac: factor out loading of next decoded sample in LPC prediction
2012-07-19 13:26:47 -04:00
Justin Ruggles
a4ecd41442
alac: use index into buffer_out instead of incrementing the pointer
2012-07-19 13:26:47 -04:00
Justin Ruggles
f2515cd629
alac: simplify lpc coefficient adaptation
2012-07-19 13:26:47 -04:00
Justin Ruggles
abc4376b31
alac: reduce the number of local variables needed in lpc prediction
2012-07-19 13:26:47 -04:00