OSDN Git Service
Martin Storsjö [Tue, 11 Dec 2012 13:59:24 +0000 (15:59 +0200)]
rtpdec: Support sending RTCP feedback packets
This sends NACK for missed packets and PLI (picture loss indication)
if a depacketizer indicates that it needs a new keyframe, according
to RFC 4585.
This is only enabled if the SDP indicated that feedback is supported
(via the AVPF or SAVPF profile names).
The feedback packets are throttled to a certain maximum interval
(currently 250 ms) to make sure the feedback packets don't eat up
too much bandwidth (which might be counterproductive). The RFC
specifies a more elaborate feedback packet scheduling.
The feedback packets are currently sent independently from normal
RTCP RR packets, which is not totally spec compliant, but works
fine in the environments I've tested it in. (RFC 5506 allows this,
but requires a SDP attribute for enabling it.)
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 11 Dec 2012 13:52:18 +0000 (15:52 +0200)]
rtpdec: Store the dynamic payload handler in the rtpdec context
This allows calling other dynamic payload handler functions if
needed.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Jan 2013 20:02:07 +0000 (22:02 +0200)]
rtpdec_vp8: Avoid a warning about a possibly unused variable
The warning is a false positive, but I prefer actually initializing
it over masking it with av_uninit, since the code is not performance
critical.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Jan 2013 19:42:46 +0000 (21:42 +0200)]
rtpdec_vp8: Make sure the previous packet is returned
This is a bug from
c7d4de3d73 - if the previous frame wasn't
returned yet (due to missing the final packets), but we have
enough data of it to return the first partition, we write that into
pkt and set returned_old_frame. That commit forgot returning 0 for
the case where this current packet didn't have the end_packet flag
set.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Jan 2013 19:42:40 +0000 (21:42 +0200)]
rtpdec_vp8: Set the timestamp when returning a deferred packet
Signed-off-by: Martin Storsjö <martin@martin.st>
Kanglin [Sat, 5 Jan 2013 08:50:04 +0000 (16:50 +0800)]
hlsenc: Make the start_number option set the right variable
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Jan 2013 19:26:59 +0000 (21:26 +0200)]
rtsp: Respect max_delay for the reordering queue when using custom IO
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 7 Jan 2013 16:39:04 +0000 (18:39 +0200)]
rtsp: Recheck the reordering queue if getting a new packet
If we timed out and consumed a packet from the reordering queue,
but didn't return a packet to the caller, recheck the queue status.
Otherwise, we could end up in an infinite loop, trying to consume
a queued packet that has already been consumed.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Sat, 29 Dec 2012 19:22:55 +0000 (14:22 -0500)]
lavr: log channel conversion description for any-to-any functions
Justin Ruggles [Fri, 28 Dec 2012 21:58:55 +0000 (16:58 -0500)]
lavr: mix: reduce the mixing matrix when possible
If the matrix results in an output channel not getting a contribution
from any input channel and the corresponding input channel does not
contribute to any outputs, we can skip the channel during mixing and
silence it after mixing.
If the matrix results in an input channel not contributing to any output
channels and it is not in the output mix, or if the input channel only
contributes fully to the same output channel, we can skip the channel
during mixing.
If the matrix results in an output channel only getting full
contribution from the corresponding input channel and that input channel
does not contribute to any other output channels, we can skip the
channel during mixing.
Justin Ruggles [Fri, 21 Dec 2012 21:31:26 +0000 (16:31 -0500)]
lavr: cosmetics: reindent
Justin Ruggles [Wed, 19 Dec 2012 19:58:57 +0000 (14:58 -0500)]
lavr: add a public function for setting a custom channel map
This allows reordering, duplication, and silencing of input channels.
Justin Ruggles [Fri, 21 Dec 2012 21:26:51 +0000 (16:26 -0500)]
lavr: typedef internal structs in internal.h
Simplifies header dependencies by not including all other internal headers
in internal.h.
Derek Buitenhuis [Sun, 6 Jan 2013 18:33:13 +0000 (13:33 -0500)]
doc: Extend commit message section
If a bug exists on the tracker, its ID should always be included
in fix messages.
Also, any relevant bug fixes should be CC'd to libav-stable, so
we can actually track what needs to be backported, instead of
just randomly combing the git history and old CVEs.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 6 Jan 2013 18:25:07 +0000 (13:25 -0500)]
doc: Mention memory allocation in the fuzz testing section
It's obviously undesireable to blindly allocate memory based on
a damaged 'size' value, for example.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 6 Jan 2013 18:24:06 +0000 (13:24 -0500)]
doc: Mention zzuf in the fuzz testing section
It's pretty much the best tool for the job, and it's what we
all use now anyway.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 6 Jan 2013 18:10:27 +0000 (13:10 -0500)]
doc: Merge disjointed bits about emailing patches
We obviously prefer git-send-email(1), and the disjointed nature
of the two statements was misleading.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 6 Jan 2013 18:21:18 +0000 (13:21 -0500)]
doc: Fix a few typos in the developer documentation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Benjamin Larsson [Sun, 16 Sep 2012 02:09:24 +0000 (04:09 +0200)]
xwma: Remove unused variable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Mon, 31 Dec 2012 10:26:17 +0000 (11:26 +0100)]
asfdec: Fix printf format string length modifier
Luca Barbato [Fri, 4 Jan 2013 15:05:51 +0000 (16:05 +0100)]
oggdec: make sure the private parse data is cleaned up
Luca Barbato [Fri, 4 Jan 2013 14:44:02 +0000 (15:44 +0100)]
oggdec: free the ogg streams on read_header failure
Plug an annoying memory leak on broken files.
Diego Biurrun [Mon, 24 Sep 2012 15:57:14 +0000 (17:57 +0200)]
Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
Reinhard Tartler [Sun, 6 Jan 2013 15:23:12 +0000 (16:23 +0100)]
Prepare for 10_alpha1 Release
Christophe Gisquet [Sun, 25 Nov 2012 06:55:28 +0000 (07:55 +0100)]
x86: sbrdsp: Implement SSE qmf_post_shuffle
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Christophe Gisquet [Sat, 24 Nov 2012 22:15:07 +0000 (23:15 +0100)]
x86: sbrdsp: Implement SSE sum64x5
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Sun, 15 Jul 2012 16:11:36 +0000 (18:11 +0200)]
x86: ABS1: port to cpuflags
Anton Khirnov [Sat, 17 Nov 2012 14:39:18 +0000 (15:39 +0100)]
v210x: cosmetics, reformat
Anton Khirnov [Sat, 17 Nov 2012 14:34:17 +0000 (15:34 +0100)]
v210x: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 14:31:35 +0000 (15:31 +0100)]
r210dec: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 14:20:42 +0000 (15:20 +0100)]
vb: cosmetics, reformat
Anton Khirnov [Sat, 17 Nov 2012 14:17:34 +0000 (15:17 +0100)]
vb: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 12:46:51 +0000 (13:46 +0100)]
ptx: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 12:40:37 +0000 (13:40 +0100)]
tiff: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 07:35:45 +0000 (08:35 +0100)]
vqavideo: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 08:04:48 +0000 (09:04 +0100)]
mss2: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 07:14:34 +0000 (08:14 +0100)]
v210dec: return meaningful error codes
Anton Khirnov [Sat, 17 Nov 2012 07:11:30 +0000 (08:11 +0100)]
indeo2: cosmetics, reformat
Anton Khirnov [Sat, 17 Nov 2012 07:08:40 +0000 (08:08 +0100)]
indeo2: check decoding errors.
Anton Khirnov [Sat, 17 Nov 2012 07:06:19 +0000 (08:06 +0100)]
indeo2: return meaningful error codes
Anton Khirnov [Sat, 17 Nov 2012 06:45:05 +0000 (07:45 +0100)]
rl2: cosmetics, reformat
Anton Khirnov [Sat, 17 Nov 2012 06:40:45 +0000 (07:40 +0100)]
rl2: use fixed-width integer types where appropriate
Anton Khirnov [Sat, 17 Nov 2012 06:37:08 +0000 (07:37 +0100)]
rl2: return meaningful error codes.
Anton Khirnov [Sat, 17 Nov 2012 06:32:09 +0000 (07:32 +0100)]
cljr: return a meaningful error code.
Anton Khirnov [Sat, 17 Nov 2012 06:06:01 +0000 (07:06 +0100)]
fraps: cosmetics, reformat
Anton Khirnov [Sat, 17 Nov 2012 05:57:27 +0000 (06:57 +0100)]
fraps: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 21:40:36 +0000 (22:40 +0100)]
kgv1dec: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 21:36:10 +0000 (22:36 +0100)]
kmvc: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 17:35:31 +0000 (18:35 +0100)]
wnv1: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 17:24:55 +0000 (18:24 +0100)]
dpx: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 14:25:32 +0000 (15:25 +0100)]
truemotion1: return meaningful error codes
Anton Khirnov [Fri, 16 Nov 2012 10:45:34 +0000 (11:45 +0100)]
pnm: return meaningful error codes.
Anton Khirnov [Fri, 16 Nov 2012 10:32:09 +0000 (11:32 +0100)]
xl: return a meaningful error code.
Anton Khirnov [Fri, 16 Nov 2012 05:36:15 +0000 (06:36 +0100)]
xan: return a meaningful error code.
Anton Khirnov [Fri, 16 Nov 2012 05:31:39 +0000 (06:31 +0100)]
xxan: return meaningful error codes.
Anton Khirnov [Thu, 15 Nov 2012 17:18:12 +0000 (18:18 +0100)]
zmbv: return more meaningful error codes.
Anton Khirnov [Thu, 15 Nov 2012 19:49:17 +0000 (20:49 +0100)]
yop: use a meaningful error code.
Anton Khirnov [Thu, 15 Nov 2012 09:29:28 +0000 (10:29 +0100)]
c93: return meaningful error codes.
Anton Khirnov [Thu, 15 Nov 2012 09:10:13 +0000 (10:10 +0100)]
bmv: return meaningful error codes.
Anton Khirnov [Thu, 15 Nov 2012 08:26:36 +0000 (09:26 +0100)]
bmp: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 07:23:11 +0000 (08:23 +0100)]
bink: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
Anton Khirnov [Wed, 14 Nov 2012 20:47:37 +0000 (21:47 +0100)]
bink: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 15:09:39 +0000 (16:09 +0100)]
bfi: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 15:09:39 +0000 (16:09 +0100)]
bethsoftvideo: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 15:09:39 +0000 (16:09 +0100)]
avs: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 14:11:23 +0000 (15:11 +0100)]
aura: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 13:59:40 +0000 (14:59 +0100)]
asvdec: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 13:29:53 +0000 (14:29 +0100)]
ansi: return a meaningful error code
Anton Khirnov [Wed, 14 Nov 2012 13:01:50 +0000 (14:01 +0100)]
anm: return meaningful error codes
Anton Khirnov [Wed, 14 Nov 2012 08:11:07 +0000 (09:11 +0100)]
aasc: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 07:59:03 +0000 (08:59 +0100)]
8bps: return meaningful error codes.
Anton Khirnov [Wed, 14 Nov 2012 07:23:11 +0000 (08:23 +0100)]
4xm: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
Anton Khirnov [Wed, 14 Nov 2012 07:09:01 +0000 (08:09 +0100)]
4xm: eliminate a pointless indirection
Anton Khirnov [Tue, 13 Nov 2012 20:57:13 +0000 (21:57 +0100)]
4xm: simplify code with FFSWAP
Anton Khirnov [Tue, 13 Nov 2012 20:49:42 +0000 (21:49 +0100)]
4xm: return meaningful error codes
Justin Ruggles [Wed, 2 Jan 2013 18:34:48 +0000 (13:34 -0500)]
x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions
CC:libav-stable@libav.org
Xi Wang [Fri, 4 Jan 2013 21:15:33 +0000 (21:15 +0000)]
swscale: fix NULL checking in sws_alloc_context()
sws_getCachedContext() and sws_getContext() expect sws_alloc_context()
to return NULL when out of memory, as follows.
if (!(context = sws_alloc_context()))
return NULL;
This patch fixes sws_alloc_context() to return NULL in that case.
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Xi Wang [Fri, 4 Jan 2013 21:09:47 +0000 (21:09 +0000)]
mxfdec: fix NULL checking in mxf_get_sorted_table_segments()
The following out-of-memory check is broken.
*sorted_segments = av_mallocz(...);
if (!sorted_segments) { ... }
The correct NULL check should use *sorted_segments.
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reinhard Tartler [Fri, 4 Jan 2013 23:20:33 +0000 (00:20 +0100)]
finalize changelog for version 9
Anton Khirnov [Fri, 4 Jan 2013 16:53:47 +0000 (17:53 +0100)]
Prepare for 9 Release.
Anton Khirnov [Thu, 3 Jan 2013 17:02:59 +0000 (18:02 +0100)]
Update release notes for the 9 release.
Add a paragraph about MSVC and mention 24-bit FLAC encoding.
Anton Khirnov [Thu, 3 Jan 2013 11:01:15 +0000 (12:01 +0100)]
avprobe: also output dar/par if only defined in stream
Based on a patch by Jan Gerber <j@v2v.cc>
Peter Meerwald [Thu, 3 Jan 2013 13:17:29 +0000 (14:17 +0100)]
lavr: fix missing " in header documentation
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 1 Jan 2013 22:25:37 +0000 (00:25 +0200)]
aviobuf: Discard old buffered, previously read data in ffio_read_partial
This makes RTP custom IO work properly with pure read-only
AVIOContexts as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 1 Jan 2013 21:41:29 +0000 (23:41 +0200)]
rtsp: Add support for depacketizing RTP data via custom IO
To use this, set sdpflags=custom_io to the sdp demuxer. During
the avformat_open_input call, the SDP is read from the AVFormatContext
AVIOContext (ctx->pb) - after the avformat_open_input call,
during the av_read_frame() calls, the same ctx->pb is used for reading
packets (and sending back RTCP RR packets).
Normally, one would use this with a read-only AVIOContext for the
SDP during the avformat_open_input call, then close that one and
replace it with a read-write one for the packets after the
avformat_open_input call has returned.
This allows using the RTP depacketizers as "pure" demuxers, without
having them tied to the libavformat network IO.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 17 Oct 2012 13:05:24 +0000 (16:05 +0300)]
rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 1 Jan 2013 20:57:36 +0000 (22:57 +0200)]
aviobuf: Partial support for reading in read/write contexts
So far, aviocontexts are used either in pure-read or pure-write
mode - full read/write mode doesn't work well (and implementing it
is a much larger, not totally trivial change).
This patch allows using avio_read and ffio_read_partial on
read/write aviocontexts, where the read operations are passed
through directly unbuffered, while writes are buffered as usual.
This is enough to support the operations needed by packet based
data transfer like in udp/rtp, where aviocontext is the only
public API for hooking up custom IO.
Signed-off-by: Martin Storsjö <martin@martin.st>
Clément Bœsch [Wed, 2 Jan 2013 05:05:55 +0000 (06:05 +0100)]
build: Avoid detecting bogus components named 'x'
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration. Coalesce those macros into one line to
work around the issue.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
Johan Andersson [Tue, 1 Jan 2013 17:56:55 +0000 (18:56 +0100)]
cmdutils: update copyright year to 2013
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Sat, 29 Dec 2012 18:30:12 +0000 (19:30 +0100)]
h264: check SPS entries directly to detect pixel format changes
Comparing AVCodecContext.pix_fmt against the get_pixel_format() return
value has the side effect of calling the get_format() callback on each
slice. Users of the callback will probably handle hardware accelerator
initialization in the callback.
Reinhard Tartler [Wed, 2 Jan 2013 19:16:39 +0000 (20:16 +0100)]
forgotten changelogs for 9_beta2
Martin Storsjö [Sun, 30 Dec 2012 22:46:14 +0000 (00:46 +0200)]
rtmp: Add support for limelight authentication
Limelight is a not too uncommon CDN. The authentication scheme is
pretty similar to the adobe authentication, but is even closer to
normal http digest authentication (but not close enough to warrant
sharing code) than the adobe version.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 30 Dec 2012 20:39:38 +0000 (22:39 +0200)]
rtmp: Add support for adobe authentication
This is mostly used to authenticate the client when publishing.
Tested with wowza and akamai.
Some but not all servers support resending a new connect invoke
within the same connection, so always reconnect for sending a new
connection attempt. This matches what other applications do as well.
The authentication scheme is structurally pretty similar to http
digest authentication, but uses base64 instead of hex strings.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 30 Dec 2012 20:38:23 +0000 (22:38 +0200)]
rtmp: Add a function for writing AMF strings based on two substrings
This avoids having to concatenate them into one buffer before writing
them as AMF.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 30 Dec 2012 16:53:35 +0000 (18:53 +0200)]
rtmp: Return a proper error code in handle_invoke_error
Signed-off-by: Martin Storsjö <martin@martin.st>
Hendrik Leppkes [Tue, 30 Oct 2012 21:57:37 +0000 (22:57 +0100)]
configure: suppress -fPIC in msvc builds
MSVC doesn't understand the option, and emits a warning on every
call to cl.exe.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Sun, 30 Dec 2012 23:29:36 +0000 (00:29 +0100)]
Drop unnecessary 'l' length modifier when printfing double values.
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
Diego Biurrun [Sun, 23 Dec 2012 17:43:19 +0000 (18:43 +0100)]
truemotion2: Sanitize tm2_read_header()
Also give a variable a more sensible name.
Anton Khirnov [Fri, 28 Dec 2012 05:20:01 +0000 (06:20 +0100)]
FATE: add cavs test
Anton Khirnov [Fri, 28 Dec 2012 05:19:12 +0000 (06:19 +0100)]
cavsdec: export picture type in the output frame