Peter Ross
e211e255aa
bink: prevent overflows within binkidct by using int-sized intermediate array
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Peter Ross
ccfcddb3f2
Bink version 'b' audio decoder
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Peter Ross
8a8c283edd
binkaudio: simplify frame_len_bits and frame_len calculation
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Peter Ross
a304def1dc
binkaudio: remove unnecessary loop
...
decode_init sets bands[0] == 2, so this loop always sets the band table
index (k) to zero.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Peter Ross
582ac86d19
binkaudio: perform band table scaling in decode_init
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Mans Rullgard
8997bb8807
bink: use LOCAL_ALIGNED for aligned stack data
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Kyle
04973f8082
dxva2: define required feature selection macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anssi Hannula
7e06e0ede3
dca: use EXT_AUDIO_ID field to determine core extensions
...
This avoids the core substream extensions scan when the EXT_AUDIO_ID
field indicates no extensions or only unsupported extensions. The scan
is done only if the value of EXT_AUDIO_ID is unknown or indicates a
present XCh extension which we can decode.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
1108f8998c
vmdaudio: output 8-bit audio as AV_SAMPLE_FMT_U8.
...
There is no need to expand to 16-bits. Just use memcpy() to copy the raw data.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
2ec7862db8
vmdaudio: remove unnecessary fields from VmdAudioContext and use the corresponding AVCodecContext fields instead.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
1e86d685e0
vmdaudio: add out_bps to VmdAudioContext and use it to replace hard-coded sample size.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
1574eff3d2
vmdaudio: simplify vmdaudio_decode_frame() by handling block_type first, then making a single call to vmdaudio_loadsound().
...
This also adds output buffer size checks for AUDIO and SILENCE block types.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
ba9516cca8
cosmetics: reindent after previous commit
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
762b386e4a
vmdaudio: move all silence chunk handling to vmdaudio_loadsound().
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
8e9027d266
cosmetics: remove debugging cruft
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
868f2f4d90
cosmetics: reindent after previous commit
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
2d213695fc
vmdaudio: simplify buffer pointer and header size handling.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
7a4fb3fd93
vmdaudio: set *data_size to zero when skipping small packets and add a warning log message.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
22f893e1c9
vmdaudio: validate block type
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
dd1af5136f
vmdaudio: use macros and a local variable for block type.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
6989cb2dae
vmdaudio: correct the silent chunk count in the first block.
...
This fixes A/V sync with several samples, notably:
http://samples.mplayerhq.hu/game-formats/sierra-vmd/swat_*.vmd
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
9b73f78600
vmdaudio: output audio samples for standalone silent blocks.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
1328d43313
vmdaudio: remove duplicated code by merging mono and stereo decoding.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Justin Ruggles
a58bcb40b1
vmdaudio: fix raw_block_size calculation.
...
The size should depend on the output sample size, not the internal bit depth.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Young Han Lee
e22910b21a
aacdec: Reduce the size of buf_mdct.
...
It was doubled in size for the LTP implementation. This brings it back
down to its original size.
14 years ago
Mans Rullgard
e0e46cae37
vp8: ppc: fix invalid reads in altivec epel mc
...
The 4-tap filters should only access one row/column before the
reference block.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
381efba0ec
ppc: fix vc1 inverse transform, unbreak build
...
GCC 4.3 and later are more particular about signedness matching
in vector operations. The operations under if(rangered) were
missing assignments and thus had no effect.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
78e2380a6d
targa: prevent integer overflow in bufsize check.
14 years ago
Ronald S. Bultje
f8bed30d8b
VC1: merge idct8x8, coeff adjustments and put_pixels.
...
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
14 years ago
Ronald S. Bultje
484a337cd7
dsputil: make {add/put/put_signed}_pixels_clamped() non-static.
14 years ago
Ronald S. Bultje
bbfd2e7ab4
VC1: inline vc1_put_block() in vc1_decode_i_blocks().
...
Advantage is that it allows us to combine several loops into a single
one, and these can eventually be merged into the IDCT itself. Also, it
allows us to remove vc1_put_block(), and makes CODEC_FLAG_GRAY faster.
14 years ago
Mans Rullgard
1efa772e20
amrnb: use correct size when copying lsf_r array
...
lsf_r is an array of int16_t, not float.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
70aa916e46
VC1: don't use vc1_put_block() in vc1_decode_i_blocks_adv().
...
Advanced profile never uses "range reduction", so vc1_put_block() quite
literally just calls put_pixels_clamped() from vc1_decode_i_blocks_adv().
By inlining the function, we can prevent calling IDCT8x8 if
CODEC_FLAG_GRAY is set, and we don't have to scale the coeffs in the
[0,256] range, but can instead use put_signed_pixels_clamped().
14 years ago
Ronald S. Bultje
bf6fa73245
dsputil_mmx.c: remove ff_vector128.
...
Remove ff_vector128, it is identical to ff_pb_80.
14 years ago
Reimar Döffinger
2bbec1eda4
Fix invalid reads in VC1 decoder
...
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
14 years ago
David Conrad
a89f4ca005
Fix VP3 edge emulation
...
With negative stride, the start of the edge_emu buffer should be pointing to
the last line, not the end of the buffer.
With positive stride, pointing to the end of the buffer was completely wrong.
14 years ago
Young Han Lee
9707f84fa7
aacdec: dsputilize the scalar multiplication in intensity stereo
14 years ago
Jason Garrett-Glaser
902685b8ab
VP3: fix decoding of videos with stride > 2048
...
Also remove qscale_table code; this didn't make sense anyways as VP3 doesn't
use an MPEG-like quantizer scale.
14 years ago
Jean-Daniel Dupas
351423ae1f
targa: fix potential buffer overreads
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
ed040f35f2
Fix PPC build.
14 years ago
Jason Garrett-Glaser
891b1f15a7
VP8: init one less near_mv
...
This one didn't actually need to be initialized.
14 years ago
Jason Garrett-Glaser
bcf4568f18
VP8: split out declarations to new header
14 years ago
Jason Garrett-Glaser
7634771e70
VP8: faster MV clipping
14 years ago
Ronald S. Bultje
12802ec060
dsputil: move VC1-specific stuff into VC1DSPContext.
14 years ago
Ronald S. Bultje
0b16cdc3fa
VC1: simplify a calculation in a loop.
14 years ago
Ronald S. Bultje
1da6ea3954
VC1: transpose IDCT 8x8 coeffs while reading.
14 years ago
Young Han Lee
979395bbbb
mdct: remove unnecessary multiplication
...
3*n4 was already calculated in n3.
14 years ago
Justin Ruggles
5b54d4b376
ac3enc: fix bug in stereo rematrixing decision.
...
The rematrixing strategy reuse flags are not reset between frames, so they
need to be initialized for all blocks, not just block 0.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Michael Niedermayer
50a82c2c75
vbv_delay AVOption for ABI compatibility
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago
Carl Eugen Hoyos
2e3c56a29f
Set maximum lowres value for the MJPEG decoder to 3.
...
While 4 works for some samples, 3 is the correct value since 8x8
DCT is used by (m)jpeg.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago