Justin Ruggles
0df5e869cb
mpegaudio: do not use init_static_data() for initializing tables.
...
It is called once for each mpegaudio codec that is registered, which adds
significant overhead.
13 years ago
Alex Converse
f11b0e9543
wmavoice: Make format string match variable type.
13 years ago
Kostya Shishkov
498605b4ad
vc1: select interlaced scan table by FCM element
...
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Cheng Sun
3f5aa7dfa6
pthread: track thread existence in a separate variable.
...
This fixes a compile error on mingw32 when using p->thread
directly (as if it were a pointer) to track thread existence,
because the type is opaque and may be a non-pointer.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Mans Rullgard
8540dcfd7a
snow: fix integer overflows
...
The way these values are used, they should have an unsigned type.
A similar change was made for mpegvideo in cb66847
.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
0e55edcb57
svq1enc: remove stale altivec-related hack
...
altivec.h is no longer (indirectly) included, so this hack is not
needed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
ff6d9cc558
snow: fix signed overflow in byte to 32-bit replication
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Justin Ruggles
9d2dd356c2
adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
...
It is used by the ADX decoder, and therefore needs to be exported in order to
work with shared libs.
13 years ago
Justin Ruggles
a17c3c7d15
avformat: add CRI ADX format demuxer
13 years ago
Justin Ruggles
27360ccc5e
adx: add an ADX parser.
...
This simplifies the decoder so it doesn't have to process an in-packet header
or handle arbitrary-sized packets. It also fixes decoding of files with large
headers.
13 years ago
Justin Ruggles
d8cec2d7fc
adx: move header decoding to ADX common code
13 years ago
Justin Ruggles
7ff55d9bdb
adx: calculate the number of blocks in a packet
13 years ago
Justin Ruggles
05c1f11b56
adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
13 years ago
Justin Ruggles
d1745619db
adx: check for unsupported ADX formats
13 years ago
Justin Ruggles
994238536a
adx: simplify encoding by using put_sbits()
13 years ago
Justin Ruggles
b237248e29
adx: calculate correct LPC coeffs
...
Instead of using fixed coefficients, the correct way is to calculate the
coefficients using the highpass cutoff frequency from the ADX stream header
and the sample rate.
13 years ago
Justin Ruggles
954d94dd5e
adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
13 years ago
Justin Ruggles
c52ddc6024
adx: simplify adx_decode() by using get_sbits() to read residual samples
13 years ago
Justin Ruggles
ca9e4727ba
adx: fix the data offset parsing in adx_decode_header()
...
first 2 bytes are 0x80, 0x00. offset is only 16-bit.
this is according to format descriptions on multimedia wiki and wikipedia.
13 years ago
Justin Ruggles
837bbd19eb
adx: remove unneeded post-decode channel interleaving
...
instead interleave channels while decoding
13 years ago
Justin Ruggles
e2d1eace00
adx: validate header values
13 years ago
Justin Ruggles
8db67610c0
adx: cosmetics: general pretty-printing and comment clean-up
13 years ago
Justin Ruggles
fbc79a9101
adx: remove useless comments
13 years ago
Justin Ruggles
e0722d7fb7
adx: change short to int16_t
13 years ago
Justin Ruggles
dd1b9f7cd9
adx: rename struct PREV to ADXChannelState
13 years ago
Mans Rullgard
3a83b2461e
dnxhdenc: fix signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
b6ae086682
dv: simplify bitstream splicing in dv_decode_ac()
...
This is simpler and fixes some overflow checker warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
b02aa3a8ea
s3tc: fix shift overflow by using unsigned constant
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
f7f892e4d5
svq1enc: fix signed multiplication overflow
...
This multiplication can overflow the signed range but not the
unsigned. After right-shifting it will thus fit in the signed
range again.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
e4faa31a0a
svq1dec: use sign_extend()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
171ec81223
rv34: fix signed multiplication overflow
...
Multiply by unsigned 0x01010101 to replicate bytes into 32-bit
word.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Cheng Sun
e524eadbf8
[PATCH] Fix crash when initializing multi-threaded decoding for corrupted file.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Mans Rullgard
b7581b5c83
cook: use a table for xor key rotation
...
This is simpler and avoids an invalid shift by 32 in the
aligned case.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
644bff6c9b
apedec: fix signed integer overflows
...
This bit manipulation is equivalent but avoids undefined
shifts and overflows.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
93c286e54f
qtrle: simplify 32-bit decode using intreadwrite macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
3bd1162a52
gif: fix invalid signed shifts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Reimar Döffinger
7fb55e0b02
rtjpeg: simplify get_block() by using get_bits_left.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Reimar Döffinger
7a62ddb689
rtjpeg: check get_block return value for error.
...
This avoids crashes due to reading out-of-bounds.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Reimar Döffinger
f6afacdb3b
nuv: check per-frame header for validity.
...
Since it contains dimensions parsing an invalid one has rather
annoying effects.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Reimar Döffinger
785baa738a
nuv: use FFALIGN.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Carl Eugen Hoyos
1484b5dec5
flicvideo: check extradata_size before accessing extradata.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Michael Niedermayer
5ace144fe0
fraps: check for overread.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
K.Y.H
51f316a997
cook: fix apparent typo in extradata parsing
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Anton Khirnov
488eec1044
lavc: update doxy to use nondeprecated API.
13 years ago
Mans Rullgard
cc276c85d1
Make channel layout masks unsigned
...
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.
Fixes a few invalid shifts.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
00a856e3f9
dca: ARMv6 optimised decode_blockcode()
...
This is a hand-tuned version of the code with impossible parts of
the FASTDIV function ommitted.
2-5% faster overall on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Janne Grunau
117e2a30f2
frame-mt: return consumed packet size in ff_thread_decode_frame
...
This is required to fulfill avcodec_decode_video2() promise to return
the number of consumed bytes on success.
13 years ago
Luca Barbato
7f1b427018
snow: split snow in snowdec and snowenc
...
The common non inlined code goes in snow.c, the common inlined code in
snow.h, tables move in snowdata.h (included only by snow.c)
13 years ago
Anton Khirnov
8b7412fe4e
tiffenc: deprecate using compression_level
13 years ago
Ronald S. Bultje
db431f7efe
h264: add support for decoding planar RGB images.
13 years ago