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>
Justin Ruggles [Wed, 14 Sep 2011 18:46:50 +0000 (14:46 -0400)]
ra288: log an error message when output buffer is too small.
also return AVERROR(EINVAL) instead of -1.
Justin Ruggles [Wed, 14 Sep 2011 18:46:02 +0000 (14:46 -0400)]
ra288: use a more descriptive calculation for output data size
Justin Ruggles [Wed, 14 Sep 2011 18:42:31 +0000 (14:42 -0400)]
ra144: use macro constants to make the code more understandable.
Justin Ruggles [Wed, 14 Sep 2011 18:24:59 +0000 (14:24 -0400)]
ra144dec: log an error message when output buffer is too small.
also return AVERROR(EINVAL) instead of -1.
Justin Ruggles [Wed, 14 Sep 2011 18:24:02 +0000 (14:24 -0400)]
ra144dec: use a more descriptive calculation for output data size
Mashiat Sarker Shakkhar [Thu, 6 Oct 2011 19:00:27 +0000 (00:00 +0500)]
lavc: Micro version bump for VC1 interlaced decoding support
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mashiat Sarker Shakkhar [Thu, 6 Oct 2011 19:00:26 +0000 (00:00 +0500)]
vc1dec: interlaced stream decoding support 3/3
Cosmetics: break some lines and reformat TODOs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mashiat Sarker Shakkhar [Thu, 6 Oct 2011 19:00:25 +0000 (00:00 +0500)]
vc1dec: interlaced stream decoding support 2/3
Cosmetics: reformat some data tables in vc1data.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mashiat Sarker Shakkhar [Thu, 6 Oct 2011 19:00:24 +0000 (00:00 +0500)]
vc1dec: interlaced stream decoding support 1/3
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Gwenole Beauchesne [Mon, 10 Oct 2011 11:51:41 +0000 (13:51 +0200)]
vaapi: Fix VC-1 decoding (reconstruct bitstream TTFRM correctly).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Mon, 10 Oct 2011 08:31:31 +0000 (10:31 +0200)]
configure: Add -Wstrict-prototypes to CFLAGS if available.
Janne Grunau [Mon, 10 Oct 2011 11:28:18 +0000 (13:28 +0200)]
avidec: simplify size parameter in memset()
Mans Rullgard [Sun, 9 Oct 2011 22:21:01 +0000 (23:21 +0100)]
mpeg4dec: use unsigned type for startcode in ff_mpeg4_decode_picture_header
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 22:16:07 +0000 (23:16 +0100)]
mpeg124: use sign_extend() function
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 22:15:17 +0000 (23:15 +0100)]
ac3dec: use get_sbits() instead of manually sign-extending
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 19:38:01 +0000 (20:38 +0100)]
4xm: fix signed overflow
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 19:46:22 +0000 (20:46 +0100)]
wmavoice: fix a signed overflow
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 19:32:58 +0000 (20:32 +0100)]
mpegvideo_enc: fix a signed overflow
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 00:59:51 +0000 (01:59 +0100)]
crc: fix signed overflow
This fixes a signed overflow from i << 24 when i == 255 by
making i unsigned. The result of the shift is already
assigned to an variable of unsigned type.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Fri, 7 Oct 2011 13:13:02 +0000 (14:13 +0100)]
fate: run avconv with -nostats flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Fri, 7 Oct 2011 12:29:03 +0000 (13:29 +0100)]
avtools: add -v as alias for -loglevel
This saves a bit of typing.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Anton Khirnov [Sun, 9 Oct 2011 14:32:54 +0000 (16:32 +0200)]
avconv: always print stats with AV_LOG_INFO
It's now possible to disable printing stats during encoding with
-nostats, so there's no reason to print them differently depending on
whether it's last report or not.
Anton Khirnov [Sun, 9 Oct 2011 13:57:54 +0000 (15:57 +0200)]
doc/avconv: add forgotten output/per-stream info to -filter
Anton Khirnov [Sun, 9 Oct 2011 13:57:30 +0000 (15:57 +0200)]
avconv: add -stats option to enable/disable printing encoding progress
Anton Khirnov [Tue, 27 Sep 2011 18:00:28 +0000 (20:00 +0200)]
avconv: in output_packet() don't set decoded_data_size for video.
It's only used for audio.
Anton Khirnov [Tue, 27 Sep 2011 06:21:48 +0000 (08:21 +0200)]
avconv: remove pointless always true condition
Anton Khirnov [Tue, 27 Sep 2011 06:16:26 +0000 (08:16 +0200)]
avconv: factorize common code in transcode_init()
Mans Rullgard [Sun, 9 Oct 2011 12:21:10 +0000 (13:21 +0100)]
zmbv: remove memcpy() of decoded frame
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 11:56:54 +0000 (12:56 +0100)]
mpeg12enc: use sign_extend() function
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 20:22:06 +0000 (21:22 +0100)]
h264pred: use unsigned types for pixel values, fix signed overflows
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 20:19:51 +0000 (21:19 +0100)]
h264: fix signed overflows in x*0x01010101 expressions
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 19:32:09 +0000 (20:32 +0100)]
h264pred: remove unused variables
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 01:06:26 +0000 (02:06 +0100)]
lavf: fix signed overflow in avformat_find_stream_info()
On the first iteration through this code, last_dts is always
INT64_MIN (AV_NOPTS_VALUE) and the subtraction overflows in
an invalid manner. Although the result is only used if the
input values are valid, performing the subtraction is still
not allowed in a strict environment.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 14:03:51 +0000 (15:03 +0100)]
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>
Mans Rullgard [Sat, 8 Oct 2011 12:52:44 +0000 (13:52 +0100)]
motion_est: fix some signed overflows
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 12:49:42 +0000 (13:49 +0100)]
dca: fix signed overflow in shift
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 12:41:23 +0000 (13:41 +0100)]
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>
Laurent Aimar [Tue, 27 Sep 2011 12:16:41 +0000 (12:16 +0000)]
bink: Check for various out of bound writes
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Laurent Aimar [Tue, 27 Sep 2011 12:16:41 +0000 (12:16 +0000)]
bink: Check for out of bound writes when building tree
Signed-off-by: Janne Grunau <janne-libav@jannau.net>