Diego Biurrun
44b0edda3f
Drop some pointless void* return value casts from av_malloc() invocations.
2012-01-02 16:41:24 +01:00
Justin Ruggles
3a1867deac
wavpack: fix typos in previous cosmetic clean-up commit
2012-01-02 08:54:30 -05:00
Justin Ruggles
513c238fa9
wavpack: cosmetics: K&R pretty-printing
2012-01-02 08:52:59 -05:00
Hendrik Leppkes
14165fe125
wavpack: determine sample_fmt before requesting a buffer
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-01-01 23:24:15 -05:00
Justin Ruggles
8893fbdf7a
bmv audio: implement new audio decoding API
2012-01-01 22:56:04 -05:00
Justin Ruggles
03fafdec82
mpegaudiodec: skip all channels when skipping granules
...
Also fix calculation of new position when switching buffers.
This fixes "overread" error messages when seeking.
2012-01-01 22:37:50 -05:00
Aneesh Dogra
f7e30cc13b
bfi: K&R cosmetics
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-01 22:27:04 +01:00
Aneesh Dogra
87d9874864
bgmc: K&R cleanup
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-01 22:27:04 +01:00
Stefano Sabatini
28b4af8e38
rawdec: propagate pict_type information to the output frame
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-01 22:27:04 +01:00
Piotr Bandurski
d3a5c26986
rawdec: Support more QT 1bpp rawvideo files.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-01 22:27:04 +01:00
Janne Grunau
b12d217339
threads: limit the number of automatic threads to MAX_AUTO_THREADS
...
The extra thread added in {frame_}*thread_init was not taken into
account. Explicitly sets thread_count to 1 if only one CPU core was
detected. Also fixes two typos in comments.
2012-01-01 21:11:43 +01:00
Janne Grunau
b6064d9a59
threads: set thread_count to 1 when thread support is disabled
2012-01-01 14:37:38 +01:00
Janne Grunau
b4d44a45f9
threads: introduce CODEC_CAP_AUTO_THREADS and add it to libx264
...
Some external codecs have their own code to determine the best number
of threads. This number is not necessary the number of cpu cores.
Thread_count will be only 0 if the codec has CODEC_CAP_AUTO_THREADS.
2012-01-01 14:37:37 +01:00
Ronald S. Bultje
464f26889c
mpegaudiodec: fix seeking.
...
The safe bitstream reader does not allow using skip_bits_long() to seek to a
point before the start of the buffer, which was needed by the mp3 decoder.
This change instead calculates the start point of the first valid granule and
skips to that position.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-31 14:19:09 -05:00
Justin Ruggles
481a7ff5bd
mpegaudiodec: fix compilation when testing the unchecked bitstream reader
2011-12-31 14:19:09 -05:00
Janne Grunau
bcc7396065
threads: add sysconf based number of CPUs detection
...
Can act as fallback and should work on a couple of Unix systems.
2011-12-31 17:40:12 +01:00
Janne Grunau
937ff3a18a
threads: always include necessary headers for number of CPUs detection
...
Since the conditions for the actual usage are more specific a less
preferred method can be used. This would cause compilation errors
because necessary headers are not included.
2011-12-31 17:40:12 +01:00
Janne Grunau
e4e30256f8
threads: default to automatic thread count detection
2011-12-31 17:40:12 +01:00
Shitiz Garg
c3513477bb
cook: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-31 01:04:09 +01:00
Diego Biurrun
d4b63054d9
cosmetics: Drop unnecessary parentheses around return values.
2011-12-30 22:18:07 +01:00
Diego Biurrun
ca5ab8cd21
libvorbis: K&R reformatting cosmetics
2011-12-29 23:30:20 +01:00
Aneesh Dogra
c4db344664
libmp3lame: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-29 23:30:20 +01:00
Aneesh Dogra
9342ecf02e
mpegvideo_enc: K&R cosmetics (line 1000-2000).
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-29 13:52:04 -08:00
Kostya Shishkov
1fbd3d30ae
indeo4: remove two unused variables
2011-12-29 17:42:31 +01:00
Thad Ward
7af507ea99
lagarith: add decode support for arith rgb24 mode
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-29 07:37:33 +01:00
Michael Niedermayer
8f5216905f
v410dec: Check for sufficient input data. Fixes crash
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-28 12:47:36 -08:00
Kostya Shishkov
adfe0c942e
Indeo 4 decoder
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2011-12-28 15:22:18 +01:00
Aneesh Dogra
bd96be6e27
mpegvideo_enc: K&R cosmetics
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-27 10:20:20 -08:00
Janne Grunau
06bb590558
threads: test for sys/param.h and include it for sysctl on OpenBSD
2011-12-27 16:09:41 +01:00
Martin Storsjö
676a9ee1d2
x86: Fix constraints for decode_significance*_x86
...
Originally, prior to 8742a4ff8
, the caller code was compiled
within this condition:
ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE && !defined(BROKEN_RELOCATIONS)
Since HAVE_7REGS is defined as
(ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
the subcondition HAVE_7REGS && HAVE_EBX_AVAILABLE is equal
to HAVE_7REGS (for 32 bit at least). The correct simplification
of the original condition thus is HAVE_7REGS, not
HAVE_EBX_AVAILABLE.
This fixes compilation in some cases where HAVE_EBP_AVAILABLE = 0
and HAVE_EBX_AVAILABLE = 1.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-27 09:05:14 +02:00
Anton Khirnov
80dc7c0160
avs: call release_buffer() at the end.
...
Fixes a memleak.
2011-12-25 20:50:20 +01:00
Anton Khirnov
06e8d38f2b
Add minor bumps and APIchanges entries for lavc/lavfi changes.
2011-12-25 20:50:16 +01:00
Konstantin Todorov
c65dfac466
mpegvideo.c: K&R formatting and cosmetics.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-25 10:07:19 -08:00
Stefano Sabatini
8a4a5f6ff7
lavc: add format field to AVFrame
...
The format is a per-frame property, having it in AVFrame simplify the
operation of extraction of that information, since avoids the need to
access the codec/stream context.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
3a2ddf7c2c
lavc: add width and height fields to AVFrame
...
width and height are per-frame properties, setting these values in
AVFrame simplify the operation of extraction of that information,
since avoids the need to check the codec/stream context.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
b58dbb5b03
lavc: add a sample_aspect_ratio field to AVFrame
...
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-12-25 16:18:57 +01:00
Reinhard Tartler
8b94df0f20
vp3dec: Check coefficient index in vp3_dequant()
...
Based on a patch by Michael Niedermayer <michaelni@gmx.at>
Fixes NGS00145, CVE-2011-4352
Found-by: Phillip Langlois
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-23 15:42:24 +01:00
Michael Niedermayer
6e24b9488e
svq1dec: call avcodec_set_dimensions() after dimensions changed.
...
Fixes NGS00148, CVE-2011-4579
Found-by: Phillip Langlois
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-23 15:42:24 +01:00
Janne Grunau
7052618c7e
threads: check defines before using them in automatic thread detection
2011-12-23 14:41:03 +01:00
Janne Grunau
846dca1aa3
pthread: include sys/types.h before sys/sysctl.h
...
Fixes compilation on FreeBSD with clang 3.
2011-12-23 14:40:39 +01:00
Anton Khirnov
d09298f0d6
4xm: remove unused variables.
2011-12-23 09:23:20 +01:00
Alexander Strange
bc6a3bd4a5
h264: Fix a possible overread in decode_nal_units()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-23 08:32:18 +01:00
Sergey Radionov
01eb9805f3
w32thread: call ResetEvent() in pthread_cond_broadcast().
...
Also add "volatile" to broadcast flag (since it is used from
multiple threads).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-22 19:48:52 -08:00
Gaurav Narula
ad3161ec1d
kvmc: fix invalid reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-23 00:11:19 +01:00
Shitiz Garg
355d917c0b
4xm: Add a check in decode_i_frame to prevent buffer overreads
...
Fixes bugzilla #135
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-22 23:26:55 +01:00
Paul B Mahol
01a01bf8bd
adpcm: fix IMA SMJPEG decoding
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-22 23:04:30 +01:00
Janne Grunau
c32e4029d9
options: set minimum for "threads" to zero
...
A negative number of threads does not make sense and 0 is used for
autodetection. Adds a symbolic name for autodetection.
2011-12-22 21:50:07 +01:00
Janne Grunau
b9e2226972
bsd: use number of logical CPUs as automatic thread count
2011-12-22 21:50:07 +01:00
Janne Grunau
ad29ecbff0
windows: use number of CPUs as automatic thread count
2011-12-22 21:50:07 +01:00
Janne Grunau
ea4d5f4837
linux: use number of CPUs as automatic thread count
...
Use sched_getaffinity to determine the number of logical CPUs.
Limits the number of threads to 16 since slice threading of H.264
seems to be buggy with more than 16 threads.
2011-12-22 21:50:07 +01:00
Janne Grunau
f77f640b30
pthreads: reset active_thread_type when slice thread_init returrns early
2011-12-22 21:50:07 +01:00
Paul B. Mahol
fede015468
v410dec: include correct headers
...
This file does not use anything from get_bits.h but needs
intreadwrite.h.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-22 19:22:48 +01:00
Diego Biurrun
aaf47bcde7
Drop ALT_ prefix from BITSTREAM_READER_LE name.
...
The prefix is a historic remnant that probably meant "alternative".
Now that the A32 bitstream reader has been dropped it makes no sense anymore.
2011-12-22 16:51:23 +01:00
Justin Ruggles
9a3f10695a
ra144enc: zero the reflection coeffs if the filter is unstable
...
fixes use of uninitialized values if the filter is still unstable after using
the previous frame lpc coefficients.
2011-12-22 08:31:07 -05:00
Alex Converse
4bf3c8f226
mov: Don't stick the QuickTime field ordering atom in extradata.
...
The 'fiel' atoms can be found in H.264 tracks clobbering the extradata.
MJPEG supports non field based extradata, and this data should be
preserved when copying.
2011-12-21 22:04:37 -08:00
Justin Ruggles
f264d336fe
truespeech: fix invalid reads in truespeech_apply_twopoint_filter()
...
fixes Bug 171
2011-12-21 18:13:06 -05:00
Martin Storsjö
ce94948198
nellymoserdec: Indicate that the decoder can handle changed parameters
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:44 +02:00
Martin Storsjö
f13db94d0a
libavcodec: Apply parameter change side data when decoding audio
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:42 +02:00
Martin Storsjö
fe75dc8583
libavcodec: Define a side data type for parameter changes
...
Also define a codec capability for codecs that can handle
parameters changed externally between decoded packets.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:39 +02:00
Martin Storsjö
132846b0c8
aacdec: Handle new extradata passed as side data
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:39 +02:00
Martin Storsjö
195c123cc8
libavcodec: Define a side data type for new extradata
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:36 +02:00
Diego Biurrun
6fdb2ce34a
x86: Tighten register constraints for decode_significance*_x86.
...
On 32-bit OS X with gcc 4.0/4.2 and shared libraries enabled, the ebx register
is not available, but required to assemble the functions.
This reverts commit 8742a4f
to a simplified version of the original constraints.
2011-12-21 12:06:37 +01:00
Diego Biurrun
c18365402b
Replace Subversion revisions in comments by Git hashes.
2011-12-21 09:04:25 +01:00
Diego Biurrun
8742a4ff87
h264_cabac: synchronize decode_significance_*_x86 conditionals
...
The definition and the call site where under different #ifdefs.
2011-12-21 09:04:25 +01:00
Sergey Radionov
2003a29284
w32threads: wait for the waked thread in pthread_cond_signal.
...
This fixes a deadlock VLC triggered with multithreaded decoding. The
wait forces one of the current waiters to wake and not the thread
which calls pthread_cond_signal() itself.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-20 20:21:10 -08:00
Alex Converse
021914e27f
aacdec: Cleanup decode_ics_info.
...
Remove unused function argument.
Return an AVERROR.
Don't zero out ICS on failure.
2011-12-20 18:32:41 -08:00
Rafaël Carré
37c0dc626d
lavc: always align height by 32 pixel
...
Interlaced content for most codec requires it.
This patch is a stop-gap pending a serious rework to support
codecs with non 16 pixel macroblocks.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-21 00:00:23 +01:00
Luca Barbato
91b1e6f0c6
raw: add 10bit YUV definitions
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-21 00:00:03 +01:00
Diego Biurrun
1ce1578e4e
mpegvideo_enc: separate declarations and statements
...
libavcodec/mpegvideo_enc.c:1209: warning: ISO C90 forbids mixed declarations and code
2011-12-20 22:38:54 +01:00
Diego Biurrun
bc4d156140
vp3: Reorder some functions to fix VP3 build with Theora disabled.
2011-12-20 22:38:53 +01:00
Diego Biurrun
19277d9335
build: fix standalone compilation of ADX encoder
...
The encoder depends on the common code, so link against it.
2011-12-20 22:38:52 +01:00
Diego Biurrun
18725fcdc2
build: fix standalone compilation of ADPCM decoders
...
The generic ADPCM codes depends on the ADPCM data tables.
2011-12-20 22:38:51 +01:00
Aneesh Dogra
1443ea93d9
4xm: Use bytestream2 functions to prevent overreads
...
Fixes Bug 110.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-20 13:17:09 -05:00
Aneesh Dogra
fd22616c59
bytestream: add a new set of bytestream functions with overread checking
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-20 13:17:03 -05:00
Martin Storsjö
b797f73520
vc1dec: Use the right pointer type for the tmp pointer
...
This fixes warnings about assignment from incompatible
pointer type.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-20 11:04:26 +02:00
Janne Grunau
729ebb2f18
h264: clear trailing bits in partially parsed NAL units
...
Trailing bits are likely to be non-zero if the NAL unit is truncated.
Clearing the bits make overreads of the bitstream less likely in this
case. Fixes playback of
http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4 which
has a forbidden byte sequence of 0x00 0x00 0x00 in it SPS.
2011-12-19 23:14:21 +01:00
Aneesh Dogra
0a6aff6936
vc1: Handle WVC1 interlaced stream
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-19 22:22:15 +02:00
Aneesh Dogra
00aad121d8
xl: Fix overreads
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-19 20:36:26 +02:00
Asen Lekov
25c2d76b68
qcelpdec: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-19 16:22:30 +01:00
Diego Biurrun
2fd291846b
qcelpdec: cosmetics: drop some pointless parentheses
2011-12-19 16:22:11 +01:00
Diego Biurrun
30bbd5cbc0
x86: conditionally compile dnxhd encoder optimizations
2011-12-19 13:54:10 +01:00
Janne Grunau
358ea75e9e
Revert "h264: skip start code search if the size of the nal unit is known"
...
This reverts commit 87eebb3454
.
2011-12-19 03:24:32 +01:00
Janne Grunau
87eebb3454
h264: skip start code search if the size of the nal unit is known
...
Start code emulation prevention is only required in Annex B bytestream
packed NAL units. For other coding formats the size is already known.
Looking for a start code prefix can result in false positives like in
http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4
which has a false positive in the SPS.
2011-12-18 23:52:53 +01:00
Paul B. Mahol
2e7905eee8
cljr: fix buf_size sanity check
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-18 23:52:53 +01:00
Shitiz Garg
652d81b2c2
cljr: Check if width and height are positive integers
...
Width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-18 23:52:53 +01:00
Mans Rullgard
8400b126ac
avcodec: deprecate AVFrame.age
...
This was intended as an optimisation for skipped blocks in MPEG2
P-frames and never used elsewhere. Removing this "optimisation"
speeds up MPEG2 decoding by 1-2% (ARM Cortex-A9).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-18 22:14:33 +00:00
Justin Ruggles
bc78ceec2b
4xm: remove unneeded check for remaining unused data.
...
This is unnecessary complication that only prints a message and does not
affect decoding.
2011-12-18 13:43:45 -05:00
Uoti Urpala
488a5b3fdd
tmv decoder: set correct pix_fmt
...
Previously the decoder only worked if the user had set avctx->pix_fmt
manually. For some reason the libavformat tmv demuxer sets this, so
the problem was not visible in avplay etc.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-18 06:58:03 -08:00
Mans Rullgard
e064d46e61
dct-test: remove unused variable cropTbl
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 23:12:31 +00:00
Mans Rullgard
86a10281c7
get_bits: remove LAST_SKIP_CACHE macro
...
This macro is empty since the removal of the A32 bitstream reader.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 20:04:28 +00:00
Mans Rullgard
5d8122db5c
get_bits: remove strange/obsolete comments
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 18:36:20 +00:00
Mans Rullgard
e42bb0ee01
get_bits: whitespace (mostly) cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 18:36:20 +00:00
Mans Rullgard
adb28c49bd
get_bits: remove unnecessary #includes
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 17:53:57 +00:00
Mans Rullgard
ac08f798bb
mp3dec: hack: fix decoding with safe bitstream reader
...
The buffer splicing relies on the bitstream reader over-reading
the end of the buffer as declared in init_get_bits(), although
more data is actually present. Manually moving the bitstream
boundary after init_get_bits() allows this to work as expected.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 17:51:22 +00:00
Shitiz Garg
e614fac2e6
adpcm: Check for channels to be a non-zero integer
...
channels would be 0 sometimes and would cause floating point exception
Fixes bugzilla #124
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-17 09:44:19 -05:00
Ronald S. Bultje
8cfbbd928c
get_bits: introduce safe bitreading to prevent overreads.
...
When turned on, H264/CAVLC gets ~15% (CVPCMNL1_SVA_C.264) slower for
ultra-high-bitrate files, or ~2.5% (CVFI1_SVA_C.264) for lower-bitrate
files. Other codecs are affected to a lesser extent because they are
less optimized; e.g., VC-1 slows down by less than 1% (all on x86).
The patch generated 3 extra instructions (cmp, cmovae and mov) per
call to get_bits().
The performance penalty on ARM is within the error margin for most
files, up to 4% in extreme cases such as CVPCMNL1_SVA_C.264.
Based on work (for GCI) by Aneesh Dogra <lionaneesh@gmail.com>, and
inspired by patch in Chromium by Chris Evans <cevans@chromium.org>.
2011-12-17 14:03:41 +00:00
Mans Rullgard
a1e98f198e
get_bits: remove A32 variant
...
The A32 bitstream reader variant is only used on ARMv5 and for
Prores due to the larger bit cache this decoder requires.
In benchmarks on ARMv5 (Marvell Sheeva) with gcc 4.6, the only
statistically significant difference between ALT and A32 is
a 4% advantage for ALT in FLAC decoding. There is thus no (longer)
any reason to keep the A32 reader from this point of view.
This patch adds an option to the ALT reader increasing the bit
cache to 32 bits as required by the Prores decoder. Benchmarking
shows no significant change in speed on Intel i7. Again, the
A32 reader fails to justify its existence.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 21:21:48 +00:00
Derek Buitenhuis
bb9747c8ee
wavpack: Fix 32-bit clipping
...
In the case that (frame_flags & 0x03) == 3, hybrid_maxclip
may have had a signed integer overflow.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 20:55:53 +01:00
Derek Buitenhuis
365e1ec26d
wavpack: Clip samples after shifting
...
It doesn't make much sense to clip pre-shift,
nor is it correct for proper decoding.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 20:55:46 +01:00
Ronald S. Bultje
0b4c323213
h264: don't drop B-frames after next keyframe on POC reset.
...
The keyframe after a POC reset may not be the first to be returned to
the user. Therefore, don't reset the expected next POC once we return
a keyframe to the user, but once we know that the next frame in the
return-queue is a keyframe.
2011-12-16 11:24:18 -08:00
Mans Rullgard
b8909cb364
get_bits: remove useless pointer casts
...
These pointers are already of the correct type.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 15:34:35 +00:00
Mans Rullgard
11b1db2759
rv40: NEON optimised weak loop filter
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 14:36:01 +00:00
Mans Rullgard
dabba0c676
v410enc: fix output buffer size check
...
The encoder clearly needs width * height * 4 bytes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 17:47:10 +00:00
Mans Rullgard
0249144a1c
v410enc: include correct headers
...
This file does not use anything from put_bits.h but needs
intreadwrite.h.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 17:47:10 +00:00
Mans Rullgard
b536c7a3e1
ARM: fix external symbol refs in rv40 asm
...
External symbol references need prefixes on some systems.
This should fix build errors on Darwin.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 11:02:59 +00:00
Martin Storsjö
1b35af3225
libgsm: Reset the MS mode of GSM in the flush function
...
The mode is set in libgsm_decode_init, but the decoder
object is simply destroyed and recreated in the flush
function - therefore the mode has to be set again.
This fixes playback using the libgsm_ms decoder in avplay.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-15 09:08:40 +02:00
Martin Storsjö
8637af8d24
libgsm: Set options on the right object
...
This fixes regressions in decoding using the libgsm_ms decoder,
broken since 0eea212943
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-15 09:08:21 +02:00
Mans Rullgard
f7de52354f
ARM: dca: disable optimised decode_blockcodes() for old gcc
...
Old gcc versions have trouble compiling this function, and
no simple, targeted test is possible.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 01:02:58 +00:00
Andrey Utkin
4f820131fa
mpegvideo: remove abort() in ff_find_unused_picture()
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-14 18:17:21 +01:00
Mans Rullgard
71ce76027d
rv40: NEON optimised loop filter strength selection
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-14 11:26:30 +00:00
Mans Rullgard
d8edf1b515
rv40: rearrange loop filter functions
...
This splits the loop filter functions into smaller, more SIMD-friendly
functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-14 11:26:30 +00:00
Diego Biurrun
88b9735753
build: conditionally compile x86 H.264 chroma optimizations
2011-12-14 11:58:45 +01:00
Derek Buitenhuis
80f6c0bb95
v410 encoder and decoder
...
v410 is a packed 10-bit 4:4:4 YCbCr format used in
QuickTime.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-13 23:34:24 +01:00
Gaurav Narula
a99273ebf3
ulti: Fix invalid reads
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-13 20:08:15 +02:00
Luca Barbato
4f3667ba59
vc1: mark with ER_MB_ERROR bits overconsumption
...
This patch is a generalization of what Michael Niedermayer
fixed in a single case.
The wmv8-drm fate test had been updated accordingly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Luca Barbato
63ccd46687
lavc: introduce ER_MB_END and ER_MB_ERROR
...
Simplify a little error resilience calls
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Luca Barbato
5bf2ac2b37
error_resilience: use the ER_ namespace
...
Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Mans Rullgard
878dda5db1
build: move inclusion of subdir.mak to main subdir loop
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Mans Rullgard
4722a03c75
rv34: NEON optimised 4x4 dequant
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 12:06:21 +00:00
Mans Rullgard
40901fc14e
rv34: move 4x4 dequant to RV34DSPContext
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 12:05:34 +00:00
Alex Converse
5cd56e193f
aacdec: Use intfloat.h rather than local punning union.
2011-12-12 21:36:54 -08:00
Diego Biurrun
58c42af722
doxygen: misc consistency, spelling and wording fixes
2011-12-12 23:06:23 +01:00
Paul B Mahol
8b494b7b27
vcr1: drop unnecessary emms_c() calls without MMX code
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-12 21:17:13 +01:00
Dustin Brody
5b22d6e132
lavc: convert error_recognition to err_recognition.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-12 19:42:50 +01:00
Martin Storsjö
f1dba9e498
x86: Require 7 registers for the cabac asm
...
The change in 599b4c6ef
didn't turn out to work properly on
i386 on OS X, where it broke building with PIC enabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-12 15:36:20 +02:00
Mans Rullgard
5695ae46f8
h264: remove useless cast
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-12 00:02:48 +00:00
Mans Rullgard
179ae53fed
proresdec: fix decode_slice() prototype
...
Make the function prototype match the argument of
AVCodecCntext.execute() and remove the cast hiding
this mismatch.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-12 00:02:47 +00:00
Mans Rullgard
599b4c6efd
x86: cabac: replace explicit memory references with "m" operands
...
This replaces the explicit offset(reg) memory references with
"m" operands for the same locations. As a result, one fewer
register operand is needed for these inline asm statements.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 22:29:22 +00:00
Mans Rullgard
4424fe9c02
wmapro: use av_float2int()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:55:16 +00:00
Mans Rullgard
a09bb3ba5e
lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
...
When the buf and last pointers are equal, the FFSWAP() results
in an invalid call to memcpy() with same source and destination
on some targets. Although assigning a struct to itself is valid
C99, gcc does not check for this before calling memcpy().
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:54:28 +00:00
Mans Rullgard
3383a53e7d
lavu: replace int/float punning functions
...
The existing functions defined in intfloat_readwrite.[ch] are
both slow and incorrect (infinities are not handled).
This introduces a new header with fast, inline conversion
functions using direct union punning assuming an IEEE-754
system, an assumption already made throughout the code.
The one use of Intel/Motorola extended 80-bit format is
replaced by simpler code sufficient under the present
constraints (positive normal values).
The old functions are marked deprecated and retained for
compatibility.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:47:19 +00:00
Mans Rullgard
373211d828
Remove extraneous semicolons
...
These semicolons cause invalid empty top-level declarations.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 17:23:24 +00:00
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
2011-12-11 00:32:25 +01:00
Shitiz Garg
8bd1f1a4c8
ttadec: check channel count as read from extradata.
...
fixes floating-point exception due to channels being set to 0.
fixes Bug 128.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-10 14:54:19 -05:00
Paul B Mahol
65c1011404
cljr: remove unused code
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-10 20:11:28 +01:00
Janne Grunau
8d61eef917
ptx: fix inverted check for sufficient data
...
Fix regression introduced in 2b53e69
.
2011-12-10 17:01:27 +01:00
Janne Grunau
2b53e696c8
ptx: emit a warning on insufficient picture data
...
Return the whole packet as consumed in this case and not the size the
packet should have had. Move the insufficient data check into the for
condition to fix a ISO C90 error on bigendian.
2011-12-10 15:29:54 +01:00
Kostya Shishkov
19341c58e0
Dxtory capture format decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-10 11:58:03 +01:00
Diego Biurrun
6b60a4c9c9
cljr: K&R cosmetics
2011-12-08 20:28:27 +01:00
Diego Biurrun
1c45c64c9d
cljr: return a more sensible value when encountering invalid headers
2011-12-08 20:28:27 +01:00
Diego Biurrun
163682fab3
cljr: drop unnecessary emms_c() calls without MMX code
2011-12-08 20:28:26 +01:00
Mans Rullgard
bbc10185ee
cljr: remove useless casts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:31 +00:00
Mans Rullgard
baf3b6e594
cljr: group encode/decode parts under single ifdefs
...
This groups the encode/decode parts under single ifdefs and
eliminates the encode_init() function as it merely calls
common_init(). Also fix whitespace in moved code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:30 +00:00
Mans Rullgard
9a1420bfda
cljr: remove stray semicolon
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:30 +00:00
Paul B Mahol
ca52bae6ec
cljr: add missing return statement in decode_end()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 14:44:05 +00:00
John Brooks
8562d9bd6c
shorten: avoid abort() on unknown audio types
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-08 11:30:24 +01:00
Paul B Mahol
e93947b7d8
cljr: add encoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-08 09:47:53 +01:00
Diego Biurrun
4dccfff9dd
tests/examples: Mark some variables only used within their files as static.
2011-12-08 01:01:00 +01:00
Diego Biurrun
9a5d6c23c5
tests/tools/examples: Replace direct exit() calls by return.
2011-12-08 01:00:58 +01:00
Paul B. Mahol
04a5eaa1a5
cljr: release picture at end of decoding
...
Otherwise after transcoding from cljr we get: Found 1 unreleased buffers!
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-08 00:36:32 +01:00
Mans Rullgard
392107ad07
rv40: NEON optimised rv40 qpel motion compensation
...
Based on patch by Janne Grunau.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-07 22:38:14 +00:00
Hendrik Leppkes
bc057f7592
pcm-mpeg: implement new audio decoding api
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-07 13:52:00 -05:00
Ronald S. Bultje
8b03d7fe95
w32thread: port fixes to pthread_cond_broadcast() from x264.
2011-12-07 10:30:54 -08:00
Rafaël Carré
7efea2a051
dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 16:54:23 +01:00
Diego Biurrun
ff159e7816
doxygen: Replace '\' by '@' in Doxygen markup tags.
2011-12-07 15:29:14 +01:00
Diego Biurrun
ee41963f19
cosmetics: drop some completely pointless parentheses
2011-12-07 15:29:13 +01:00
Paul B. Mahol
fc9489f6ad
cljr: simplify CLJRContext
...
There is no need to have delta, offset and gb in CLJRContext.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-07 15:15:02 +01:00
Konstantin Todorov
4d9ec050a2
Code cleanup - mpegvideo.c - 500-1000line
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-06 11:32:38 -08:00
Janne Grunau
6c88988866
rv40: NEON optimised weighted prediction
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Janne Grunau
f5c05b9aa5
rv40: NEON optimised chroma MC
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Mans Rullgard
f054a82727
ARM: move NEON H264 chroma mc to a separate file
...
This allows sharing code with the rv40 version of these functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Janne Grunau
42d32cf53c
rv34: NEON optimised inverse transform functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Diego Biurrun
e873c03ac7
misc Doxygen markup improvements
2011-12-05 13:06:58 +01:00
Diego Biurrun
c68fafe0d2
doxygen: eliminate Qt-style doxygen syntax
2011-12-05 13:06:58 +01:00
Sjoerd Simons
f32fd31858
g722: Change bits per sample to 4
...
Earlier, bits per sample was defined as 8, since
bits_per_coded_sample was used to indicate whether to ignore
the lower bits of the codeword, having values 6, 7 or 8.
g722 encodes 2 samples into one byte codeword, therefore the
bits per sample is 4. By changing this, the generated timestamps
for streams encoded with g722 become correct.
This makes timestamp generation for g722 data correct (both when
encoding and when demuxing from raw g722 files).
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:46 +02:00
Martin Storsjö
6fcbb0f553
g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
...
This avoids using bits_per_coded_sample for this information.
bits_per_coded_sample should be 4 for this codec normally,
since two samples are encoded into one 8 bit codeword.
In principle, this might be info that needs to be passed from
a demuxer, and in that case, a private AVOption isn't the best
choice, but no such samples are available at the moment, so
that use case is purely theoretical at the moment.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:23 +02:00
Justin Ruggles
0bafe04917
api-example: update to use avcodec_decode_audio4()
2011-12-04 18:29:51 -05:00
Chris Berov
dc6d043050
adpcmenc: cosmetics: pretty-printing
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 17:07:48 -05:00
Chris Berov
541d083a40
ac3dec: cosmetics: pretty-printing
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 16:15:48 -05:00
Paul B. Mahol
eda8731285
shorten: remove dead initialization
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 15:12:05 -05:00
Reimar Döffinger
7679bd6e60
roqvideodec: set AVFrame reference before reget_buffer.
...
Otherwise it might return a write-only frame which would break
decoding completely.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Carl Eugen Hoyos
1e92d58e44
bmp: fix some 1bit samples.
...
<= 8bpp BMP images always have palette.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Derek Buitenhuis
a548b6cbfc
wavpack: Properly clip samples during lossy decode
...
When decoding lossy WavPack samples, they are supposed
to be clipped, in order to be decoded correctly.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 15:32:21 -08:00
Nathan Adil Maxson
8f8c785ffc
zmbv.c: coding style clean-up.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:39 -08:00
Nathan Adil Maxson
6eedeefe0b
xan.c: coding style clean-up.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:26 -08:00
Konstantin Todorov
363114e813
mpegvideo.c: code cleanup - first 500 lines.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:03:27 -08:00
Ronald S. Bultje
adedd840e2
h264: fix frame reordering code.
...
Fixes fate-h264-conformance-{mr2_tandberg_e,mr3_tandberg_b} without
requiring -strict 1.
2011-12-03 08:24:27 -08:00
Janne Grunau
d268b79e34
aac_latm: reconfigure decoder on audio specific config changes
2011-12-03 00:42:48 +01:00
Janne Grunau
fd095539d1
latmdec: fix audio specific config parsing
...
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.
Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Justin Ruggles
0eea212943
Add avcodec_decode_audio4().
...
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles
560f773c7d
avcodec: change number of plane pointers from 4 to 8 at next major bump.
...
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
This will allow for supporting more planar audio channels without having to
allocate separate pointer arrays.
2011-12-02 17:40:40 -05:00
Mans Rullgard
51a16077da
svq1dec: avoid undefined get_bits(0) call
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 21:52:09 +00:00
Mans Rullgard
59807fee6d
ARM: h264dsp_neon cosmetics
...
- Replace 'ip' with 'r12'.
- Use correct size designators for vld1/vst1.
- Whitespace fixes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Janne Grunau
a760f530bb
ARM: make some NEON macros reusable
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Aaron Colwell
e02dec25ab
vp8: flush buffers on size changes.
2011-12-02 07:21:08 -08:00
Nathan Adil Maxson
d0fd6fc201
Cleaned up alacenc.c
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-01 20:14:21 -08:00
Ronald S. Bultje
2574f08d4c
h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
...
This prevents frame allocation overflows, and fixed
fate-h264-conformance-mr3_tandberg_b with 2 threads.
2011-12-01 12:46:28 -08:00
Mans Rullgard
3adba2de3d
ARM: fix indentation in ff_dsputil_init_neon()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
96fef6cf31
ARM: NEON put/avg_pixels8/16 cosmetics
...
This makes whitespace and register names consistent with
the style used in more recent code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
716f1705e9
ARM: add remaining NEON avg_pixels8/16 functions
2011-12-01 19:41:36 +00:00
Mans Rullgard
94267ddfb2
ARM: clean up NEON put/avg_pixels macros
...
Although this adds a few lines, the macro calls are less convoluted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:35 +00:00
Mans Rullgard
37fed0e635
rv34: align temporary block of "dct" coefs
...
This is needed for optimised transforms.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 14:29:29 +00:00
Michael Niedermayer
adfdcf87b1
vble: use dsp.add_hfyu_median_prediction() this allows asm optimizations to be used.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:32 -08:00
Michael Niedermayer
317ea97bff
vble: remove flags copy, its not used in any speed relevant code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:15 -08:00
Derek Buitenhuis
e46abbcf77
vble: merge len and val arrays
...
There's no reason to use two arrays for this.
Based off commit 2fea60c600
to FFmpeg by Michael Niedermayer.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:55 -08:00
Michael Niedermayer
0dd704dbd4
vble: remove unused variable len.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:31 -08:00
Janne Grunau
bb8a6e03cc
rv40: move loop filter to rv34dsp context
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-30 20:54:59 +00:00
Aneesh Dogra
464ccb0144
indeo3: check per-plane data buffer against input buffer bounds.
...
Fixes : http://bugzilla.libav.org/show_bug.cgi?id=102
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-29 09:58:05 -08:00
Aaron Colwell
39a7a5b8ab
pthread: don't increment index on zero-sized packets.
...
The next call to decode() will update from an invalid index, which will
either lead to a memcpy() where dest==src (2 threads), or lead to a
crash (>2 threads).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-28 20:30:30 -08:00
Alex Converse
a27805189b
txd: Fix order of operations.
2011-11-28 11:22:36 -08:00
Diego Biurrun
c88ebdb42c
Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.
2011-11-28 10:01:50 +01:00
Kostya Shishkov
1469f943ad
indeo3: cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-28 10:01:49 +01:00
Alex Converse
999e7ebd23
dca: Replace oversized unused get_bits() with skip_bits_long().
2011-11-27 15:57:38 -08:00
Luca Barbato
1f948745c3
vc1: use an enum for Frame Coding Mode
...
Document it a little and possibly fix a bug in dxva2_vc1.
2011-11-28 00:40:22 +01:00
Aneesh Dogra
97980db487
indeo3: error out if no motion vector is set.
...
This fixes a crash on a corrupt bitstream (bugzilla #93 ).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-27 13:30:00 -08:00
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.
2011-11-27 13:59:34 -05:00
Alex Converse
f11b0e9543
wmavoice: Make format string match variable type.
2011-11-26 19:40:34 -08:00
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>
2011-11-26 18:14:07 -08:00
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>
2011-11-26 17:14:13 -08:00
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>
2011-11-26 22:53:47 +00:00
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>
2011-11-26 22:53:47 +00:00
Mans Rullgard
ff6d9cc558
snow: fix signed overflow in byte to 32-bit replication
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:46 +00:00
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.
2011-11-26 17:00:00 -05:00
Justin Ruggles
a17c3c7d15
avformat: add CRI ADX format demuxer
2011-11-26 16:25:07 -05:00
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.
2011-11-26 16:25:07 -05:00
Justin Ruggles
d8cec2d7fc
adx: move header decoding to ADX common code
2011-11-26 16:25:07 -05:00
Justin Ruggles
7ff55d9bdb
adx: calculate the number of blocks in a packet
2011-11-26 16:25:07 -05:00
Justin Ruggles
05c1f11b56
adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
2011-11-26 16:25:07 -05:00
Justin Ruggles
d1745619db
adx: check for unsupported ADX formats
2011-11-26 16:25:07 -05:00
Justin Ruggles
994238536a
adx: simplify encoding by using put_sbits()
2011-11-26 16:25:07 -05:00
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.
2011-11-26 16:25:06 -05:00
Justin Ruggles
954d94dd5e
adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
2011-11-26 16:25:06 -05:00
Justin Ruggles
c52ddc6024
adx: simplify adx_decode() by using get_sbits() to read residual samples
2011-11-26 16:25:06 -05:00
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.
2011-11-26 16:25:06 -05:00
Justin Ruggles
837bbd19eb
adx: remove unneeded post-decode channel interleaving
...
instead interleave channels while decoding
2011-11-26 16:25:06 -05:00
Justin Ruggles
e2d1eace00
adx: validate header values
2011-11-26 16:25:06 -05:00
Justin Ruggles
8db67610c0
adx: cosmetics: general pretty-printing and comment clean-up
2011-11-26 16:25:06 -05:00
Justin Ruggles
fbc79a9101
adx: remove useless comments
2011-11-26 16:25:06 -05:00
Justin Ruggles
e0722d7fb7
adx: change short to int16_t
2011-11-26 16:25:06 -05:00
Justin Ruggles
dd1b9f7cd9
adx: rename struct PREV to ADXChannelState
2011-11-26 16:25:06 -05:00
Mans Rullgard
3a83b2461e
dnxhdenc: fix signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 20:52:10 +00:00
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>
2011-11-26 20:52:09 +00:00
Mans Rullgard
b02aa3a8ea
s3tc: fix shift overflow by using unsigned constant
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:42 +00:00
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>
2011-11-26 18:50:27 +00:00
Mans Rullgard
e4faa31a0a
svq1dec: use sign_extend()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:02 +00:00
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>
2011-11-26 18:49:51 +00:00
Cheng Sun
e524eadbf8
[PATCH] Fix crash when initializing multi-threaded decoding for corrupted file.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 10:46:08 -08:00
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>
2011-11-26 11:38:41 +00:00
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>
2011-11-26 11:38:41 +00:00
Mans Rullgard
93c286e54f
qtrle: simplify 32-bit decode using intreadwrite macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
3bd1162a52
gif: fix invalid signed shifts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:40 +00:00
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>
2011-11-26 08:40:51 +01:00
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>
2011-11-26 08:39:58 +01:00
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>
2011-11-26 08:38:59 +01:00
Reimar Döffinger
785baa738a
nuv: use FFALIGN.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:38:14 +01:00
Carl Eugen Hoyos
1484b5dec5
flicvideo: check extradata_size before accessing extradata.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:36:16 +01:00
Michael Niedermayer
5ace144fe0
fraps: check for overread.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:35:57 +01:00
K.Y.H
51f316a997
cook: fix apparent typo in extradata parsing
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:33:31 +01:00
Anton Khirnov
488eec1044
lavc: update doxy to use nondeprecated API.
2011-11-26 08:26:24 +01:00
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>
2011-11-25 13:19:54 +00:00
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>
2011-11-25 13:19:53 +00:00
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.
2011-11-25 08:25:12 +01:00
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)
2011-11-24 21:35:47 +01:00
Anton Khirnov
8b7412fe4e
tiffenc: deprecate using compression_level
2011-11-24 21:31:36 +01:00
Ronald S. Bultje
db431f7efe
h264: add support for decoding planar RGB images.
2011-11-24 08:25:36 -08:00
Justin Ruggles
c1848c4b26
pcmdec: remove unneeded resetting of samples pointer
2011-11-23 16:26:15 -05:00
Anton Khirnov
3eedd29bd7
bethsoftvideo: return proper consumed size for palette packets.
...
Also check for sufficient packet size.
2011-11-23 21:58:30 +01:00
Anton Khirnov
a94c769dad
tiffenc: add a private option for selecting compression algorithm
2011-11-23 20:29:25 +01:00
Mans Rullgard
3a0b72dee0
ARM: remove needless .text/.align directives
...
The 'function' macro already includes the appropriate
directives.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-23 15:06:50 +00:00
Alex Converse
963f685535
aacdec: Fix PS in ADTS.
...
Fixes File1.aac and Bug 80.
2011-11-22 14:33:11 -08:00
Justin Ruggles
0e8fdd41c2
dsputil: use cpuflags in x86 emu_edge_core
...
avoids passing around the extra argument among all the macros it uses
2011-11-22 15:40:51 -05:00
Justin Ruggles
395f2e70dd
dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
...
This allows emulated_edge_mc_sse() and gmc_sse() to be used under
AV_CPU_FLAG_SSE.
2011-11-22 15:40:51 -05:00
Justin Ruggles
05d1e45d1f
wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
...
The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.
Fixes Bug 81.
2011-11-22 13:50:18 -05:00
Mans Rullgard
85770d6e56
Add libavutil/mathematics.h #includes for INFINITY
...
This fixes build errors in some environments.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 16:36:44 +00:00
Luca Barbato
e97e5a2e02
doxy: introduce an empty structure in libavcodec
2011-11-22 17:16:02 +01:00
Mans Rullgard
8ee2b4672f
ARM: add explicit .arch and .fpu directives to asm.S
...
This prevents build errors when compiler and assembler default
targets differ. Ideally each file would declare the highest
level it requires. This is however not easily possible as it
complicates assembling pre-armv6t2 code in Thumb-2 mode.
HAVE_NEON is used as indicator for ARMv7-A since no other
symbol exists for this and NEON is only available in this
variant.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:02 +00:00
Janne Grunau
0945eddec0
pthread: do not touch has_b_frames
...
Adding the thread count in frame level multithreading to has_b_frames
as an additional delay causes more problems than it solves.
For example inconsistent behaviour during timestamp calculation in
libavformat.
Thread count and frame level multithreading are both set by the user.
If the additional delay caused by frame level multithreading needs
to be considered in the calling code it has all information to take
it into account.
Should it become necessary to calculate a maximum delay inside
libavcodec it should be exported as its own field and not reusing
an existing field.
Based on a patch by Michael Niedermayer.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-22 09:50:33 +01:00
Justin Ruggles
a8fe9a7242
pthread: add some malloc failure checks
2011-11-21 10:18:25 -05:00
Justin Ruggles
f3a29b750a
avcodec: move some AVCodecContext fields to an internal struct.
...
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.
Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Justin Ruggles
513b691955
avcodec: use av_opt_set() instead of deprecated av_set_string3()
2011-11-19 01:14:27 -05:00
Justin Ruggles
fa9aeb82e2
avcodec: fix some const warnings
...
libavcodec/options.c:583: warning: assignment discards qualifiers from pointer
target type
libavcodec/options.c:589: warning: initialization discards qualifiers from
pointer target type
2011-11-19 01:10:58 -05:00
Justin Ruggles
86d3730360
avcodec: remove pointless AVOption, internal_buffer_count
2011-11-19 00:36:49 -05:00
Luca Barbato
b7d939d998
cinepack: return non-generic errors
2011-11-18 12:10:41 +01:00
Michael Niedermayer
a4009c6a9a
cinepak: remove redundant coordinate checks
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:45 +02:00
Michael Niedermayer
867b496681
cinepak: check strip_size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:43 +02:00
Michael Niedermayer
d92fea2b14
cinepak, simplify, use AV_RB24()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:42 +02:00
Michael Niedermayer
a2b51fe87c
cinepak: simplify, use FFMIN()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:36:05 +02:00
Michael Niedermayer
b55aa7df6b
cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:35:56 +02:00
Alex Converse
bb4b0ad83b
vp5: Fix illegal read.
...
Found with Address Sanitizer
2011-11-17 11:58:49 -08:00
Thierry Foucu
e0966eb140
vp6: Fix illegal read.
...
Found with Address Sanitizer
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-17 11:58:40 -08:00
Martin Storsjö
268fb3f985
mpegaudiodec: Don't use a nonexistent log context for av_dlog
...
This fixes builds with DEBUG defined, broken since
1158745a2d
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 12:01:32 +02:00
Mike Melanson
747283a078
cinepak: Add another special case so that it can handle the following file:
...
http://samples.mplayerhq.hu/V-codecs/CVID/bad_cinepak_frame_size.mov
This fix works around another work around which handles a different type
of odd Cinepak data.
Thanks to Matthew Hoops (clone2727 - gmail.com) for the sample and fix.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:50:52 +02:00
Kostya Shishkov
ffc638c283
lagarith: add some RGBA decoding support
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:49:51 +02:00
Nathan Caldwell
39616fc307
lagarith: Add correct line prediction for RGB
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:46:30 +02:00
Justin Ruggles
f1d1516e55
cosmetics: indentation
2011-11-15 12:17:20 -05:00
Justin Ruggles
1158745a2d
mpegaudiodec: init static tables in AVCodec.init_static_data()
2011-11-15 12:17:20 -05:00
Mans Rullgard
3f5d6a665a
binkvideo: simplify and remove invalid shifts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-14 15:35:29 +00:00
Sebastien Zwickert
ac3dbb4d58
hwaccel: OS X Video Decoder Acceleration (VDA) support.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-11-14 16:07:32 +01:00
Janne Grunau
29ae0565d9
vble: remove vble_error_close
...
It does not make much sense to factor the error handling to its own
av_always_inline function. Fixes "format not a string literal and no
format arguments" warning in the av_log.
2011-11-11 22:05:51 +01:00
Derek Buitenhuis
c433a3f9a5
VBLE Decoder
...
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 22:46:47 +02:00
Justin Ruggles
b656c4d08e
tta: use an integer instead of a pointer to iterate output samples
2011-11-11 14:18:22 -05:00
Justin Ruggles
5c210e2cb9
shorten: do not modify samples pointer when interleaving
2011-11-11 14:18:22 -05:00
Justin Ruggles
befc473c00
mpc7: only support stereo input.
...
The Musepack SV7 reference encoder converts mono to stereo when encoding.
2011-11-11 14:17:40 -05:00
Justin Ruggles
8dbc6d03c0
dpcm: do not try to decode empty packets
2011-11-11 14:17:39 -05:00
Justin Ruggles
e79da63282
dpcm: remove unneeded buf_size==0 check.
...
It is already checked in avcodec_decode_audio3()
2011-11-11 14:17:39 -05:00
Justin Ruggles
9d06037d48
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
2011-11-11 14:13:58 -05:00
Justin Ruggles
7b966566da
vqf/twinvq: pass vqf COMM chunk info in extradata
...
This is needed because the twinvq decoder cannot rely on bit_rate to be set.
The API documentation says that bit_rate is set by libavcodec, not by the
user.
2011-11-11 14:06:14 -05:00
Justin Ruggles
a8a6da4a0e
twinvq: check for allocation failure in init_mdct_win()
2011-11-11 14:06:14 -05:00
Alex Converse
88b2436911
mpc7: Fix memset call in mpc7_decode_frame function
2011-11-10 09:30:49 -08:00
Justin Ruggles
164fca39bd
atrac1: use correct context for av_log()
2011-11-10 10:25:47 -05:00
Justin Ruggles
c298b2b8db
apedec: consume the whole packet when copying to the decoder buffer.
...
This avoids artifically consuming a partial packet but ignoring remaining data
in subsequent calls.
2011-11-10 10:25:47 -05:00
Justin Ruggles
de157f2118
apedec: do not needlessly copy s->samples to nblocks.
...
also move nblocks to the local scope where it is used.
2011-11-10 10:25:47 -05:00
Justin Ruggles
4315c7d35a
apedec: check output buffer size after calculating actual output size
2011-11-10 10:25:47 -05:00
Justin Ruggles
ad17207b51
apedec: remove unneeded entropy decoder normalization.
...
The decoder already skips data at the end of the packet without this.
Also remove 2 APEContext fields that were only used for the end-of-frame
normalization.
2011-11-10 10:25:47 -05:00
Justin Ruggles
59f4d1b8bb
truespeech: use memmove() in truespeech_update_filters()
2011-11-10 10:25:46 -05:00
Justin Ruggles
41899b9acb
vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check
...
The user could provide a larger buffer, which is already checked separately
before writing output.
2011-11-10 10:25:46 -05:00
Justin Ruggles
e551a6f49a
vorbisdec: remove unneeded buf_size==0 check
2011-11-10 10:25:46 -05:00
Justin Ruggles
f666276fa6
vorbisdec: return proper error codes instead of made-up ones
2011-11-10 10:25:46 -05:00
Laurent Aimar
2305742b2a
sunrast: Check for invalid/corrupted bitstream
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-10 12:32:26 +01:00
Justin Ruggles
f1f6d3615f
avcodec: add support for planar signed 8-bit PCM.
...
It is found in some 8svx files (e.g. ones created by SoX).
Currently the decoder reuses the 8svx functions because we already have
handling of a single large planar packet for the compressed 8svx codecs.
2011-11-09 17:48:54 -05:00
Justin Ruggles
fed5ca255f
ra144enc: add sample_fmts list to ff_ra_144_encoder
...
This enables the user (i.e. avconv) to automatically convert to the supported
sample format if needed.
2011-11-09 16:53:23 -05:00
Justin Ruggles
818a3bdedf
smackaud: use uint8_t* for 8-bit output buffer type
...
This matches the output sample format and the range of the output values.
2011-11-09 16:21:08 -05:00
Justin Ruggles
375ca0aca8
smackaud: clip output samples
2011-11-09 16:20:45 -05:00
Justin Ruggles
c86c3c8017
smackaud: use sign_extend() for difference value instead of casting
2011-11-09 16:19:52 -05:00
Justin Ruggles
979c8de549
sipr: use a function pointer to select the decode_frame function
2011-11-09 14:59:52 -05:00
Justin Ruggles
3468ff1060
sipr: set mode based on block_align instead of bit_rate
...
the user is not required to set bit_rate
2011-11-09 14:59:51 -05:00
Justin Ruggles
0005f9a35b
sipr: do not needlessly set *data_size to 0 when returning an error
2011-11-09 14:59:51 -05:00
Justin Ruggles
9cb70ce34b
ra288: fix formatting of LOCAL_ALIGNED_16
2011-11-09 13:45:50 -05:00
shahriman AMS
c33d4916fb
VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:49 +01:00
shahriman AMS
62622d04eb
vc1dec: move an if() block.
...
There are no reason for "if (c_valid) { ... }" to appear before
"if (b_valid) { ... }".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:20 +01:00
shahriman AMS
4bceeaf0c1
vc1dec: use correct hybrid prediction threshold.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:53:24 +01:00
shahriman AMS
4344ce08f1
vc1dec: Partial rewrite of vc1_pred_mv()
...
The current code is a generalization of the earlier progressive MV
prediction code. This was supposed to predict MVs for both interlaced
and progressive pictures. But the interlaced MV prediction is buggy
and works mostly by luck.
This partially fixes interlaced MV prediction.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:58 +01:00
shahriman AMS
6475a6e1ca
vc1dec: take ME precision into account while scaling MV predictors.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:22 +01:00
Alex Converse
1149fbc763
indeo3: Fix a fencepost error.
...
Found with asan and the venerable 1-dog.avi sample.
2011-11-08 10:59:52 -08:00
Justin Ruggles
2467d8d9ea
ra288: return error if input buffer is too small
2011-11-08 12:36:56 -05:00
Justin Ruggles
0131e70af5
ra288: utilize DSPContext.vector_fmul()
2011-11-08 12:36:48 -05:00
Justin Ruggles
03e5d6118c
ra288: use memcpy() to copy decoded samples to output
2011-11-08 12:36:41 -05:00
Justin Ruggles
f50b6be57d
mace: only calculate output buffer size once
2011-11-08 12:36:14 -05:00
Diego Biurrun
ce33320b30
Remove redundant filename self-references inside files.
...
Filenames are brittle across renames and add no useful information.
2011-11-08 17:52:56 +01:00
Diego Biurrun
9412f81138
indeo3data: add missing config.h #include for HAVE_BIGENDIAN
2011-11-08 17:52:56 +01:00
Diego Biurrun
276b995d85
x86: drop pointless ARCH_X86 #ifdef from files in x86 subdirectory
2011-11-08 17:52:55 +01:00
Kostya Shishkov
f545e00677
BMV demuxer and decoder
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 00:36:45 +02:00
Alex Converse
090aaaf752
mpeg12enc: Remove write-only variables.
2011-11-07 10:53:55 -08:00
Alex Converse
7c5dfc174b
mpeg12enc: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:50:48 -08:00
Alex Converse
a1684cf82d
msmpeg4: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:48:53 -08:00
Justin Ruggles
b8f02f5b4e
dsputil: use cpuflags in x86 versions of vector_clip_int32()
2011-11-06 20:50:06 -05:00
Kostya Shishkov
66760b30a3
cosmetics: insert some spaces in explicit enum value assignments
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:13:11 +01:00
Kostya Shishkov
19900d60fd
move 8SVX audio codecs to the audio codec list part on the next bump
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:12:42 +01:00
Kostya Shishkov
0e288b8c52
deprecate codec IDs that won't ever be used
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 07:41:58 +01:00
Ronald S. Bultje
717401aff2
h264_weight: remove duplication functions.
2011-11-05 07:16:30 -07:00
Ronald S. Bultje
ea2bb12e3e
h264: improve calculation of codec delay.
...
Fixes the following conformance suite samples:
HCBP1_HHI_A.264, HCBP2_HHI_A.264, HCMP1_HHI_A.264 (main)
HCHP1_HHI_B.264, HCHP2_HHI_A.264, HCHP3_HHI_A.264 (frext)
2011-11-05 06:58:52 -07:00
Martin Storsjö
8148631269
w32threads: Wrap the mutex functions in inline functions returning int
...
This allows using these wrappers in the gcrypt mutex callbacks.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:24 +02:00
Martin Storsjö
2d1b6fb72b
avcodec: Allow locking and unlocking an avformat specific mutex
...
This extends the lock manager in avcodec to manage two separate
mutexes via the user-specified lock functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:53 +02:00
Justin Ruggles
add7b1140f
binkaudio: expand quant_table to accommodate all possible values
2011-11-04 10:23:53 -04:00
Martin Storsjö
c38404ee1a
libx264: Set the default of the rc_lookahead option to -1
...
This allows it to use the defaults specified by preset/tune,
without overwriting it with the default value from the
AVCodecContext field.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:35 +02:00
Martin Storsjö
adc85ce20b
avcodec: Set flags2 default value depending on availability
...
This makes the code compile when FF_API_X264_GLOBAL_OPTS or
FF_API_LAME_GLOBAL_OPTS is 0.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:33 +02:00
Alex Converse
2a6eb06254
vp6: Fix illegal read.
2011-11-03 16:40:34 -07:00
Martin Storsjö
cae4f4b77e
avcodec: Make sure codec_type is set by avcodec_get_context_defaults2
...
This function used to set codec_type. With the current fallback
implementation based on avcodec_get_context_defaults3, codec_type
won't be set to the value passed in, but will be set to
AVMEDIA_TYPE_UNKNOWN. Legacy callers of this function might expect
this field to be set to the value passed in.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 13:29:48 +02:00
Martin Storsjö
1b6da627d4
avcodec: Remove a misplaced and useless attribute_deprecated
...
If attribute_deprecated is used in an enum declaration, it
should follow the 'enum' keyword, otherwise it's ignored
silently. This is the only case of attribute_deprecated for
enum declarations currently.
Currently, this attribute_deprecated doesn't have any effect.
If moved to the right place, it emits a warning every single
time avcodec.h is included, like this:
avcodec.h:2827: warning: ‘AVLPCType’ is deprecated (declared at avcodec.h:543)
There is already a working attribute_deprecated for the
corresponding field in AVCodecContext, so therefore this
one shouldn't be needed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 09:47:57 +02:00
Justin Ruggles
5463e83dbc
fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64
...
The calling convention only allows 4 non-stack parameter, with each
float or int register being skipped if not used.
fixes Bug 64
2011-11-02 21:44:58 -04:00
Maxim Poliakovski
594b54b51e
replacement Indeo 3 decoder
...
The new decoder is much smaller and has better code quality.
Cleanup and fixes courtesy of Kostya Shishkov.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-03 00:59:12 +01:00
Justin Ruggles
c2d9a65bc0
ac3enc: doxygen update.
...
Add some parameters to existing function documentation.
Remove some unneeded documentation.
Convert some static function documentation to non-doxygen style.
2011-11-02 17:21:45 -04:00
Justin Ruggles
a4998e448f
imc: return error codes instead of 0 for error conditions.
...
This fixes a bug where the whole buffer was returned as decoded audio due to
*data_size not being set to zero and the return value being >= 0.
2011-11-02 17:02:22 -04:00
Justin Ruggles
08e5cd3810
imc: return meaningful error codes instead of -1
2011-11-02 17:02:22 -04:00
Justin Ruggles
0473f29b60
imc: do not set channel layout for stereo
...
we only support decoding of mono imc
2011-11-02 17:02:22 -04:00
Justin Ruggles
7b7f47e733
imc: validate channel count
...
ask for a sample if not mono
2011-11-02 17:02:22 -04:00
Justin Ruggles
95fee70d67
imc: check for ff_fft_init() failure
2011-11-02 17:02:22 -04:00
Justin Ruggles
86962b13f6
imc: check output buffer size before decoding
2011-11-02 17:02:22 -04:00
Justin Ruggles
e9362aaedf
imc: use DSPContext.bswap16_buf() to byte-swap packet data
2011-11-02 17:02:22 -04:00
Justin Ruggles
20e081dddc
libgsm: add flush function to reset the decoder state when seeking
2011-11-02 14:41:17 -04:00
Justin Ruggles
480324e7ca
libgsm: simplify decoding by using a loop
2011-11-02 14:41:17 -04:00
Justin Ruggles
9d52f0a711
gsm: log error message when packet is too small
2011-11-02 14:41:17 -04:00
Justin Ruggles
9671db8245
libgsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
a2e255783e
gsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
fc43fc9faa
gsmdec: add flush function to reset the decoder state when seeking
2011-11-02 14:41:16 -04:00
Justin Ruggles
b03761b130
libgsmdec: check output buffer size before decoding
2011-11-02 14:41:16 -04:00
Justin Ruggles
bac2597a32
gsmdec: log error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1
2011-11-02 14:41:16 -04:00
Justin Ruggles
d9c6eece21
gsm: use av_get_bytes_per_sample() in frame_bytes calculation
2011-11-02 14:41:16 -04:00
Diego Biurrun
f36b390275
Replace some forgotten FFmpeg references by Libav.
2011-11-02 10:42:55 +01:00
Diego Biurrun
2f5df0b12c
Replace ffmpeg references with more accurate libav* references.
2011-11-02 10:42:55 +01:00
Diego Biurrun
20566eb0f0
Replace outdated references to ffmpeg tool with avconv.
2011-11-02 10:42:54 +01:00
Diego Biurrun
124e28847b
Remove some stray unnecessary ffmpeg references.
2011-11-02 10:42:54 +01:00
Diego Biurrun
d1dfcb0829
vp3: remove some pointless comments
2011-11-02 10:42:54 +01:00
Anton Khirnov
5511ad14fe
lavc: use designated initialisers for parsers.
2011-11-02 10:03:43 +01:00
Justin Ruggles
da24963725
g726dec: add flush() function to reset state when seeking
2011-11-01 21:23:04 -04:00
Justin Ruggles
97f5dd1d84
g726: don't pass index to g726_reset()
...
calculate it from c->code_size instead.
2011-11-01 21:23:04 -04:00
Justin Ruggles
615b2a2cf5
g726enc: add private option for setting code size directly.
...
This is an easy alternative to setting bit_rate. This patch also selects the
closest bit_rate to the requested one rather than requiring an exact value.
2011-11-01 21:23:04 -04:00
Justin Ruggles
7abb73d4ba
g726: wrap the decoder functions with a CONFIG_ADPCM_G726_DECODER check
2011-11-01 21:23:04 -04:00
Justin Ruggles
437c11ca16
g726: group the g726_encoder AVCodec with the other encoding functions
2011-11-01 21:23:04 -04:00
Justin Ruggles
50969c0f46
g726: return AVERROR(EINVAL) instead of -1 for invalid channel count
2011-11-01 21:23:03 -04:00
Justin Ruggles
50c466d609
g726enc: use av_assert0() for sample_rate validation
...
This should never happen, but the check avoids a divide-by-zero.
2011-11-01 21:23:03 -04:00
Justin Ruggles
9e78d8cfdf
g726: treat sample rates other than 8kHz as unofficial.
2011-11-01 21:23:03 -04:00
Justin Ruggles
6e8d4a7afb
g726dec: remove the sample_rate validation
2011-11-01 21:23:03 -04:00
Justin Ruggles
6ac34eed54
g726: use bits_per_coded_sample instead of bitrate to determine mode
...
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.
This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Justin Ruggles
d405237bae
g726: split the init function for the encoder and decoder
...
This also allows for not having a decoder close function.
2011-11-01 21:23:03 -04:00
Justin Ruggles
c8d36d254e
g726: pre-calculate the number of output samples.
...
Allows for checking output buffer size and simplification of decoding loop.
2011-11-01 21:23:03 -04:00
Justin Ruggles
e61a670b53
g726: use int16_t instead of short
2011-11-01 21:23:02 -04:00
Diego Biurrun
45235d69c2
libdirac/libschroedinger: Drop unnecessary symbol prefixes.
...
The names used in the libdirac/libschroedinger wrappers are long enough as-is.
Bloating them with unnecessary prefixes makes them even more unwieldy.
2011-10-30 21:40:52 +01:00
Justin Ruggles
7d1b17b833
cin audio: use sign_extend() instead of casting to int16_t
2011-10-29 16:43:40 -04:00
Justin Ruggles
405af43104
cin audio: restructure decoding loop to avoid a separate counter variable
...
Also check output buffer size instead of truncating output.
2011-10-29 16:43:40 -04:00
Justin Ruggles
859bdc33e4
cin audio: use local variable for delta value
2011-10-29 16:43:40 -04:00
Justin Ruggles
64e19ba48b
cin audio: remove unneeded cast from void*
2011-10-29 16:43:40 -04:00
Justin Ruggles
03381c12b3
cin audio: validate the channel count
2011-10-29 16:43:40 -04:00
Justin Ruggles
664eb77dc3
cin audio: remove unneeded AVCodecContext pointer from CinAudioContext
2011-10-29 16:43:40 -04:00
Justin Ruggles
5bd0343bee
flacdec: use av_get_bytes_per_sample() to get sample size
2011-10-29 16:05:25 -04:00
Justin Ruggles
272fcc32bb
dca: handle errors from dca_decode_block()
...
Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.
2011-10-29 16:04:07 -04:00
Justin Ruggles
aae6eead6a
dca: return error if the frame header is invalid
2011-10-29 16:04:07 -04:00
Justin Ruggles
f44059d260
dca: return proper error codes instead of -1
2011-10-29 16:04:06 -04:00
Kostya Shishkov
46e1af3b0f
utvideo: handle empty Huffman trees
...
If the frame is filled with the same colour, encoder may produce no data
and the fill value is indicated by zero code length (the rest of symbols
will have 0xFF for code length, meaning invalid). So such Huffman trees
should be treated specially.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-29 12:54:08 -07:00
Justin Ruggles
425a843505
binkaudio: change short to int16_t
2011-10-29 15:16:54 -04:00
Justin Ruggles
4f4e19480a
binkaudio: only decode one block at a time.
...
This prevents truncating output due to an output buffer that is too small for
all blocks. There is no limit on the number of blocks in a packet.
2011-10-29 15:16:54 -04:00
Justin Ruggles
eaddd29e00
binkaudio: store interleaved overlap samples in BinkAudioContext.
...
This fixes the requirement for the buffer size to be larger than the number of
samples actually decoded.
2011-10-29 15:16:54 -04:00
Justin Ruggles
9f48039a37
binkaudio: pre-calculate quantization factors
2011-10-29 15:16:53 -04:00
Justin Ruggles
101ef19ef4
binkaudio: add some buffer overread checks.
...
This stops decoding before overreads instead of after.
2011-10-29 15:16:53 -04:00
Justin Ruggles
2073224697
atrac3: support float or int16 output using request_sample_fmt
2011-10-29 15:06:32 -04:00
Justin Ruggles
a047851329
atrac3: add CODEC_CAP_SUBFRAMES capability
...
the decoder can handle multiple frames in a packet
2011-10-29 15:06:32 -04:00
Justin Ruggles
8f98577d4d
atrac3: return appropriate error codes instead of -1
2011-10-29 15:06:32 -04:00
Justin Ruggles
47b617021d
atrac3: make sure all memory is freed on init failure
2011-10-29 15:06:32 -04:00
Justin Ruggles
c91613857d
atrac3: add a couple macro constants
2011-10-29 15:06:31 -04:00
Justin Ruggles
1fead73d7b
atrac3: return error if packet is too small
2011-10-29 15:06:31 -04:00
Justin Ruggles
7e4881a2d0
atrac3: check output buffer size before decoding
2011-10-29 15:06:31 -04:00
Justin Ruggles
6ba7f78bbb
atrac3: use separate pointers for each channel in decodeFrame()
2011-10-29 15:06:31 -04:00
Justin Ruggles
5e76b8bb76
atrac3: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
8af33cb38a
atrac3: decode mono directly to the output buffer
2011-10-29 15:06:31 -04:00
Justin Ruggles
c4a6fde33f
atrac3: decode output to float samples instead of converting to s16
2011-10-29 15:06:31 -04:00
Justin Ruggles
f20dd574f1
atrac1: return appropriate error codes instead of -1
2011-10-29 15:06:31 -04:00
Justin Ruggles
6dc7dd7af4
atrac1: check for ff_mdct_init() failure
2011-10-29 15:06:31 -04:00
Justin Ruggles
21dcecc310
atrac1: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
96b5702efe
atrac1: fix a typo
2011-10-29 15:06:31 -04:00
Justin Ruggles
bff5b2c1ca
atrac1: validate number of channels
2011-10-29 15:06:31 -04:00
Justin Ruggles
9a35ff3841
atrac1: decode mono audio directly to output buffer
...
For stereo we need to use intermediate planar buffers, but mono does not need
to be deinterleaved so the output buffer can be used directly.
2011-10-29 15:06:31 -04:00
Justin Ruggles
33684b9c12
atrac1: check output buffer size before decoding
2011-10-29 15:06:30 -04:00
Justin Ruggles
5c353eb8e3
cook: return AVERROR_PATCHWELCOME instead of ENOTSUP
...
ENOTSUP is not defined on some systems
2011-10-29 14:32:55 -04:00
Justin Ruggles
e34c6c9708
cook: check output buffer size before decoding
2011-10-29 13:43:28 -04:00
Justin Ruggles
6631294c26
cook: do not needlessly set *data_size to 0
2011-10-29 13:43:28 -04:00
Justin Ruggles
b277ebd508
cook: remove pointless return statements
2011-10-29 13:43:28 -04:00
Justin Ruggles
c9c841e231
cook: simplify decouple_info()
2011-10-29 13:43:28 -04:00
Justin Ruggles
f193c96f49
cook: return appropriate error codes instead of -1
2011-10-29 13:43:28 -04:00
Justin Ruggles
e694831f9d
cook: avoid hardcoded sizes in sizeof()
2011-10-29 13:43:28 -04:00
Justin Ruggles
776e9815a5
cook: remove unneeded #includes
2011-10-29 13:43:28 -04:00
Justin Ruggles
c25df22365
cook: output float samples instead of converting to int16
2011-10-29 13:43:28 -04:00
Kostya Shishkov
9a173575fd
utvideo: account for coupled lines in YUV420 format
...
Luma slices in YUV420 colourspace should have height in multiple of two since
they have the same line of chrominance data corresponding to pair of them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:51:58 -07:00
Ronald S. Bultje
8370e426e4
vp3: fix oob read for negative tokens and memleaks on error.
2011-10-28 23:50:04 -07:00
Ronald S. Bultje
bfa0f96586
vp8: fix overflow in segmentation map caching.
2011-10-28 23:48:43 -07:00
Anton Mitrofanov
640d5f1c80
Fix decoding of lossless 4:2:2 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Anton Mitrofanov
fdb5314ea7
Fix decoding of lossless 10-bit 4:4:4 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Alex Converse
77b5c82b49
isom: Add MPEG4SYSTEMS dummy object type indication.
2011-10-28 14:54:13 -07:00
Michael Niedermayer
bc2dd36740
aacdec: allow output reconfiguration on channel changes
...
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.
The sample in http://roundup.libav.org/issue999 still works.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-28 22:44:59 +02:00
Justin Ruggles
f3db0f7403
nellymoserenc: take float input samples instead of int16
...
This avoids having to convert all input data from int16 to float, which is used
internally for encoding.
2011-10-28 14:40:52 -04:00
Justin Ruggles
77c8ef9a36
nellymoserdec: use dsp functions for overlap and windowing
2011-10-28 14:40:52 -04:00
Justin Ruggles
8c9581f052
nellymoserdec: do not fail if there is extra data in the packet
...
instead just print a warning
2011-10-28 14:40:52 -04:00
Justin Ruggles
0aaa85dbed
nellymoserdec: fail if output buffer is too small
...
avoids silently truncating the output
2011-10-28 14:40:52 -04:00
Justin Ruggles
f19305fe93
nellymoserdec: remove pointless buffer size check.
2011-10-28 14:40:51 -04:00
Michael Niedermayer
8fa97302e0
snow: do not draw_edge if emu_edge is set
...
Fix segfault on emu edge, to reproduce
make fate-vsynth1-snow
avplay -flags emu_edge tests/data/vsynth1/snow.avi
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-28 10:14:11 -07:00
Justin Ruggles
813907d424
wmavoice: move output buffer size check to synth_superframe().
...
this allows for checking against the actual output size instead of max size.
2011-10-28 12:02:24 -04:00
Justin Ruggles
d064076570
wmavoice: only set data_size to 0 when necessary
2011-10-28 12:02:24 -04:00
Justin Ruggles
1db6437f6c
wmapro: fix strict-aliasing violations by using av_alias32
...
Also fix some undefined unsigned/signed conversions.
2011-10-28 12:02:24 -04:00
Justin Ruggles
b8b4c9c328
wmapro: use FmtConvertContext.float_interleave() to interleave output samples
2011-10-28 12:02:24 -04:00
Justin Ruggles
d0b1b1c5c7
wmadec: consolidate 2 output buffer size checks into 1 check
2011-10-28 12:02:23 -04:00
Justin Ruggles
9a33264478
apedec: assert that s->samples is not negative before trying to decode
2011-10-28 11:47:29 -04:00
Justin Ruggles
0927154d37
apedec: use FFALIGN macro for internal data buffer size
2011-10-28 11:47:28 -04:00
Justin Ruggles
5b8009f4c8
apedec: do not keep incrementing the input data pointer past the end of the
...
buffer during entropy decoding.
The pointer address could overflow, which would likely segfault. Instead set
the context error flag to indicate that the decoder tried to read past the
end of the packet data.
2011-10-28 11:47:28 -04:00
Justin Ruggles
a4c32c9a63
apedec: check for input buffer overflow while reading frame header
2011-10-28 11:47:28 -04:00
Justin Ruggles
fd244ae3a0
apedec: use unsigned int for offset
...
avoids implementation-defined unsigned-to-signed conversion and simplifies
the bounds checking.
2011-10-28 11:47:28 -04:00
Justin Ruggles
89ec474a43
apedec: remove pointless increment of 'buf'
...
The variable is not used anymore at that point.
2011-10-28 11:47:28 -04:00
Justin Ruggles
52d4fb2a3d
apedec: set s->currentframeblocks after validating nblocks
2011-10-28 11:47:28 -04:00
Justin Ruggles
2cab578489
apedec: use unsigned int for 'nblocks' and make sure that it's within int range
2011-10-28 11:47:27 -04:00
Justin Ruggles
b7e5145759
apedec: do not set s->samples until after validation.
...
This prevents errors and/or invalid writes in the next decode call due to
s->samples still being negative.
2011-10-28 11:47:27 -04:00
Justin Ruggles
11ca8b2d74
apedec: check for data buffer realloc failure
2011-10-28 11:47:27 -04:00
Justin Ruggles
91b71460b5
apedec: return meaningful error values in ape_decode_frame()
2011-10-28 11:47:27 -04:00
Justin Ruggles
c6defb41ef
apedec: correct an error message
2011-10-28 11:47:27 -04:00
Justin Ruggles
da55e0980e
apedec: cosmetics
...
break some excessively long lines and remove space after '*'
2011-10-28 11:46:41 -04:00
Justin Ruggles
f64e0a2f37
apedec: return meaningful error codes from ape_decode_init()
2011-10-28 11:41:39 -04:00
Justin Ruggles
7500781313
apedec: check for filter buffer allocation failure
2011-10-28 11:41:39 -04:00
Justin Ruggles
b9d6b02713
apedec: use memcpy for pseudo-stereo mode
2011-10-28 11:41:39 -04:00
Justin Ruggles
3c25209bd9
apedec: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3().
2011-10-28 11:41:39 -04:00
Justin Ruggles
ec6d743118
mp3on4: do not needlessly set data_size to 0
2011-10-27 22:06:32 -04:00
Justin Ruggles
99975966c3
mp3adu: return error instead of just consuming bad packets
2011-10-27 22:06:32 -04:00
Justin Ruggles
e2e6c8799b
mpegaudiodec: check output data size based on avctx->frame_size
2011-10-27 22:06:32 -04:00
Justin Ruggles
512557b291
avcodec: remove avcodec_parse_frame and deprecate associated elements.
...
The documentation for CODEC_CAP_PARSE_ONLY and AVCodecContext.parse_only
indicates that they are utilized through avcodec_parse_frame(), which was
never actually implemented.
2011-10-27 22:06:32 -04:00
Justin Ruggles
cd816d9bbb
mpegaudiodec: cosmetics: basic pretty-printing
2011-10-27 22:06:32 -04:00
Justin Ruggles
c17e534f2e
mpegaudiodec: remove frame_count field from MPADecodeContext.
...
Its functionality was removed several years ago, so it doesn't do anything.
AVCodecContext.frame_number could serve the same purpose if someone
wants to debug the frame count.
2011-10-27 22:06:32 -04:00
Justin Ruggles
dac15a03af
mpegaudiodec: return AVERROR return codes instead of -1
2011-10-27 22:06:32 -04:00
Justin Ruggles
4be1e1dfa7
mpegaudiodec: Skip only bad frames instead of the whole packet.
...
On frame decoding failure, return an error if the frame is the same size as
the whole packet, otherwise just log an error message and return the number
of bytes consumed.
2011-10-27 22:06:31 -04:00
Anton Khirnov
15946eb8a9
lavc: remove "legacy" mpegvideo decoder.
2011-10-27 23:06:26 +02:00
Justin Ruggles
4a6a29a7fb
libopencore-amr: check output buffer size before decoding
2011-10-26 16:00:37 -04:00
Justin Ruggles
345d15d2f9
libopencore-amr: remove unneeded buf_size==0 check.
...
avcodec_decode_audio3() already checks it before sending the packet to the
decoder.
2011-10-26 16:00:37 -04:00
Justin Ruggles
402c98783d
libopencore-amr: remove unneeded frame_count field.
...
Use AVCodecContext.frame_number instead.
2011-10-26 16:00:36 -04:00
Justin Ruggles
71ccfb3f14
aac_latm: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3()
2011-10-26 12:21:18 -04:00
Justin Ruggles
f1901180e0
pcmdec: fix output buffer size check by calculating the actual output size
...
prior to decoding.
2011-10-26 12:01:07 -04:00
Justin Ruggles
154cd253e5
pcmdec: move codec-specific variable declarations to the corresponding codec
...
blocks.
2011-10-26 12:01:07 -04:00
Justin Ruggles
0093f96d34
pcmdec: return buf_size instead of src-buf.
...
The values will always be the same, so this change eliminates an unneeded
variable. It also gets rid of the need to reset src when memcpy() is used.
2011-10-26 12:01:07 -04:00
Justin Ruggles
85579b6381
avcodec: remove the Zork PCM encoder.
...
The Zork PCM decoder does not decode the 1 sample we have correctly, therefore
the encoder based on the decoder is also incorrect. There is no good reason to
keep the encoder.
2011-10-26 12:01:07 -04:00
Justin Ruggles
67a3b67c71
pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
2011-10-26 12:01:07 -04:00
Justin Ruggles
06af335a33
pcmenc: remove unneeded sample_fmt check.
...
It is already checked by avcodec_open2().
2011-10-26 12:01:07 -04:00
Justin Ruggles
d94e29cac9
pcmdec: move number of channels check to pcm_decode_init()
2011-10-26 12:01:06 -04:00
Justin Ruggles
83efd7652e
pcmdec: remove unnecessary check for sample_fmt change
2011-10-26 12:01:06 -04:00
Justin Ruggles
381e195b46
pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets
...
the sample size.
2011-10-26 12:01:06 -04:00
Justin Ruggles
6b94711f15
pcmdec: do not needlessly set *data_size to 0
2011-10-26 12:01:06 -04:00
Justin Ruggles
30f3e7b524
alacdec: remove unneeded NULL or zero-size packet checks.
...
This is already done in avcodec_decode_audio3()
2011-10-26 11:50:17 -04:00
Justin Ruggles
68f7e9cd8e
alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
2011-10-26 11:50:17 -04:00
Justin Ruggles
b316af7a7c
alacdec: ask for a sample for unsupported sample depths.
...
Also return AVERROR_PATCHWELCOME.
2011-10-26 11:50:17 -04:00
Justin Ruggles
63cf54df7a
alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
2011-10-26 11:50:17 -04:00
Justin Ruggles
01200f1283
alacdec: move some declarations to the top of the function
2011-10-26 11:50:17 -04:00
Justin Ruggles
c3a92412c0
alacdec: always use get_sbits_long() for uncompressed samples
2011-10-26 11:50:17 -04:00
Justin Ruggles
b46e58f741
alacdec: remove unneeded local variable
2011-10-26 11:50:17 -04:00
Justin Ruggles
7080533cda
alacdec: remove the numchannels parameter from several functions.
...
They only operate on stereo content, so the extra param is not necessary and
also allows for simplifying the code.
2011-10-26 11:50:17 -04:00
Justin Ruggles
cb50329fc5
alacdec: rename 2 functions.
...
Now they only do stereo interleaving.
2011-10-26 11:50:16 -04:00
Justin Ruggles
c39bddd392
alacdec: move appending of extra_bits to a separate function.
...
This should also fix decoding of mono 24-bit.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e739d35156
alacdec: split stereo decorrelation into a separate function.
...
It is identical for 16-bit and 24-bit, so there is no need to have duplicate
code.
2011-10-26 11:50:16 -04:00
Justin Ruggles
d251c85dce
alacdec: cosmetics: rename 'wasted_bits' to 'extra_bits'.
...
The bits are not wasted, they are additional low bits that are added to the
16-bit decompressed samples to increase the output sample depth.
2011-10-26 11:50:16 -04:00
Justin Ruggles
dbbb9262ca
alacdec: remove unneeded numsamples checks
2011-10-26 11:50:16 -04:00
Justin Ruggles
53df079a73
alacdec: check for buffer allocation failure.
...
Also rearranges some functions for easier cleanup on failure.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e5e4f92b5c
alacdec: allocate per-channel buffers based on channel count.
...
reduces memory usage when the stream has fewer than MAX_CHANNELS
2011-10-26 11:50:16 -04:00
Justin Ruggles
dcaa83a0fc
alacdec: read/validate number of channels from the extradata.
...
check frame header channel count against header/container channel count.
2011-10-26 11:50:16 -04:00
Justin Ruggles
47e9c75b36
alacdec: remove unneeded validation of setinfo_sample_size.
...
It is already done when using it to set sample_fmt.
2011-10-26 11:50:16 -04:00
Justin Ruggles
0f26f3d5c4
alacdec: set sample_fmt in alac_decode_init()
2011-10-26 11:50:16 -04:00
Justin Ruggles
aec8383348
alacdec: set bytespersample using av_get_bytes_per_sample()
2011-10-26 11:50:15 -04:00
Janne Grunau
d6174bfe5f
threads: restore has_b_frames in frame_thread_free
...
Otherwise the delay expressed in has_b_frames increases with every
avcodec_close/avcodec_open.
Fixes fate-ea-dct with more than 1 thread.
2011-10-26 16:55:54 +02:00
Daniel Kang
ded3e9f054
H.264: Cometics to dsputil_mmx.c
...
Add whitespace.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-26 06:41:32 -07:00
Justin Ruggles
a3a8572165
g722dec: check output buffer size before decoding
2011-10-25 11:30:50 -04:00
Justin Ruggles
4e41973794
g722dec: cosmetics: reindent/linewrap
2011-10-25 11:30:50 -04:00
Justin Ruggles
d0a196962a
g722dec: remove the use of lowres for half-rate decoding.
...
It is broken because an AVCodecContext can be opened/closed multiple
times, and sample_rate is getting divided by 2 each time that happens.
This removes the only use of lowres for audio.
2011-10-25 11:30:50 -04:00
Justin Ruggles
2f1d212fd0
tta: check for allocation failure of decode_buffer
2011-10-25 11:22:02 -04:00
Justin Ruggles
b5050539c9
tta: use correct frame_length calculation.
...
using a floating-point calculation is not necessary.
2011-10-25 11:22:02 -04:00
Justin Ruggles
c6056d4004
tta: add support for decoding 24-bit sample format
...
Note that this will not work in most cases with avconv and avplay due to the
AVCODEC_MAX_AUDIO_FRAME_SIZE limit, but it will decode correctly if given a
large enough output buffer.
2011-10-25 11:22:02 -04:00
Justin Ruggles
8664682d0e
cosmetics: indentation
2011-10-25 11:22:02 -04:00
Justin Ruggles
7b7a74a150
tta: remove pointless braces
2011-10-25 11:22:02 -04:00
Justin Ruggles
e6923f683c
tta: check output buffer size after adjusting frame length for last frame
2011-10-25 11:22:01 -04:00
Justin Ruggles
b16960a8a5
tta: fix reading of format in TTA header.
...
TTA does not support float at all, and format 2 is encrypted TTA.
2011-10-25 11:22:01 -04:00
Justin Ruggles
4d3e7a7516
tta: remove useless commented-out lines
2011-10-25 11:22:01 -04:00
Justin Ruggles
35f9d8c20a
tta: check remaining bitstream size while reading unary value
2011-10-25 11:22:01 -04:00
Janne Grunau
28287045ca
cosmetics: simplify latm_decode_init
2011-10-25 12:08:21 +02:00
Janne Grunau
785f876cee
latm: avoid unnecessary reinit of the aac decoder
2011-10-25 12:08:21 +02:00
Janne Grunau
80e36425fb
aacdec: initialize sbr context only in new channel elements
2011-10-25 12:07:58 +02:00
Janne Grunau
b2e56e08c9
resample: reject unhandled conversions
...
audio_resample can not reduce the number of channels
2011-10-25 12:06:48 +02:00
Janne Grunau
ec1ce86e7f
resample: remove unused #define
2011-10-25 12:06:48 +02:00
Mans Rullgard
c8477df019
adpcm: use sign_extend()
...
This avoids warnings from the overflow checker and simplifies the code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-24 15:26:24 +01:00
Janne Grunau
d99fe3a478
mpeg12: fix mpeg_decode_slice context parameter type
...
During slice threading only MpegEncContext is passed to
mpeg_decode_slice, remove a wrong cast and change the function
definition to take MpegEncContext pointer.
2011-10-24 01:05:00 +02:00
Janne Grunau
cd8c64e197
Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"
...
This reverts commit da22ba7df4
since it
broke slice threading. Slice threading just duplicates MpegEncContext
so every value used during mpeg_decode_slice has to be in it.
A second patch will fix the illusion that Mpeg1Context is available
in mpeg_decode_slice.
2011-10-24 00:59:41 +02:00
Justin Ruggles
704721bc9c
g722: split decoder and encoder into separate files
2011-10-23 11:42:34 -04:00
Justin Ruggles
b95fbba705
cosmetics: remove extra spaces before end-of-statement semi-colons
2011-10-23 11:36:56 -04:00
Justin Ruggles
60aa1a358d
vorbisdec: check output buffer size before writing output
2011-10-23 11:36:56 -04:00
Justin Ruggles
d2604f9260
wavpack: calculate bpp using av_get_bytes_per_sample()
2011-10-23 11:35:46 -04:00
John Stebbins
ddfb8e1adb
ac3enc: Set max value for mode options correctly
...
for example:
Attempting to set ac3 dsur_mode to "on" results in:
[AC-3 Encoder @ 0x7f508f0a3280] Value 2.000000 for parameter 'dsur_mode' out of range
[AC-3 Encoder @ 0x7f508f0a3280] Error setting option dsur_mode to value on.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-23 11:30:54 -04:00
Anton Khirnov
1deb66c50c
lavc: move get_b_cbp() from h263.h to mpeg4videoenc.c
...
It's not used anywhere else.
2011-10-23 14:16:16 +02:00
Anton Khirnov
3fc0830432
mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
...
It's MPEG-1/2 specific.
2011-10-23 14:15:56 +02:00
Anton Khirnov
da22ba7df4
mpeg12: move full_pel from MpegEncContext to Mpeg1Context
...
It's MPEG-1 specific.
2011-10-23 14:14:39 +02:00
Anton Khirnov
cc05a45d33
mpeg12: move Mpeg1Context from mpeg12.c to mpeg12.h
...
It will be used in vdpau code.
2011-10-23 14:14:34 +02:00
Anton Khirnov
acffe45732
mpegvideo: remove some unused variables from MpegEncContext.
2011-10-23 14:13:40 +02:00
Mashiat Sarker Shakkhar
f18746528d
VC1: restore mistakenly removed code
...
The code was mistakenly removed in cad16562c8
.
It stored some motion vector data for future use in B-pictures.
This fixes Bugzilla bug #57 .
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-22 22:51:00 +02:00
Justin Ruggles
e53eecd0e7
twinvq: check output buffer size before decoding
2011-10-22 15:38:05 -04:00
Justin Ruggles
5ed6817822
twinvq: return an error when the packet size is too small
2011-10-22 15:38:05 -04:00
Dustin Brody
9abc98737f
lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:55 +02:00
Dustin Brody
5ea0001f9e
lavc: translate non-flag-based er options into flag-based ef options at codec open
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:22 +02:00
Dustin Brody
c8dad9a694
add -err_filter AVOptions to access flag-based error recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:14 +02:00
Ronald S. Bultje
b0b3231074
h264_weight: initialize "height" function argument properly.
...
Right now it's not actually initialized on 32-bit, leading to crashes
on win32.
2011-10-22 00:23:24 -07:00
Justin Ruggles
b19e0c2b4e
libspeexdec: include system headers before local headers
2011-10-21 17:07:05 -04:00
Justin Ruggles
a470fe80ba
libspeexdec: return meaningful error codes
2011-10-21 17:07:04 -04:00
Justin Ruggles
14bc60dbae
libspeexdec: cosmetics: reindent
2011-10-21 17:07:04 -04:00
Justin Ruggles
7eeaa6796b
libspeexdec: decode one frame at a time.
...
This allows for knowing the output size before decoding even when there is no
header (e.g. FLV). Otherwise we would have to do a preliminary full frame
decode to determine the number of frames-per-packet.
2011-10-21 17:07:04 -04:00
Justin Ruggles
95891804bf
mp3on4: check for allocation failures in decode_init_mp3on4()
2011-10-21 12:34:43 -04:00
Justin Ruggles
180bf988bc
mp3on4: create a separate flush function for MP3onMP4.
...
The correct decoder private context needs to be used.
This fixes mp3on4 playback and seeking in avplay.
2011-10-21 12:33:15 -04:00
Justin Ruggles
53c8443ad2
mp3on4: ensure that the frame channel count does not exceed the codec channel
...
count.
This also allows for checking output data size based on the actual
number of channel instead of the maximum number of channels.
2011-10-21 12:32:35 -04:00
Justin Ruggles
1183d6cd98
mp3on4: set channel layout
2011-10-21 12:29:51 -04:00
Justin Ruggles
fff0f831e0
mp3on4: fix the output channel order
2011-10-21 12:29:51 -04:00
Justin Ruggles
f507dd067a
mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
...
Avoids allocating unnecessary memory and ensures proper alignment.
2011-10-21 12:29:51 -04:00
Justin Ruggles
cb72230dfa
mp3on4: copy MPADSPContext from first context to all contexts.
...
Fixes segfault when decoding multi-channel MP3onMP4 files.
2011-10-21 12:29:51 -04:00
Justin Ruggles
aad3429d4e
fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
4e8e262476
fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
185142a5ea
fmtconvert: check compile-time x86 instruction set flags
2011-10-21 10:13:05 -04:00
Justin Ruggles
708ab7dd69
fmtconvert: port float_to_int16() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
45add995de
fmtconvert: fix and extend documentation for float_interleave()
2011-10-21 10:13:05 -04:00
Mans Rullgard
b034c95cc1
h264: fix ppc/altivec build
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-21 12:49:01 +01:00
Jean First
b8bb9c0267
Enable multithreding when decoding with libopenjpeg
...
Enable multithreding when decoding with libopenjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:07:22 -07:00
Ronald S. Bultje
27209bb108
h264: mark some MC functions with av_always_inline instead of inline.
...
This actually causes them to be inlined, leading to a significant
speedup (1-1.5% in my measurements).
2011-10-21 01:05:10 -07:00
Ronald S. Bultje
05fb63f5a0
H264: have hl_motion() and its callees take a chroma_idc argument.
2011-10-21 01:05:07 -07:00
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
2011-10-21 01:00:45 -07:00
Ronald S. Bultje
229d263cc9
Support for lossless and inter H264 4:2:2.
2011-10-21 01:00:45 -07:00
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07:00
Ronald S. Bultje
dc49bf1270
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
2011-10-21 00:58:01 -07:00
Ronald S. Bultje
ce42a04884
vp8: fix up handling of segmentation_maps in reference frames.
...
Associate segmentation_map[] with reference frame, rather than
decoding instance. This fixes cases where the map would be free()'ed
on e.g. a size change in one thread, whereas the other thread was
still accessing it. Also, it fixes cases where threads overwrite data
that is still being referenced by the previous thread, who thinks that
it's part of the frame previously decoded by the next thread.
2011-10-21 00:17:58 -07:00
Anton Khirnov
65d3176aaf
lavc: hide private symbols.
...
Overhead as reported by rbelf-size goes from 90860 to 20204.
2011-10-20 21:06:58 +02:00
Anton Khirnov
586657c20a
lavc: deprecate img_get_alpha_info().
...
It's never been touched or used in any way since it was added in 2003
and only works for PIX_FMT_PAL8, which makes me conclude that nobody's
ever used it.
2011-10-20 21:06:58 +02:00
Anton Khirnov
0842d58998
lavc: use avpriv_ prefix for ff_toupper4.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9f51c682ee
lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
...
They are used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
6f89efeaa7
lavc: use avpriv_ prefix for ff_ac3_parse_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9138a130cd
lavc: use avpriv_ prefix for ff_frame_rate_tab.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
773375c3d0
lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
357db4c263
lavc: use avpriv_ prefix for ff_split_xiph_headers.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
2361e59b98
lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
242c73a0fd
lavc: use avpriv_ prefix for some dv symbols used in lavf.
...
Specifically, ff_dv_frame_profile and ff_dv_codec_profile.
2011-10-20 21:06:58 +02:00
Anton Khirnov
d9cca9fc6a
lavc: use avpriv_ prefix for some flac symbols used in lavf.
...
Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and
ff_flac_parse_block_header
2011-10-20 21:06:58 +02:00
Anton Khirnov
59a9a23581
lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
...
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov
82ab61f901
lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
...
Specifically, ff_mpa_freq_tab, ff_mpa_bitrate_tab, ff_mpa_decode_header,
ff_mpegaudio_decode_header.
2011-10-20 21:06:57 +02:00
Anton Khirnov
73ae27e17b
lavc: use avpriv_ prefix for ff_aac_parse_header().
...
It's used in lavf.
2011-10-20 21:06:57 +02:00
Justin Ruggles
68d3aec819
avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
2011-10-20 13:30:08 -04:00
Justin Ruggles
352fc5f128
avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
2011-10-20 13:30:08 -04:00
Justin Ruggles
ffeeae923b
avcodec: clarify documentation of CODEC_CAP_DELAY
2011-10-20 13:30:08 -04:00
Justin Ruggles
1baa25c7da
shorten: fix end-of-stream decoding.
...
enable CODEC_CAP_DELAY to flush any remaining frames in the buffer.
Stop decoding when the FN_QUIT command is found so that a trailing seek table
isn't decoded as a normal frame.
decode all channels in the same call to avcodec_decode_audio3() so that
decoding will not stop after the first channel of the last frame.
Updated FATE reference. More valid audio is now decoded.
2011-10-20 13:09:46 -04:00
Justin Ruggles
d03f9f65c0
shorten: do not use block size to determine whether to read the header.
2011-10-20 13:09:46 -04:00
Justin Ruggles
882dafe9b6
shorten: check output buffer size before decoding
2011-10-20 13:09:26 -04:00
Justin Ruggles
bd7f7d6c78
shorten: use av_clip_int16() for output sample clipping
2011-10-20 13:09:26 -04:00
Justin Ruggles
069ada46c1
shorten: use bytestream functions to decode the embedded WAVE header
2011-10-20 13:09:25 -04:00
Justin Ruggles
c25762fcf1
shorten: add some comments
2011-10-20 13:09:25 -04:00
Justin Ruggles
15d146c958
shorten: merge decoding of FN_DIFF* subblocks into decode_subframe_lpc()
2011-10-20 13:09:25 -04:00
Justin Ruggles
034f42dfce
cosmetics: remove some needless commented-out stuff
2011-10-20 13:09:25 -04:00
Justin Ruggles
cfa317f67d
shorten: validate block size
2011-10-20 13:09:25 -04:00
Justin Ruggles
45d7d31fb9
shorten: move declaration of 'ret' to top of shorten_decode_frame()
2011-10-20 13:09:25 -04:00
Justin Ruggles
a8055992c0
shorten: pass on error value from allocate_buffers() instead of returning -1
2011-10-20 13:09:25 -04:00
Justin Ruggles
9e5e2c2d01
shorten: check for realloc failure
2011-10-20 13:09:25 -04:00
Justin Ruggles
fe31a637f1
shorten: move decoding of prediction order and applying of global offset to
...
decode_subframe_lpc().
2011-10-20 13:09:25 -04:00
Justin Ruggles
0f97c5014b
shorten: only calculate output size when returning decoded samples, otherwise
...
just set data_size to zero.
2011-10-20 13:09:25 -04:00
Justin Ruggles
e9e37f2d10
cosmetics: reindent
2011-10-20 13:09:25 -04:00
Justin Ruggles
9000b6db22
shorten: separate processing of audio commands from non-audio commands
2011-10-20 13:09:25 -04:00
Justin Ruggles
07745485ef
shorten: skip some fields in the WAV header embedded in the shorten header.
...
fixes incorrect bitrate reporting and potential misreporting of the number of
channels.
2011-10-20 13:09:25 -04:00
Justin Ruggles
a1f7885a8b
shorten: split reading of file header into a separate functions
2011-10-20 13:09:25 -04:00
Justin Ruggles
b606a01759
libspeexenc: add libspeex encoder
2011-10-20 13:06:15 -04:00
Diego Biurrun
265980dabc
x86: Move some variable declarations below the appropriat #ifdef.
...
This avoids some unused variable warnings with YASM disabled.
2011-10-20 16:19:27 +02:00
Diego Biurrun
2cb7c81669
x86: Fix linking of ProRes DSP ASM with YASM disabled.
2011-10-20 16:19:13 +02:00
Diego Biurrun
463ea05ab2
avcodec.h: Move G.729/G.723 CODEC_IDs to the correct section.
...
This is done conditional to the libavcodec version to avoid ABI breaks.
2011-10-20 00:19:19 +02:00
Diego Biurrun
26af0953c0
Only test-compile w32pthreads.h if W32THREADS are available.
...
This fixes 'make checkheaders' on non-W32THREADS systems.
2011-10-20 00:18:29 +02:00
Anton Khirnov
f0eeff708a
lavc: make avcodec_get_context_defaults3 "officially" public
...
Deprecate avcodec_get_context_defaults/avcodec_get_context_defaults2
2011-10-19 17:02:11 +02:00
Mashiat Sarker Shakkhar
73447eb4bd
Use correct scaling table for bwd-pred MVs in second B-field
...
When scaling backward predicted MVs in second B-field, the scaling table is
opposite of that for P field pictures; i.e. first field P table will be used as
second field B table and second field P table will be used as first field B
table. This is not documented in the spec, but exists in the ref. decoder.
This fixes SA10139.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-19 16:42:47 +03:00
Kostya Shishkov
0d8506b8c5
Ut Video decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 08:24:19 +02:00
Laurent Aimar
d97ca425ef
sunrast: Check for out of bounds reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-18 22:49:43 +02:00
Dustin Brody
6b1f93face
lavc: rename AV_ER_* options to AV_EF_* and rename AGGRESSIVE to BUFFER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:30 +02:00
Dustin Brody
204e6132d2
lavc: replace API-bump-triggered AVCodecContext field change with shorter, non-conflicting name
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:22 +02:00
Steven Walters
27237d524e
w32threads: support for frame multithreading
...
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-16 21:45:16 +02:00
Mans Rullgard
b44522981c
avcodec: remove stray @deprecated comment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-16 16:22:05 +01:00
Mans Rullgard
91038cdbd1
prores: get correct size for coded V plane if alpha is present
...
The size check must be updated to take into account both manners
in which v_data_size might be set.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Mans Rullgard
cd14e297e6
prores: do not set pixel format on codec init
...
The pixel format is not known until the frame header is parsed.
Guessing it here only causes trouble for the caller if the guess
turns out to be wrong (and actually causes very wrong output by
avconv/avplay).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Ronald S. Bultje
7b6883898f
pthread: prevent updating AVCodecContext from itself in frame_thread_free
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
feadcd1bdc
pthread: copy coded frame dimensions in update_context_from_thread
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
0f0b5d6434
vp8: prevent read from uninitialized memory in decode_mvs
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
5653579381
vp8: force reallocation in update_thread_context after frame size change
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
f05c2fb6eb
vp8: fix return value if update_dimensions fails
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Justin Ruggles
a62c0f94ee
adpcmdec: calculate actual number of output samples for each decoder.
...
This also allows for removing some of the buf_size checks and using the
sample count for some of the decoding loops.
2011-10-14 15:53:41 -04:00
Justin Ruggles
439998e18b
adpcmdec: check remaining buffer size before decoding next block in the
...
ADPCM IMA WAV decoder.
2011-10-14 15:53:41 -04:00
Justin Ruggles
ff5790c761
adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
...
There are still 2 nibbles to decode once the last byte in the packet has been
read. Updated FATE reference.
2011-10-14 15:53:41 -04:00
Justin Ruggles
8140a1288f
adpcmdec: remove unneeded buf_size==0 check.
...
This is already done by avcodec_decode_audio3()
2011-10-14 15:53:41 -04:00
Justin Ruggles
f7f7c1942b
adpcmdec: remove unneeded zeroing of *data_size
2011-10-14 15:53:40 -04:00
Mans Rullgard
d341d5fd2c
dnxhdenc: fixed signed multiplication overflow
...
The low 32 bits of a multiplication are the same for signed
and unsigned operands. Casting to unsigned before multiplying
is thus equivalent while avoiding signed overflow, which is
undefined by the C99 standard.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-14 20:45:22 +01:00
Ronald S. Bultje
05c8f119cc
proresdsp: fix function prototypes.
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:46 +02:00
Ronald S. Bultje
f78cd0c243
prores-idct: fix overflow in c code.
...
Fix the fate ref for prores-422_proxy by reverting the changes to it
in commit f492df0927
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:20 +02:00
Janne Grunau
19ec283f49
prores: add missing feature warning for alpha
2011-10-14 21:07:53 +02:00
Dustin Brody
582f231142
lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:21 +02:00
Dustin Brody
ac90a71459
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:04 +02:00
Justin Ruggles
617a51f9b7
shorten: remove the flush function.
...
The shorten decoder does not support seeking.
2011-10-13 16:31:16 -04:00
Justin Ruggles
c6ac30c84b
truespeech: use sizeof() instead of hardcoded sizes
2011-10-13 16:26:00 -04:00
Justin Ruggles
6d55506c8b
truespeech: remove unneeded variable, 'consumed'
...
increment the 'buf' pointer instead, and consume the whole packet.
2011-10-13 16:26:00 -04:00
Justin Ruggles
b84048935e
truespeech: simplify truespeech_read_frame() by using get_bits()
2011-10-13 16:25:59 -04:00
Justin Ruggles
5e5ce70f19
truespeech: decode directly to output buffer instead of a temp buffer
2011-10-13 16:25:59 -04:00
Justin Ruggles
3e7a176759
truespeech: check to make sure channels == 1
2011-10-13 16:25:59 -04:00
Justin Ruggles
a8f8db2636
truespeech: check for large enough output buffer rather than truncating output
2011-10-13 16:25:59 -04:00
Justin Ruggles
595cf1a1aa
truespeech: remove unneeded zero-size packet check.
...
This is already checked in avcodec_decode_audio3()
2011-10-13 16:25:59 -04:00
Justin Ruggles
82be06bbb3
mlpdec: return meaningful error codes instead of -1
2011-10-13 15:13:02 -04:00
Justin Ruggles
e1b8d88d52
mlpdec: remove unnecessary wrapper function
2011-10-13 15:13:02 -04:00
Justin Ruggles
37b67f1bff
mlpdec: only calculate output size once
2011-10-13 15:13:02 -04:00
Justin Ruggles
caa845851d
mlpdec: validate that the reported channel count matches the actual output
...
channel count
2011-10-13 15:13:02 -04:00
Mans Rullgard
b45eb9d619
pcm: reduce pointer type casting
...
Making 'samples' a pointer to uint8_t simplifies the DECODE
macro and reduces the amount of type casting overall.
This also fixes some signed overflows on left shift.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-13 17:56:13 +01:00
Mans Rullgard
f59bb3d8f3
mathops: remove undefined behaviour from sign_extend()
...
This function intentionally overflows the signed range on
the left shift. Using this type-punning avoids errors from
the overflow checker without disabling this test globally.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-13 15:40:16 +01:00
Kostya Shishkov
42feaf4070
vc1: explicitly zero interlaced mode coding variables for progressive mode
...
Both v->fcm and v->field_mode are used in common code, now they won't be
reset for progressive frame after interlaced one causing writing past the
frame end for example.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-13 07:35:07 -07:00
Jean First
47a1d794db
tiffenc: initialize forgotten avctx.
2011-10-12 18:20:18 -04:00
Kostya Shishkov
50f9721904
vc1: more prettyprinting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Kostya Shishkov
94e725ca2b
vc1: prettyprint some tables
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Kostya Shishkov
b18c68ad25
vc1: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
2011-10-12 16:51:16 +02:00
Anton Khirnov
641c7afe3c
AVOptions: add new API for enumerating children.
...
This will allow the caller to enumerate child contexts in a generic way
and since the API is recursive, it also allows for deeper nesting (e.g.
AVFormatContext->AVIOContext->URLContext)
This will also allow the new setting/reading API to transparently apply
to children contexts.
2011-10-12 16:51:16 +02:00
Janne Grunau
1bca8f4bc5
rv34: move inverse transform functions to DSP context
2011-10-12 15:52:22 +02:00
Mans Rullgard
318efbfc10
h264: change unsupported bit depth message to error level
...
Unsupported bit depth is certainly an error the user will
want to know about.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-12 12:39:52 +01:00
Mans Rullgard
c682514a8f
qdm2: fix signed multiplication overflow
...
This code relies on the result wrapping as for unsigned
values, and the sign is not used. Thus an unsigned type
is proper here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-12 12:28:08 +01:00
Anton Khirnov
46c3c53bae
libx264: support yuv422/444 output.
2011-10-12 08:27:36 +02:00
John Stebbins
5f3fb59953
fix AC3ENC_OPT_MODE_ON/OFF
...
The values were reversed.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-11 14:57:58 -04:00
Mans Rullgard
fdba370f8a
h264: fix HRD parameters parsing
...
The bit_rate_value_minus1 and cpb_size_value_minus1 elements
allow a wider range than get_ue_golomb() supports. This
adds a get_ue_golomb_long() function supporting up to 31
leading zeros, which is the maximum for these syntax
elements, and uses it in decode_hrd_parameters().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 18:24:51 +01:00
Ronald S. Bultje
91f4732913
prores: implement multithreading.
...
60% speedup (overall decoding time) at 2 threads, and another 60%
speedup at 4 threads.
2011-10-11 07:50:49 -07:00
Ronald S. Bultje
e3f530feca
prores: idct sse2/sse4 optimizations.
...
~3.0-3.5x as fast as original C version, 1.6x as fast overall.
2011-10-11 07:50:48 -07:00
Ronald S. Bultje
92fb52d906
prores: extract idct into its own dspcontext and merge with put_pixels.
2011-10-11 07:50:48 -07:00
Mans Rullgard
8babfc033e
h264: fix invalid shifts in init_cavlc_level_tab()
...
The level_code expression includes a shift which is invalid in
those cases where the value is not used. Moving the calculation
to the branch where the result is used avoids these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 15:00:56 +01:00
Diego Biurrun
4b7f49082f
flashsv: return more meaningful error value
2011-10-11 14:28:23 +02:00
Diego Biurrun
f9a9c8f9bc
flashsv: fix typo in av_log() message
2011-10-11 14:28:23 +02:00
Justin Ruggles
ff1f89de2d
smacker: validate channels and sample format.
2011-10-11 07:48:16 -04:00
Justin Ruggles
cf044f8bff
smacker: check buffer size before reading output size
2011-10-11 07:48:16 -04:00
Justin Ruggles
e190e453bd
smacker: validate number of channels
2011-10-11 07:48:16 -04:00
Mans Rullgard
be1242a3f2
h264: fix detection of optional trailing PPS elements
...
The PPS may contain a few trailing elements whose presence is
only signalled by data remaining after the the mandatory part
has been parsed. The current code fails to take into account
the rbsp_trailing_bits() when deciding whether to parse these
optional elements. Assuming no unnecessary padding bytes are
passed to this function, the optional elements are present if
either more than 8 extra bits remain or the remaining bits do
not form a valid rbsp_trailing_bits() after the mandatory PPS
elements have been parsed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:51 +01:00
Mans Rullgard
c79d2a20ba
sipr: fix get_bits(0) calls
...
Zero-length get_bits() is undefined, must check before calling.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:51 +01:00
Mans Rullgard
cb668476ab
motion_est: make MotionExtContext.map_generation unsigned
...
The way this value is used, it should be an unsigned type.
While the numerical value has no meaning, unsigned wraparound
is relied upon.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:50 +01:00
Laurent Aimar
4c7a232fc8
h264: reset h->ref_count in case of errors in ff_h264_decode_ref_pic_list_reordering()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
e8ac80fb2c
error_resilience: fix the check for missing references in ff_er_frame_end() for H264
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
1b1182ce97
4xm: prevent NULL dereference with invalid huffman table
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
8d518a9c4f
4xm: clear FF_INPUT_BUFFER_PADDING_SIZE bytes in temporary buffers
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:35 +02:00
Laurent Aimar
dc64f203a6
ptx: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:15 +02:00
Laurent Aimar
04a845caa7
tiffdec: fix out of bound reads/writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:13 +02:00
Laurent Aimar
46cb2f6a29
eacmv: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:13 +02:00
Laurent Aimar
8df8a87e3f
eacmv: fix potential pointer arithmetic overflows
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
c7f89064e2
adpcm: fix out of bound reads due to integer overflow
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
2475f1a83c
anm: prevent infinite loop
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
de049a95f4
avs: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Baptiste Coudurier
11a32d53ca
dnxhddec: handle cid change in bitstream.
2011-10-10 09:40:26 -07:00
Kostya Shishkov
109d8aa1e6
vc1: K&R reformatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-10 18:35:35 +02:00
Justin Ruggles
8f8f5ae991
ra288: log an error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1.
2011-10-10 11:38:58 -04:00
Justin Ruggles
fa6be04bf7
ra288: use a more descriptive calculation for output data size
2011-10-10 11:38:58 -04:00
Justin Ruggles
f10524d51c
ra144: use macro constants to make the code more understandable.
2011-10-10 11:38:58 -04:00
Justin Ruggles
cadd4d332a
ra144dec: log an error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1.
2011-10-10 11:38:58 -04:00
Justin Ruggles
80bdf7e0b7
ra144dec: use a more descriptive calculation for output data size
2011-10-10 11:38:57 -04:00
Mashiat Sarker Shakkhar
51757ac789
lavc: Micro version bump for VC1 interlaced decoding support
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
cad16562c8
vc1dec: interlaced stream decoding support 3/3
...
Cosmetics: break some lines and reformat TODOs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
f0c02e1cbc
vc1dec: interlaced stream decoding support 2/3
...
Cosmetics: reformat some data tables in vc1data.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
d5b015e42d
vc1dec: interlaced stream decoding support 1/3
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Gwenole Beauchesne
53efb758c0
vaapi: Fix VC-1 decoding (reconstruct bitstream TTFRM correctly).
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-10 14:11:02 +02:00
Mans Rullgard
581810f502
mpeg4dec: use unsigned type for startcode in ff_mpeg4_decode_picture_header
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:28:54 +01:00
Mans Rullgard
aa498fef0d
mpeg124: use sign_extend() function
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:22:14 +01:00
Mans Rullgard
633ddb8519
ac3dec: use get_sbits() instead of manually sign-extending
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:21:31 +01:00
Mans Rullgard
84dda40762
4xm: fix signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:13:35 +01:00
Mans Rullgard
ba3f07d061
wmavoice: fix a signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:04:03 +01:00
Mans Rullgard
05795f35be
mpegvideo_enc: fix a signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:03:46 +01:00
Mans Rullgard
282847ba80
zmbv: remove memcpy() of decoded frame
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 13:58:19 +01:00
Mans Rullgard
2f329db90e
mpeg12enc: use sign_extend() function
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 13:58:17 +01:00
Mans Rullgard
60f10e0ad3
h264pred: use unsigned types for pixel values, fix signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
4d1418cd4f
h264: fix signed overflows in x*0x01010101 expressions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
d66b9dec11
h264pred: remove unused variables
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
bb59156606
vp8: fix signed overflows
...
In addition to avoiding undefined behaviour, an unsigned type
makes more sense for packing multiple 8-bit values.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
e708afd3c0
motion_est: fix some signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
559c244d42
dca: fix signed overflow in shift
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
d12294304a
aacdec: fix undefined shifts
...
Since nnz can be zero, this is needed to avoid a shift by 32.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Laurent Aimar
a00676e48e
bink: Check for various out of bound writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-08 16:32:01 +02:00
Laurent Aimar
24adf7832b
bink: Check for out of bound writes when building tree
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-08 16:25:56 +02:00
Mans Rullgard
ac6eab1496
put_bits: fix invalid shift by 32 in flush_put_bits()
...
If flush_put_bits() is called when the 32-bit buffer is empty,
e.g. after writing a multiple of 32 bits, and invalid shift by
32 is performed. Since flush_put_bits() is called infrequently,
this additional check should have negligible performance impact.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 02:41:58 +01:00
Laurent Aimar
9bd854b1ff
mpc8: Check out of bound bands limit
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 17:15:45 +02:00
Laurent Aimar
7d17a794f0
xan: Prevent NULL dereference with missing palette
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 17:15:31 +02:00
Laurent Aimar
3db3fdf4c6
xan: Check for out of bound reads in xan_huffman_decode()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
3e0757c2a8
xan: Fixed out of bound accesses in xan_unpack()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
1cd0a55163
motionpixels: Prevent calling init_vlc() with invalid parameters
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
5f05cf4ea9
shorten: Fix out of bound writes in fix_bitshift()
...
The data pointers s->decoded[*] already take into account s->nwrap.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
1720603287
dsicinav: Check for out of bounds writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
64263dd526
tiertexseqv: Check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
4fd56f842c
quickdraw: Check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
e3ca9b93d9
dsicinav: Check for out of bounds reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
210c80331e
motionpixels: Fix the size of workspace buffers
...
Some buffers must be mod 4 in width and/or height.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
d337dd3a90
motionpixels: Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
d99427cb8b
wmavoice: Check for corrupted extra data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
1c1449b548
wmavoice: Check for out of bound writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
06be075cda
xan: Prevent NULL dereferences with missing reference frame
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
c7e631986b
bink: Prevent NULL dereferences with missing reference frame
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
2c6cf13940
wavpack: Reset internal state on corrupted blocks
...
wavpack_decode_block() supposes that it is called back with the exact
same buffer unless it has returned with an error. With multi-channels
files, wavpack_decode_frame() was breaking this assumption.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
2c1ba79941
wmapro: Validate the number of audio channels before using it
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Laurent Aimar
95010d18b2
shorten: Prevent block size from increasing
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Laurent Aimar
124a16f678
xan: Prevent out of bound accesses
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Michael Niedermayer
14c21c1ff5
H264: Only wait before triggering ff_thread_setup_complete() until the next slice that contains a start-of-field/frame macroblock
...
This allows concurrent decoding of the last field/frame, rather than
only the last slice, of data packets with multiple NAL units packed
together.
This will fix the slowdown reported in e.g. bug 52.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-07 14:23:26 +02:00
Laurent Aimar
a72cad0a6c
vp6: Reset the internal state when aborting key frames header parsing
...
It prevents leaving the state only half initialized.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:37:32 +02:00
Laurent Aimar
3d09d0017d
vp56: Release old pictures after a resolution changes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:27:24 +02:00
Laurent Aimar
066fff755a
vp6: Check for huffman tree build errors
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:27:03 +02:00
Laurent Aimar
0ec6d6e9b6
vp56: Check for missing reference frame data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:25:43 +02:00
Laurent Aimar
d239d4b447
cinepak: Fix invalid read access on extra data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:35:29 +02:00
Laurent Aimar
c0cbe36b18
vmd: fix segfaults on corruped streams
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:33:09 +02:00
Laurent Aimar
3a742470a8
cook: Fix js_vlc_bits value validation for joint stereo
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:31:06 +02:00
Laurent Aimar
69a0bce753
Fixed deference of NULL pointer in motionpixels decoder.
...
Some of the arguments given to init_vlc() come from the stream
and can be corrupted.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 22:29:12 +02:00
Anton Khirnov
d97efd7f87
libx264: support 9- and 10-bit output.
2011-10-06 09:16:06 +02:00
Ronald S. Bultje
4418aa9cb3
h264: correct implicit_weight for field-interlaced pictures.
2011-10-05 04:01:23 -07:00
Ronald S. Bultje
330deb7592
mpegvideo: set correct offset for edge emulation buffer.
...
Using the old code, half of it was unused and the other half was too
small for e.g. >8bpp interlaced data, causing random buffer overruns.
2011-10-05 04:01:23 -07:00
Ronald S. Bultje
0884dd5a1b
mpegvideo: fix position of bottom edge.
...
It was wrong in colorspaces where horizontal and vertical chroma
subsampling are not the same, e.g. 422.
2011-10-05 04:01:23 -07:00
Diego Biurrun
e83c2ddebf
Fix 'heigth' vs. 'height' typos.
2011-10-05 11:12:01 +02:00
Anton Khirnov
a4ea00d021
lavc/lavf: use unique private classes.
...
This is needed by the new AVOptions API.
2011-10-05 07:52:30 +02:00
Anton Khirnov
0ba1e1978d
lavc: use designated initializers for av_codec_context_class
2011-10-05 07:52:05 +02:00
Justin Ruggles
dd376b1a12
qcelpdec: cosmetics: do not add line break before opening bracket in 'for',
...
'while', 'if/else', and 'switch' statements.
also fixes some spacing, but only if already changing a line
2011-10-04 17:10:11 -04:00
Justin Ruggles
e43dd3d2a8
qcelp: check output buffer size before decoding
2011-10-04 17:10:11 -04:00
Chris Rankin
bde2570013
qcelpdec: fix the return value of qcelp_decode_frame().
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-04 17:09:53 -04:00
Justin Ruggles
1b5a189f06
sipr: fix the output data size check and only calculate it once.
2011-10-04 16:13:20 -04:00
Diego Biurrun
12bd8532cf
Synchronize various 4CCs and codec tags from FFmpeg.
2011-10-04 11:58:53 +02:00
Justin Ruggles
7d49f79f1c
qdm2: check output buffer size before decoding
2011-10-03 21:34:19 -04:00
Laurent Aimar
5a19acb17c
Fix out of bound reads in the QDM2 decoder.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-03 21:34:19 -04:00
Laurent Aimar
291d74a46d
Check for out of bound writes in the QDM2 decoder.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-03 21:34:19 -04:00
Anton Khirnov
24ec9ac475
libvpx: fix build with older libvpx versions.
...
VPX_ERROR_RESILIENT_DEFAULT and VPX_ERROR_RESILIENT_PARTITIONS weren't
defined before 4cb0ebe5b27d35ccc2a78c1d16f2622ddef21f74 (CommitDate: Tue
Jun 28 11:10:17 2011)
2011-10-03 13:06:24 +02:00
Mans Rullgard
6308729e68
ARM: check for inline asm 'y' operand modifier support
...
The inline asm added in bf5d46d
uses the 'y' modifier which
is only supported from gcc 4.5. This check allows building
with older compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-03 08:56:24 +01:00
Justin Ruggles
5674d4b0a3
mpc8: check output buffer size before decoding
2011-10-02 10:34:39 -04:00
Justin Ruggles
8290d1f38b
mpc7: return error if packet is too small.
2011-10-02 10:34:39 -04:00
Justin Ruggles
c8b5c4d274
mpc7: check output buffer size before decoding
2011-10-02 10:34:39 -04:00
Justin Ruggles
fac6b7f9f2
nellymoserdec: allocate float_buf only when decoding to int16
2011-10-02 10:19:04 -04:00
Justin Ruggles
32b484464c
nellymoserdec: use NELLY_BUF_LEN instead of 128
2011-10-02 10:19:04 -04:00
Justin Ruggles
ded0800d44
nellymoserdec: use NELLY_BLOCK_LEN instead of 64 when appropriate.
2011-10-02 10:19:04 -04:00
Justin Ruggles
84464b2e7f
nellymoserdec: allow user to request SAMPLE_FMT_FLT for output samples.
2011-10-02 10:19:04 -04:00
Justin Ruggles
8b31c086b6
nellymoser: check output buffer size before decoding
2011-10-02 10:19:04 -04:00
Luca Barbato
0e5cc174bb
win32: improve threading algorithm warning
...
If no threading is requested do not issue warning about unsupported
threading algorithm.
2011-10-02 08:58:08 +02:00
Anton Khirnov
b036a7180c
lavc: add video/audio/encoding flags to global_quality option
2011-10-01 07:16:56 +02:00
Luca Barbato
6450f26c9a
libvpxenc: use libvpx's own defaults for some parameters
...
Specifically, qmin/qmax, gop_size and keyint_min.
Fixes bug 47.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-01 07:16:56 +02:00
Luca Barbato
e3eb015ba4
vpxenc: add private options
...
Make libvpx support close to the libx264 one. Thanks to
Jan Gerber <j@v2v.cc> for the support.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-01 07:16:56 +02:00
Justin Ruggles
08bd22a61b
dpcm: return error if packet is too small
2011-09-30 18:15:53 -04:00
Justin Ruggles
0354fb7ebe
dpcm: use smaller data types for static tables
2011-09-30 18:15:53 -04:00
Justin Ruggles
5a54d51017
dpcm: use sol_table_16 directly instead of through the DPCMContext.
2011-09-30 18:15:53 -04:00
Justin Ruggles
f47f7efd14
dpcm: replace short with int16_t
2011-09-30 18:15:53 -04:00
Justin Ruggles
8d77d12a2b
dpcm: check to make sure channels is 1 or 2.
2011-09-30 18:15:53 -04:00
Justin Ruggles
4bad464e7f
dpcm: misc pretty-printing
2011-09-30 18:15:53 -04:00
Justin Ruggles
1de8401c56
dpcm: remove unnecessary variable by using bytestream functions.
...
Uses 'buf' directly instead of a separate iterator variable 'in'.
2011-09-30 18:15:53 -04:00
Justin Ruggles
fc6faee0d1
dpcm: move codec-specific variable declarations to their corresponding decoding blocks.
2011-09-30 18:15:53 -04:00
Justin Ruggles
989bb7bd04
dpcm: consistently use the variable name 'n' for the next input byte.
2011-09-30 18:15:52 -04:00
Justin Ruggles
04b24cf94b
dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
...
Uses the native sample format for the codec instead of left-shifting all
samples by 8.
2011-09-30 18:15:52 -04:00
Justin Ruggles
76db17dc7d
dpcm: calculate and check actual output data size prior to decoding.
2011-09-30 18:15:52 -04:00
Justin Ruggles
3db8db406f
dpcm: factor out the stereo flag calculation
2011-09-30 18:15:52 -04:00
Justin Ruggles
b09c7eefb7
dpcm: cosmetics: rename channel_number to ch
...
Make the code easier to read.
2011-09-30 18:15:52 -04:00
Carl Eugen Hoyos
bcb1555489
dxva2_h264: pass the correct 8x8 scaling lists
...
Copy the Inter 8x8 scaling list as second 8x8 matrix into DXVA2's
quantization matrix data structure instead of a potentially unset
Intra chroma scaling matrix.
Fix dxva2 decoding for some H264 samples.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 20:15:17 +02:00
Mans Rullgard
bf5d46d8e6
dca: NEON optimised high freq VQ decoding
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Justin Ruggles
6326afd5e9
avcodec: reject audio packets with NULL data and non-zero size
...
There is no valid reason the user should ever send such packets in the
first place, but the documentation for CODEC_CAP_DELAY states that the
codec is guaranteed not to get a NULL packet unless that capability is
set. That isn't true without preventing this case.
2011-09-30 11:02:50 -04:00
Joakim Plate
dcce09d64b
dxva: Add ability to enable workaround for older ATI cards
...
The workaround needs to be enabled per PCI ID which cannot be detected inside
libavcodec. So add a flag to manually enable the alternate behavior.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 11:17:53 +02:00
Justin Ruggles
e562fbd003
adpcm: move codec-specific variable declarations to the sections for the corresponding codecs.
2011-09-29 16:54:01 -04:00
Justin Ruggles
9662539c10
adpcm: check buffer size in Funcom ISS decoder before reading header.
...
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
ba5d2890d7
adpcm: simplify reading of Funcom ISS frame header.
2011-09-29 16:54:01 -04:00
Justin Ruggles
5c9eb4fabb
adpcm: check buffer size in IMA DK4 decoder before reading header.
...
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
a57ea1a87e
adpcm: simplify reading of IMA DK4 frame header.
2011-09-29 16:54:01 -04:00
Justin Ruggles
8114f94ac9
adpcm_ms: clean up reading of predictor coefficients
2011-09-29 16:54:01 -04:00
Justin Ruggles
943f4db552
adpcm_4xm: process planar packets sequentially rather than simultaneously.
...
Also properly clip the right channel step_index.
2011-09-29 16:54:00 -04:00