Giorgio Vazzana [Fri, 5 Oct 2012 11:37:20 +0000 (13:37 +0200)]
oggparsetheora: fix comment header parsing
Pass the correct header size to ff_vorbis_comment()
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Mon, 14 Jan 2013 05:46:44 +0000 (21:46 -0800)]
h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.
Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.
This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sun, 30 Dec 2012 18:40:20 +0000 (19:40 +0100)]
libvpx: make vp8 and vp9 selectable
Support older libvpx versions.
Luca Barbato [Thu, 20 Dec 2012 16:22:06 +0000 (17:22 +0100)]
libvpx: support vp9
This feature is experimental use at your risk
Luca Barbato [Sat, 15 Dec 2012 22:26:07 +0000 (23:26 +0100)]
nut: support vp9 tag
Tom Finegan [Sat, 15 Dec 2012 22:18:41 +0000 (23:18 +0100)]
mkv: support vp9 tag
Martin Storsjö [Mon, 14 Jan 2013 15:55:43 +0000 (17:55 +0200)]
rtpdec: Make variables that should wrap unsigned
This makes the behaviour defined when they wrap around. The value
assigned to expected_prior was a uint32_t already.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 14 Jan 2013 15:43:41 +0000 (16:43 +0100)]
build: Remove stray Makefile entry for non-existent VCR1 encoder
Martin Storsjö [Mon, 14 Jan 2013 09:34:19 +0000 (11:34 +0200)]
rtpdec: Handle more received packets than expected when sending RR
Without this, we'd signal a huge loss rate (due to unsigned
wraparound) if we had received one packet more than expected (that
is, one seq number sent twice). The code has a check for lost_interval
<= 0, but that doesn't do what was intended as long as the variable is
unsigned.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 7 Dec 2012 14:19:42 +0000 (16:19 +0200)]
rtpdec: Simplify insertion into the linked list queue
By using a pointer-to-pointer, we avoid having to keep track
of the previous packet separately.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 13 Jan 2013 16:40:13 +0000 (18:40 +0200)]
rtpdec: Remove a woefully misplaced comment
The code below the comment does not at all relate to statistics,
and even if moved to the right place, the comment adds little
value.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 13 Jan 2013 23:07:51 +0000 (00:07 +0100)]
rtmpproto: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 13 Jan 2013 23:07:26 +0000 (00:07 +0100)]
lavf: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 13 Jan 2013 23:06:07 +0000 (00:06 +0100)]
svq1enc: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 13 Jan 2013 23:02:50 +0000 (00:02 +0100)]
lavc: Fix assignments in if() when calling ff_af_queue_add
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Sun, 13 Jan 2013 22:44:01 +0000 (23:44 +0100)]
h264: Fix assignments in if()
Fixes null pointer dereference later, since if this function failed,
a positive return value was returned to the caller.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Tue, 20 Nov 2012 06:43:00 +0000 (07:43 +0100)]
truemotion2: cosmetics, reformat
Anton Khirnov [Tue, 20 Nov 2012 06:31:08 +0000 (07:31 +0100)]
truemotion2: return meaningful error codes.
Anton Khirnov [Tue, 20 Nov 2012 06:14:51 +0000 (07:14 +0100)]
tscc: remove some pointless comments and empty lines.
Anton Khirnov [Tue, 20 Nov 2012 06:13:49 +0000 (07:13 +0100)]
tscc: return meaningful error codes.
Anton Khirnov [Mon, 19 Nov 2012 17:48:15 +0000 (18:48 +0100)]
loco: cosmetics, reformat
Anton Khirnov [Mon, 19 Nov 2012 17:43:40 +0000 (18:43 +0100)]
loco: return meaningful error codes.
Anton Khirnov [Mon, 19 Nov 2012 17:24:27 +0000 (18:24 +0100)]
flicvideo: return meaningful error codes.
Anton Khirnov [Mon, 19 Nov 2012 17:09:27 +0000 (18:09 +0100)]
vcr1: remove disabled encoder stub
Anton Khirnov [Mon, 19 Nov 2012 17:03:31 +0000 (18:03 +0100)]
vcr1: return a meaningful error code.
Anton Khirnov [Mon, 19 Nov 2012 09:52:33 +0000 (10:52 +0100)]
rpza: return a meaningful error code.
Anton Khirnov [Mon, 19 Nov 2012 09:40:03 +0000 (10:40 +0100)]
qdrw: cosmetics, reformat
Anton Khirnov [Mon, 19 Nov 2012 09:38:03 +0000 (10:38 +0100)]
qdrw: return meaningful error codes.
Anton Khirnov [Mon, 19 Nov 2012 09:33:54 +0000 (10:33 +0100)]
qtrle: return a meaningful error code.
Anton Khirnov [Mon, 19 Nov 2012 09:30:01 +0000 (10:30 +0100)]
gifdec: return meaningful error codes.
Anton Khirnov [Mon, 19 Nov 2012 09:09:54 +0000 (10:09 +0100)]
interplayvideo: remove a static variable.
Anton Khirnov [Mon, 19 Nov 2012 08:21:15 +0000 (09:21 +0100)]
interplayvideo: return meaningful error codes.
Anton Khirnov [Sun, 18 Nov 2012 17:53:46 +0000 (18:53 +0100)]
lcldec: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 17:31:20 +0000 (18:31 +0100)]
targa: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 17:17:54 +0000 (18:17 +0100)]
qpeg: return a meaningful error code.
Anton Khirnov [Sat, 17 Nov 2012 17:07:42 +0000 (18:07 +0100)]
nuv: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 16:57:06 +0000 (17:57 +0100)]
pcx: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 16:52:52 +0000 (17:52 +0100)]
tmv: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 16:48:38 +0000 (17:48 +0100)]
msrle: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 14:45:41 +0000 (15:45 +0100)]
cscd: return meaningful error codes.
Daniel Kang [Sun, 13 Jan 2013 17:12:18 +0000 (12:12 -0500)]
yadif: x86: fix build for compilers without aligned stack
Manually load registers to avoid using 8 registers on x86_32 with
compilers that do not align the stack (e.g. MSVC).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Sun, 13 Jan 2013 22:37:11 +0000 (23:37 +0100)]
lavc: introduce the convenience function init_get_bits8
Accept the buffer size in bytes and check for overflow before passing
the value in bits to init_get_bits.
Luca Barbato [Sun, 13 Jan 2013 18:52:45 +0000 (19:52 +0100)]
lavc: check for overflow in init_get_bits
Fix an undefined behaviour and make the function return a proper
error in case of overflow.
CC: libav-stable@libav.org
Anton Khirnov [Wed, 31 Oct 2012 05:42:08 +0000 (06:42 +0100)]
avpacket: free side data in av_free_packet().
Freeing it in av_destruct_packet(), as is done currently, would mean
that we allow it to be allocated with other means. But that would make
av_packet_new_side_data() unsafe.
Side data is not expected to be large, so copying it if required
shouldn't be a problem.
Anton Khirnov [Tue, 8 Jan 2013 07:04:59 +0000 (08:04 +0100)]
v4l2: do not assert on a value received from outside of Libav
Anton Khirnov [Mon, 7 Jan 2013 17:54:50 +0000 (18:54 +0100)]
v4l2: set the average framerate instead of codec timebase.
Codec timebase is supposed to be set by decoders only.
Anton Khirnov [Mon, 7 Jan 2013 17:35:48 +0000 (18:35 +0100)]
v4l2: avoid pointless indirection.
v4l2_read_header() does no cleanup, so it can return directly, without
any need for goto.
Rémi Denis-Courmont [Sat, 12 Jan 2013 15:53:47 +0000 (17:53 +0200)]
vdpau: Add VC-1 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Rémi Denis-Courmont [Sat, 12 Jan 2013 15:53:46 +0000 (17:53 +0200)]
vdpau: Add H.264 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Rémi Denis-Courmont [Sat, 12 Jan 2013 15:53:45 +0000 (17:53 +0200)]
vdpau: Add MPEG-4 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Rémi Denis-Courmont [Sat, 12 Jan 2013 15:53:44 +0000 (17:53 +0200)]
vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Rémi Denis-Courmont [Sat, 12 Jan 2013 15:53:43 +0000 (17:53 +0200)]
vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Martin Storsjö [Wed, 9 Jan 2013 16:56:17 +0000 (18:56 +0200)]
rtpdec: Send a valid "delay since SR" value in the RTCP RR packets
Previously, we always signalled a zero time since the last RTCP
SR, which is dubious.
The code also suggested that this would be the difference in
RTP NTP time units (32.32 fixed point), while it actually is
in in 1/65536 second units. (RFC 3550 section 6.4.1)
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 10 Jan 2013 14:35:11 +0000 (16:35 +0200)]
rtpdec: Calculate and report packet reception jitter
This brings back some code that was added originally in
4a6cc061
but never was used, and was removed as unused in
4cc843fa. The
code is updated to actually work and is tested to return sane
values.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 10 Jan 2013 14:40:12 +0000 (16:40 +0200)]
rtpdec: Fix the calculation of expected number of packets
The base_seq variable is set to first_seq - 1 (in
rtp_init_sequence), so no + 1 is needed here.
This avoids reporting 1 lost packet from the start.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Sat, 1 Dec 2012 18:31:25 +0000 (19:31 +0100)]
fate: vp3: Fix fate-vp3-coeff-level64 test dependencies
Also rename the test to reflect that the video track is Theora, not VP3.
Diego Biurrun [Sat, 1 Dec 2012 17:54:30 +0000 (18:54 +0100)]
fate: cosmetics: Order some test entries
Diego Biurrun [Sat, 12 Jan 2013 11:21:33 +0000 (12:21 +0100)]
Add version bump and APIchanges entry for Add AV_PIX_FMT_VDPAU.
Also fix a lavu version typo in APIchanges.
Rémi Denis-Courmont [Fri, 11 Jan 2013 21:27:58 +0000 (23:27 +0200)]
pixfmt: add picture format for VDPAU
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Sat, 12 Jan 2013 05:16:53 +0000 (06:16 +0100)]
ratecontrol: K&R cosmetic formatting
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Martin Storsjö [Fri, 11 Jan 2013 13:07:51 +0000 (15:07 +0200)]
rtpdec: Remove a useless todo comment
The question can be answered: No, we do not know the initial sequence
number from the SDP. In certain cases, it can be known from the
RTP-Info response header in RTSP though. (In that case, we use it as
timestamp origin, but not for rtp receiver statistics.)
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 11 Jan 2013 12:53:58 +0000 (14:53 +0200)]
rtsp: Remove an outdated comment
It is unclear what the bug exactly was and if it ever was fixed,
and we don't even support decoding via faad any longer. The
comment has been present since
d0deedcb in 2006.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 11 Jan 2013 12:47:10 +0000 (14:47 +0200)]
rtsp: Remove references to weirdly named variables in other files
One of them is renamed now, but mentioning it by name serves
no purpose here. The other table mentioned ceased to exist
under that name in
4934884a1 in 2006.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 11 Jan 2013 12:46:54 +0000 (14:46 +0200)]
rtp: Rename a static variable to normal naming conventions
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 11 Jan 2013 12:44:40 +0000 (14:44 +0200)]
rtp: Cosmetic cleanup
Remove leftover debug comments, fix brace placement and
add whitespace, remove unnecessary and weirdly placed braces.
Signed-off-by: Martin Storsjö <martin@martin.st>
Marcin Juszkiewicz [Thu, 10 Jan 2013 12:22:53 +0000 (12:22 +0000)]
configure: enable pic for shared libs on AArch64
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Fri, 11 Jan 2013 04:07:42 +0000 (05:07 +0100)]
zmbv: Reset the decoder on keyframe errors
Prevent the crash on fuzzed files as reported in bug 63.
Vladimir Pantelic [Wed, 9 Jan 2013 16:04:09 +0000 (17:04 +0100)]
vc1dec: prevent a crash due missing pred_flag parameter
Handle pred_flag parameter not given to get_mvdata_interlaced()
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Dale Curtis [Thu, 10 Jan 2013 19:05:29 +0000 (11:05 -0800)]
matroska: Fix use after free
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Ronald Bultje [Thu, 10 Jan 2013 19:02:57 +0000 (11:02 -0800)]
vp3: Fix double free in vp3_decode_end()
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Sat, 1 Dec 2012 15:11:22 +0000 (16:11 +0100)]
fate: Split fate-siff test into demuxer and VB video decoder test
Martin Storsjö [Wed, 9 Jan 2013 12:25:59 +0000 (14:25 +0200)]
rtpdec_vp8: Don't trim too much data from broken frames
Previously, for broken frames, we only returned the first partition
of the frame (we would append all the received packets to the packet
buffer, then set pkt->size to the size of the first partition, since
the rest of the frame could have lost data inbetween) - now instead
return the full buffered data we have, but don't append anything more
to the buffer after the lost packet discontinuity. Decoding the
truncated packet should hopefully get better quality than trimming out
everything after the first partition.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 9 Jan 2013 12:25:22 +0000 (14:25 +0200)]
rtpdec_vp8: Simplify code by using an existing helper function
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 9 Jan 2013 17:41:21 +0000 (19:41 +0200)]
rtpdec: Add a terminating null byte at the end of the SDES/CNAME
This is required by RFC 3550 (section 6.5):
The list of items in each chunk MUST be terminated by one or more
null octets, the first of which is interpreted as an item type of
zero to denote the end of the list.
This was implicitly added as padding before, unless the host name
length matched up so no padding was added.
This makes wireshark parse the packets properly if other RTCP items
are appended to the same packet.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Wed, 9 Jan 2013 19:50:06 +0000 (20:50 +0100)]
yuv4mpeg: do not use deprecated functions
Use the libavutil replacement.
Luca Barbato [Wed, 9 Jan 2013 19:49:34 +0000 (20:49 +0100)]
oggdec: fix faulty cleanup prototype
Justin Ruggles [Wed, 1 Aug 2012 20:13:04 +0000 (16:13 -0400)]
idcin: return 0 from idcin_read_packet() on success.
This matches the AVInputFormat.read_packet() API.
Justin Ruggles [Wed, 1 Aug 2012 21:16:58 +0000 (17:16 -0400)]
idcin: better error handling
Add some additional checks for EOF and print error messages on an incomplete
header or packet.
FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.
Justin Ruggles [Wed, 1 Aug 2012 20:10:08 +0000 (16:10 -0400)]
idcin: check for integer overflow when calling av_get_packet()
chunk_size is unsigned 32-bit, but av_get_packet() takes a signed int as the
packet size.
Justin Ruggles [Wed, 1 Aug 2012 21:14:39 +0000 (17:14 -0400)]
idcin: allow seeking back to the first packet
Also, do not allow seek-by-byte, as there is no way to find the next packet
boundary.
Justin Ruggles [Wed, 1 Aug 2012 20:08:28 +0000 (16:08 -0400)]
idcin: set AV_PKT_FLAG_KEY for video packets with a palette
Justin Ruggles [Wed, 1 Aug 2012 20:06:23 +0000 (16:06 -0400)]
idcin: set start_time and packet duration instead of manually tracking pts.
Also, use 1 / sample_rate for audio stream time_base.
Justin Ruggles [Wed, 1 Aug 2012 19:59:12 +0000 (15:59 -0400)]
idcin: set channel_layout
Justin Ruggles [Wed, 1 Aug 2012 19:57:31 +0000 (15:57 -0400)]
idcin: fix check for presence of an audio stream
Justin Ruggles [Wed, 1 Aug 2012 19:53:20 +0000 (15:53 -0400)]
idcin: validate header parameters
Avoids using unsupported parameters and signed integer overflows.
Justin Ruggles [Wed, 1 Aug 2012 19:46:08 +0000 (15:46 -0400)]
idcinvideo: correctly set AVFrame defaults
Daniel Kang [Wed, 9 Jan 2013 15:34:46 +0000 (09:34 -0600)]
yadif: Port inline assembly to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Justin Ruggles [Sun, 23 Dec 2012 20:09:37 +0000 (15:09 -0500)]
au: remove unnecessary casts
Justin Ruggles [Sun, 23 Dec 2012 20:06:46 +0000 (15:06 -0500)]
au: return AVERROR codes instead of -1
Justin Ruggles [Sun, 23 Dec 2012 20:03:08 +0000 (15:03 -0500)]
au: cosmetics: pretty-print and remove pointless comments
Justin Ruggles [Sun, 23 Dec 2012 19:14:38 +0000 (14:14 -0500)]
au: use ff_raw_write_packet()
Justin Ruggles [Sun, 23 Dec 2012 19:12:28 +0000 (14:12 -0500)]
au: set stream start time and packet durations
Justin Ruggles [Sun, 23 Dec 2012 18:39:47 +0000 (13:39 -0500)]
au: use %u when printing id and channels since they are unsigned
Justin Ruggles [Sun, 23 Dec 2012 18:39:31 +0000 (13:39 -0500)]
au: validate sample rate
Justin Ruggles [Sun, 23 Dec 2012 18:33:33 +0000 (13:33 -0500)]
au: move skipping of unused data to before parameter validation
Also do not unnecessarily skip 0 bytes.
Justin Ruggles [Sun, 23 Dec 2012 18:26:44 +0000 (13:26 -0500)]
au: do not arbitrarily limit channel count
Nothing in the AU specification sets a limit on channel count.
We only need to avoid an overflow in the packet size calculation.
Justin Ruggles [Sun, 23 Dec 2012 18:21:27 +0000 (13:21 -0500)]
au: do not set pkt->size directly
It is already set by av_get_packet() even for partial reads.
Justin Ruggles [Sun, 23 Dec 2012 18:20:59 +0000 (13:20 -0500)]
au: set block_align and use it in au_read_packet()
Justin Ruggles [Sun, 23 Dec 2012 18:19:31 +0000 (13:19 -0500)]
au: set bit rate
Justin Ruggles [Sun, 23 Dec 2012 18:17:05 +0000 (13:17 -0500)]
au: validate bits-per-sample separately from codec tag