* commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8':
aviobuf: Partial support for reading in read/write contexts
build: Avoid detecting bogus components named 'x'
Followup to http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/151321
patch by Reimar and Thomas Mundt fixes some AVC-Intra files from
different tickets.
It does not fix http://samples.ffmpeg.org/ffmpeg-
bugs/trac/ticket524/AVCI50.mov
Authors of this commit are: Reimar and Thomas Mundt
Patch and commit message mostly taken from ffmpeg-devel, mail by Carl Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Nicolas George [Wed, 2 Jan 2013 22:22:46 +0000 (23:22 +0100)]
fate: disable globbing when calling shell functions.
Some of the filters tests use globbing characters, especially
brackets for filter pad labels. While most of these strings
are way too complicated to ever match an existing file name
and are therefore kept unchanged in the command line (an old
misfeature of the shell language that happens to be convenient
here), at least one use is simple enough to match random files
lying in the current directory. If that happens, the string,
that was meant to be kept verbatim, is replaced by the file
name, and that causes the test to fail (or worse).
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.
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.
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>
* qatar/master:
cmdutils: update copyright year to 2013
h264: check SPS entries directly to detect pixel format changes
forgotten changelogs for 9_beta2
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.
Clément Bœsch [Thu, 3 Jan 2013 06:25:45 +0000 (07:25 +0100)]
subviewer: sanitize packets.
The data does not contain timing or trailing line breaks anymore. In
addition to being less idiotic, it is consistent with other codecs and
thus allows more switches between formats and codecs. It also fixes the
issue of the trailing line returns being simple \n instead of CRLF in
the ASS rectangle dialogue (this is the reason of the FATE update).
Clément Bœsch [Wed, 2 Jan 2013 23:15:16 +0000 (00:15 +0100)]
Replace references to "que" with the appropriate word.
"que" sounds like a slang word to me. This commit renames a few
variables, fix the comments and the logging messages (sometimes along
with small other typo fixes).
Janne Grunau [Wed, 2 Jan 2013 01:28:34 +0000 (02:28 +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.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Nicolas George [Tue, 1 Jan 2013 16:06:04 +0000 (17:06 +0100)]
lavc/dvdsubenc: improve color distance function.
Consider the color space as an hypercone with apex alpha=0
and base alpha=1 instead of an hypercube.
Make the encoder consider very transparent colors more similar
even if the hue is very different.
This corresponds roughly to using the alpha as a weight for the
color difference.
Only 4 bits of alpha are used, because this is what dvdsub uses,
and it avoids overflows.
* commit '33f28a3be3092f642778253d9529dd66fe2a014a':
rtmp: Add a function for writing AMF strings based on two substrings
rtmp: Return a proper error code in handle_invoke_error
* commit '64bb3fa6b7f5b2db22b7577585d5861be24eebd8':
cavs: cosmetics, reformat top part
cavsdec: cosmetics, reformat
libavcodec/utils: Add braces to shut up gcc warnings
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.
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.