Dustin Brody [Thu, 13 Oct 2011 07:26:53 +0000 (03:26 -0400)]
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>
Dustin Brody [Thu, 13 Oct 2011 07:26:27 +0000 (03:26 -0400)]
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Fri, 23 Sep 2011 00:06:23 +0000 (02:06 +0200)]
prores: add FATE tests
Diego Biurrun [Mon, 10 Oct 2011 13:51:02 +0000 (15:51 +0200)]
id3v2: reduce the scope of some non-globally-used symbols/structures
Diego Biurrun [Mon, 10 Oct 2011 13:48:59 +0000 (15:48 +0200)]
id3v2: cosmetics: move some declarations before the places they are used
Justin Ruggles [Sat, 17 Sep 2011 02:21:47 +0000 (22:21 -0400)]
shorten: remove the flush function.
The shorten decoder does not support seeking.
Justin Ruggles [Sun, 2 Oct 2011 16:03:22 +0000 (12:03 -0400)]
shn: do not allow seeking in the raw shn demuxer.
The demuxer does not read the seektable, a parser is not possible without a
full decode, and no shorten decoder can handle random seeking because it needs
side info from the seektable.
Justin Ruggles [Sun, 2 Oct 2011 15:57:53 +0000 (11:57 -0400)]
avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
This will prevent seeking by bytes for formats that cannot handle this.
Justin Ruggles [Sun, 2 Oct 2011 15:29:20 +0000 (11:29 -0400)]
avformat: update AVInputFormat allowed flags
Justin Ruggles [Fri, 16 Sep 2011 23:02:23 +0000 (19:02 -0400)]
avformat: don't unconditionally call ff_read_frame_flush() when trying to seek.
This prevents flushing the packet buffer when the input format does not
support seeking.
Justin Ruggles [Thu, 13 Oct 2011 18:03:17 +0000 (14:03 -0400)]
truespeech: use sizeof() instead of hardcoded sizes
Justin Ruggles [Thu, 13 Oct 2011 04:21:17 +0000 (00:21 -0400)]
truespeech: remove unneeded variable, 'consumed'
increment the 'buf' pointer instead, and consume the whole packet.
Justin Ruggles [Thu, 13 Oct 2011 04:17:05 +0000 (00:17 -0400)]
truespeech: simplify truespeech_read_frame() by using get_bits()
Justin Ruggles [Thu, 13 Oct 2011 03:27:32 +0000 (23:27 -0400)]
truespeech: decode directly to output buffer instead of a temp buffer
Justin Ruggles [Thu, 13 Oct 2011 03:23:18 +0000 (23:23 -0400)]
truespeech: check to make sure channels == 1
Justin Ruggles [Thu, 13 Oct 2011 03:15:00 +0000 (23:15 -0400)]
truespeech: check for large enough output buffer rather than truncating output
Justin Ruggles [Thu, 13 Oct 2011 03:10:41 +0000 (23:10 -0400)]
truespeech: remove unneeded zero-size packet check.
This is already checked in avcodec_decode_audio3()
Justin Ruggles [Thu, 13 Oct 2011 02:47:50 +0000 (22:47 -0400)]
mlpdec: return meaningful error codes instead of -1
Justin Ruggles [Thu, 13 Oct 2011 02:37:12 +0000 (22:37 -0400)]
mlpdec: remove unnecessary wrapper function
Justin Ruggles [Wed, 21 Sep 2011 16:14:28 +0000 (12:14 -0400)]
mlpdec: only calculate output size once
Justin Ruggles [Thu, 13 Oct 2011 02:30:44 +0000 (22:30 -0400)]
mlpdec: validate that the reported channel count matches the actual output
channel count
Mans Rullgard [Sat, 8 Oct 2011 11:47:53 +0000 (12:47 +0100)]
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>
Mans Rullgard [Sun, 9 Oct 2011 11:57:08 +0000 (12:57 +0100)]
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>
Kostya Shishkov [Thu, 13 Oct 2011 08:12:42 +0000 (10:12 +0200)]
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>
Jean First [Fri, 23 Sep 2011 21:39:51 +0000 (23:39 +0200)]
tiffenc: initialize forgotten avctx.
Justin Ruggles [Wed, 12 Oct 2011 18:44:02 +0000 (14:44 -0400)]
avplay: free the active audio packet at exit.
fixes a memleak
Justin Ruggles [Wed, 12 Oct 2011 18:38:02 +0000 (14:38 -0400)]
avplay: free rdft data used for spectrogram analysis.
fixes a memleak
Jindrich Makovicka [Wed, 12 Oct 2011 20:30:56 +0000 (22:30 +0200)]
log.h: make AVClass a named struct
'struct AVClass' is used in the code since
641c7afe3c17334b81e3e2eef88f1751eb68f89f, but AVClass is typedeffed as
an anonymous struct.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Justin Ruggles [Tue, 11 Oct 2011 19:04:33 +0000 (15:04 -0400)]
fix ac3 encoder documentation
some of the mode values were reversed
Kostya Shishkov [Tue, 11 Oct 2011 09:59:57 +0000 (11:59 +0200)]
vc1: more prettyprinting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Kostya Shishkov [Tue, 11 Oct 2011 10:01:04 +0000 (12:01 +0200)]
vc1: prettyprint some tables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Kostya Shishkov [Tue, 11 Oct 2011 10:00:18 +0000 (12:00 +0200)]
vc1: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Anton Khirnov [Tue, 4 Oct 2011 06:13:40 +0000 (08:13 +0200)]
AVOptions: bump minor and add APIchanges entry.
Anton Khirnov [Tue, 4 Oct 2011 12:50:00 +0000 (14:50 +0200)]
cmdutils/avtools: simplify show_help() by using av_opt_child_class_next()
Anton Khirnov [Tue, 4 Oct 2011 05:38:01 +0000 (07:38 +0200)]
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
Anton Khirnov [Mon, 3 Oct 2011 19:10:06 +0000 (21:10 +0200)]
Remove all uses of deprecated AVOptions API.
Anton Khirnov [Mon, 3 Oct 2011 18:04:07 +0000 (20:04 +0200)]
AVOptions: add av_opt_next, deprecate av_next_option.
Just for naming consistency, no functional changes.
Anton Khirnov [Tue, 23 Aug 2011 13:02:25 +0000 (15:02 +0200)]
AVOptions: add functions for evaluating option strings.
Anton Khirnov [Tue, 23 Aug 2011 12:25:56 +0000 (14:25 +0200)]
AVOptions: split get_number().
Split actual writing to read_number() in the same way as write_number().
Allows set_string_number() to write to a caller-provided destination.
Anton Khirnov [Mon, 5 Sep 2011 19:37:02 +0000 (21:37 +0200)]
AVOptions: add av_opt_get*, deprecate av_get*.
New functions can get values from child objects, properly report error
codes and have consistent naming and signatures.
Anton Khirnov [Mon, 5 Sep 2011 06:15:32 +0000 (08:15 +0200)]
AVOptions: add av_opt_set*().
Deprecate av_set_*
New functions support setting values on children, return error codes
instead of options and have consistent naming and signatures.
Anton Khirnov [Mon, 3 Oct 2011 17:49:12 +0000 (19:49 +0200)]
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.
Janne Grunau [Sat, 24 Sep 2011 10:54:28 +0000 (12:54 +0200)]
rv34: move inverse transform functions to DSP context
Martin Storsjö [Wed, 21 Sep 2011 13:58:07 +0000 (16:58 +0300)]
flvenc: Write the right metadata entry count
No application rely on this count being correct as far as
I know, but if we write a nonzero count value, it might just
as well be the right one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Dec 2010 07:51:09 +0000 (09:51 +0200)]
rtsp: Request that dynamic rate is disabled
DSS enables this automatically if streaming VOD over TCP. If
enabled, the server feeds packets faster than realtime, screwing
up RTCP NTP based timestamps.
Also, DSS doesn't indicate that this was indicated, if it was
enabled automatically (although if it was requested to be enabled,
a header saying that it was enabled is added, but this isn't
added if it is enabled automatically), making it even harder
to detect and work around properly without explicitly asking
for it to be disabled(/enabled, if we were able to support it).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 2 Jan 2011 12:32:18 +0000 (14:32 +0200)]
rtsp: Parse the x-Accept-Dynamic-Rate header
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 12 Oct 2011 09:37:42 +0000 (12:37 +0300)]
rtpdec: Add ff_ prefix to all nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Wed, 12 Oct 2011 11:25:10 +0000 (12:25 +0100)]
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>
John Brooks [Wed, 12 Oct 2011 06:53:12 +0000 (00:53 -0600)]
rtpdec: Read the packet length for all RTCP packet types
This allows skipping past unsupported RTCP packet types, as
RFC 3550 section 6.1 mandates.
Currently this only has any practical effect if a sender puts
an unrecognized type before RTCP_BYE in a compounded packet, or
(incorrectly) does not put RTCP_SR first.
Signed-off-by: Martin Storsjö <martin@martin.st>
John Brooks [Wed, 12 Oct 2011 08:06:26 +0000 (11:06 +0300)]
rtpdec: Fix the minimum packet length for RTCP SR packets
We actually read 20 bytes of these packets.
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Tue, 11 Oct 2011 16:45:55 +0000 (17:45 +0100)]
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>
Martin Storsjö [Tue, 11 Oct 2011 21:03:20 +0000 (00:03 +0300)]
flvdec: Don't export metadata entries that aren't proper metadata
This avoids writing these entries doubly if transcoding from
flv to flv, since the muxer blindly writes any and all metadata
keys set, in addition to the fixed fields that the muxer
always writes.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 11 Oct 2011 20:56:39 +0000 (23:56 +0300)]
flvdec: Split out setting of numeric fields from storing metadata
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 9 Oct 2011 17:34:20 +0000 (19:34 +0200)]
libx264: support yuv422/444 output.
Anton Khirnov [Sun, 9 Oct 2011 17:33:30 +0000 (19:33 +0200)]
sws: support yuv444p9/10 output.
John Stebbins [Tue, 11 Oct 2011 18:57:58 +0000 (14:57 -0400)]
fix AC3ENC_OPT_MODE_ON/OFF
The values were reversed.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Mans Rullgard [Tue, 11 Oct 2011 15:00:21 +0000 (16:00 +0100)]
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>
Ronald S. Bultje [Thu, 6 Oct 2011 14:17:44 +0000 (07:17 -0700)]
prores: implement multithreading.
60% speedup (overall decoding time) at 2 threads, and another 60%
speedup at 4 threads.
Ronald S. Bultje [Fri, 30 Sep 2011 12:37:11 +0000 (14:37 +0200)]
prores: idct sse2/sse4 optimizations.
~3.0-3.5x as fast as original C version, 1.6x as fast overall.
Ronald S. Bultje [Sun, 9 Oct 2011 04:40:01 +0000 (21:40 -0700)]
swscale: use aligned move for storage into temporary buffer.
The intermediate buffer is always aligned.
Ronald S. Bultje [Thu, 6 Oct 2011 15:03:38 +0000 (08:03 -0700)]
prores: extract idct into its own dspcontext and merge with put_pixels.
Mans Rullgard [Tue, 11 Oct 2011 11:58:31 +0000 (12:58 +0100)]
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>
Mans Rullgard [Sat, 8 Oct 2011 01:16:29 +0000 (02:16 +0100)]
intfloat_readwrite: fix signed addition overflows
These additions might overflow the signed range for large
input values. Converting to unsigned before the addition
rather than after avoids such undefined behaviour. The
result under normal two's complement wraparound remains
unchanged.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Luca Barbato [Tue, 11 Oct 2011 08:14:06 +0000 (10:14 +0200)]
mov: do not misreport empty stts
Return -1 instead of ENOMEM if entries is 0.
Fixes a av_malloc(0) crash in macosx.
Luca Barbato [Tue, 11 Oct 2011 08:12:38 +0000 (10:12 +0200)]
mov: cosmetics, fix for and if spacing
Anton Khirnov [Fri, 7 Oct 2011 18:09:56 +0000 (20:09 +0200)]
id3v2: fix NULL pointer dereference
Bug found by Laurent Aimar fenrir at videolan org
Raivo Hool [Tue, 11 Oct 2011 07:53:40 +0000 (10:53 +0300)]
mov: read album_artist atom
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Raivo Hool [Tue, 11 Oct 2011 07:53:39 +0000 (10:53 +0300)]
mov: fix disc/track numbers and totals
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Thu, 29 Sep 2011 19:57:29 +0000 (21:57 +0200)]
doc: fix references to obsolete presets directories for avconv/ffmpeg
Diego Biurrun [Wed, 28 Sep 2011 12:47:58 +0000 (14:47 +0200)]
flashsv: return more meaningful error value
Diego Biurrun [Wed, 28 Sep 2011 12:47:31 +0000 (14:47 +0200)]
flashsv: fix typo in av_log() message
Justin Ruggles [Wed, 21 Sep 2011 15:49:33 +0000 (11:49 -0400)]
smacker: validate channels and sample format.
Justin Ruggles [Wed, 21 Sep 2011 15:42:55 +0000 (11:42 -0400)]
smacker: check buffer size before reading output size
Justin Ruggles [Wed, 21 Sep 2011 15:37:51 +0000 (11:37 -0400)]
smacker: validate number of channels
Justin Ruggles [Wed, 21 Sep 2011 15:34:26 +0000 (11:34 -0400)]
smacker: Separate audio flags from sample rates in smacker demuxer.
Makes the code easier to understand.
Mans Rullgard [Mon, 10 Oct 2011 23:58:03 +0000 (00:58 +0100)]
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>
Mans Rullgard [Mon, 10 Oct 2011 19:41:31 +0000 (20:41 +0100)]
sipr: fix get_bits(0) calls
Zero-length get_bits() is undefined, must check before calling.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 19:18:34 +0000 (20:18 +0100)]
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>
Laurent Aimar [Sun, 2 Oct 2011 14:03:47 +0000 (14:03 +0000)]
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>
Laurent Aimar [Sun, 2 Oct 2011 00:48:12 +0000 (00:48 +0000)]
error_resilience: fix the check for missing references in ff_er_frame_end() for H264
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Sun, 2 Oct 2011 00:48:11 +0000 (00:48 +0000)]
4xm: prevent NULL dereference with invalid huffman table
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Sun, 2 Oct 2011 00:48:11 +0000 (00:48 +0000)]
4xmdemux: prevent use of uninitialized memory
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Sun, 2 Oct 2011 00:48:11 +0000 (00:48 +0000)]
4xm: clear FF_INPUT_BUFFER_PADDING_SIZE bytes in temporary buffers
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Sun, 2 Oct 2011 00:48:12 +0000 (00:48 +0000)]
ptx: check for out of bound reads
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:33 +0000 (23:42 +0000)]
tiffdec: fix out of bound reads/writes
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:32 +0000 (23:42 +0000)]
eacmv: check for out of bound reads
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:32 +0000 (23:42 +0000)]
eacmv: fix potential pointer arithmetic overflows
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:32 +0000 (23:42 +0000)]
adpcm: fix out of bound reads due to integer overflow
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:32 +0000 (23:42 +0000)]
anm: prevent infinite loop
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:31 +0000 (23:42 +0000)]
avsdemux: check for out of bound writes
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:31 +0000 (23:42 +0000)]
avs: check for out of bound reads
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Fri, 30 Sep 2011 23:42:31 +0000 (23:42 +0000)]
avsdemux: check for corrupted data
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Anton Khirnov [Tue, 23 Aug 2011 10:58:49 +0000 (12:58 +0200)]
AVOptions: refactor set_number/write_number
write_number() does the actual writing of the supplied
number to destination. Move finding the option and choosing destination
address out of it.
Anton Khirnov [Tue, 23 Aug 2011 11:07:17 +0000 (13:07 +0200)]
AVOptions: cosmetics, rename static av_set_number2() to write_number().
Anton Khirnov [Tue, 23 Aug 2011 11:03:42 +0000 (13:03 +0200)]
AVOptions: cosmetics, move and rename static av_set_number().
Anton Khirnov [Tue, 23 Aug 2011 08:23:57 +0000 (10:23 +0200)]
AVOptions: split av_set_string3 into opt type-specific functions
Also stop attempting to honor the alloc parameter, as things break
horribly in that case.
It will be removed in upcoming successor to av_set_string3.
Mans Rullgard [Sat, 8 Oct 2011 00:51:37 +0000 (01:51 +0100)]
avidec: fix signed overflow in avi_sync()
Keeping byte values read from the file as unsigned is consistent
with how they are subsequently used and avoids an undefined left
shift by 24 when bit 7 is set.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Alex Converse [Sat, 8 Oct 2011 01:41:06 +0000 (18:41 -0700)]
mxfdec: Fix some buffer overreads caused by the misuse of AVPacket related functions.
Baptiste Coudurier [Sun, 26 Jun 2011 21:08:22 +0000 (14:08 -0700)]
dnxhddec: handle cid change in bitstream.
Kostya Shishkov [Mon, 10 Oct 2011 14:04:58 +0000 (16:04 +0200)]
vc1: K&R reformatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>