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
Anton Khirnov [Thu, 27 Dec 2012 16:12:10 +0000 (17:12 +0100)]
cavs: deMpegEncContextize
It does not use any of the mpegvideo infrastructure, just a few fields
from the context.
Fixes a segfault with the emu edge flag, since emu edge buffer is now
allocated as a part of the frame buffer allocation and cavs calls
ff_get_buffer() directly, it does not use mpegvideo buffer management.
Fixes a memleak of the last frame.
Anton Khirnov [Thu, 27 Dec 2012 13:16:25 +0000 (14:16 +0100)]
cavs: cosmetics, reformat top part
Anton Khirnov [Thu, 27 Dec 2012 12:57:56 +0000 (13:57 +0100)]
cavsdec: cosmetics, reformat
Diego Biurrun [Fri, 28 Dec 2012 18:06:04 +0000 (19:06 +0100)]
libavcodec/utils: Add braces to shut up gcc warnings
libavcodec/utils.c:1050:5: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/utils.c:1314:5: warning: missing braces around initializer [-Wmissing-braces]
Luca Barbato [Sat, 29 Dec 2012 17:05:49 +0000 (18:05 +0100)]
snow: use VideoDSPContext
It was left over from the initial conversion.
Luca Barbato [Sat, 29 Dec 2012 11:31:01 +0000 (12:31 +0100)]
hlsenc: make segment number unsigned
It will overflow if somebody keeps streaming for a time long enough.
Kanglin [Sat, 29 Dec 2012 11:09:17 +0000 (12:09 +0100)]
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase
Luca Barbato [Sat, 29 Dec 2012 10:46:01 +0000 (11:46 +0100)]
hlsenc: do not add timestamps in different timebases
start_time is in stream timebase units while end_time is
in AV_TIME_BASE ones.
Kanglin [Sat, 29 Dec 2012 10:44:33 +0000 (11:44 +0100)]
hlsenc: use the correct AV_TIME_BASE macro
recording_time is in AV_TIME_BASE units.
Luca Barbato [Tue, 25 Dec 2012 09:05:42 +0000 (10:05 +0100)]
hlsenc: keep the playlist to the correct number of items
Consider the corner case with a list size larger than the wrap
number.
Luca Barbato [Tue, 25 Dec 2012 08:14:59 +0000 (09:14 +0100)]
hlsenc: use the segment filename in the playlist entry
Avoid calling av_get_frame_filename twice, once to generate the
segment filename and once to generate the playlist.
Luca Barbato [Tue, 25 Dec 2012 07:59:38 +0000 (08:59 +0100)]
hlsenc: check append_entry return value
Luca Barbato [Sun, 23 Dec 2012 23:08:35 +0000 (00:08 +0100)]
hlsenc: use the basename to generate the list entries
The segment path is desumed from the playlist path, recording a
relative path in the playlist while serving the file could lead
to misleading results.
Luca Barbato [Sun, 23 Dec 2012 20:25:24 +0000 (21:25 +0100)]
avstring: add av_basename and av_dirname
Thread safe version of the common basename and dirname.
Diego Biurrun [Tue, 25 Dec 2012 14:29:39 +0000 (15:29 +0100)]
cosmetics: Prettyprint codec/format/filter registration files
Diego Biurrun [Sun, 23 Dec 2012 18:06:35 +0000 (19:06 +0100)]
avfilter: Refactor unconditional filter registration
Diego Biurrun [Thu, 29 Nov 2012 09:34:54 +0000 (10:34 +0100)]
build: Add rtpenc_chain extra config option
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
Diego Biurrun [Sat, 10 Nov 2012 13:47:52 +0000 (14:47 +0100)]
configure: Add --disable-all command line option
This option disables all programs, libraries and other parts of Libav
that get built as part of the compilation process.
Janne Grunau [Tue, 25 Dec 2012 23:24:21 +0000 (00:24 +0100)]
mpegvideo: initialize videodsp with correct pixel depth
Fixes decoding of 9/10 bit per pixel h264 videos as reported in
https://bugzilla.libav.org/show_bug.cgi?id=404 .
Anton Khirnov [Fri, 16 Nov 2012 17:42:16 +0000 (18:42 +0100)]
wnv1: cosmetics, reformat
Anton Khirnov [Fri, 16 Nov 2012 05:40:14 +0000 (06:40 +0100)]
xan: remove a trivially true if().
This function used to be shared with the xxan decoder, but that is not
true anymore.
Anton Khirnov [Thu, 15 Nov 2012 13:24:51 +0000 (14:24 +0100)]
ansi: do not depend on get_buffer() initializing the frame.
The background changes from 128 (used by the default/cmdutils
get_buffer()) to 0. This looks more correct.
Anton Khirnov [Thu, 15 Nov 2012 19:42:22 +0000 (20:42 +0100)]
zerocodec: remove an unused variable.
Anton Khirnov [Thu, 15 Nov 2012 17:24:29 +0000 (18:24 +0100)]
zmbv: remove some pointless comments and empty lines
Anton Khirnov [Thu, 15 Nov 2012 21:03:00 +0000 (22:03 +0100)]
yop: simplify/sanitize the decoding loop
Do not overwrite linesize set by get_buffer().
The last frame in the FATE test is not decoded anymore, since the file
is cut and a part of it is missing.
Anton Khirnov [Thu, 15 Nov 2012 09:38:38 +0000 (10:38 +0100)]
c93: set palette_has_changed.
Anton Khirnov [Thu, 15 Nov 2012 08:23:55 +0000 (09:23 +0100)]
bmp: cosmetics, reformat
Martin Storsjö [Sun, 23 Dec 2012 19:34:06 +0000 (21:34 +0200)]
hlsenc: Don't duplicate a string constant
Signed-off-by: Martin Storsjö <martin@martin.st>
Stefano Sabatini [Thu, 20 Dec 2012 23:27:00 +0000 (00:27 +0100)]
hlsenc: Allocate enough space for the pattern string
If s->filename doesn't contain any period/filename extension to strip
away, the buffer will be too small to fit both strings. This isn't
any buffer overflow since the concatenation uses av_strlcat with
the right buffer size.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 23 Dec 2012 15:10:04 +0000 (17:10 +0200)]
lavc: Correct the description of pkt_dts
The description as updated in
6e5c44b0f made it sound like it is
handled exactly like the pts, which it is not. Clarify that it
is the packet that triggered returning the frame instead of just
the last avpacket (in case of frame threading, it won't be the
dts of the last packet).
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Tue, 18 Dec 2012 14:04:48 +0000 (15:04 +0100)]
avfilter: Compile FIFO filters unconditionally
Building libavfilter without that functionality makes little sense.
Diego Biurrun [Sun, 23 Dec 2012 17:10:05 +0000 (18:10 +0100)]
Return proper error code after av_log_ask_for_sample()
Diego Biurrun [Thu, 20 Dec 2012 21:40:39 +0000 (22:40 +0100)]
configure: cosmetics: Separate hwaccel dependencies from decoders/encoders
Also move mpegvideo_select statement to the correct position.
Luca Barbato [Sat, 22 Dec 2012 16:58:24 +0000 (17:58 +0100)]
oggdec: check memory allocation
Luca Barbato [Fri, 21 Dec 2012 18:12:41 +0000 (19:12 +0100)]
oggdec: K&R cosmetic formatting
Luca Barbato [Fri, 21 Dec 2012 11:05:46 +0000 (12:05 +0100)]
hlsenc: correctly report target duration
Anton Khirnov [Wed, 14 Nov 2012 07:56:04 +0000 (08:56 +0100)]
8bps: cosmetics
Remove some pointless comments and empty lines.
Anton Khirnov [Wed, 14 Nov 2012 08:09:43 +0000 (09:09 +0100)]
aasc: cosmetics, reformat
Anton Khirnov [Wed, 14 Nov 2012 13:28:36 +0000 (14:28 +0100)]
ansi: remove an extra return
Anton Khirnov [Wed, 14 Nov 2012 13:49:44 +0000 (14:49 +0100)]
asvdec: cosmetics, reformat
Anton Khirnov [Wed, 14 Nov 2012 14:10:24 +0000 (15:10 +0100)]
aura: cosmetics, reformat
Anton Khirnov [Tue, 13 Nov 2012 21:10:54 +0000 (22:10 +0100)]
4xm: don't rely on get_buffer() initializing the frame.
Anton Khirnov [Thu, 6 Dec 2012 13:06:46 +0000 (14:06 +0100)]
huffyuv: split encoder and decoder into separate files.
Anton Khirnov [Fri, 21 Dec 2012 20:52:34 +0000 (21:52 +0100)]
lavc: make pkt_{p,d}ts doxy less confusing
Anton Khirnov [Fri, 21 Dec 2012 20:50:50 +0000 (21:50 +0100)]
lavc: rewrite and extend AVFrame doxy
Justin Ruggles [Thu, 8 Nov 2012 23:35:49 +0000 (18:35 -0500)]
opt: avoid segfault in av_opt_next() if the class does not have an option list
CC: libav-stable@libav.org
Justin Ruggles [Fri, 10 Feb 2012 22:51:11 +0000 (17:51 -0500)]
ttadec: fix last frame handling when seeking
Using a frame count, as is done currently, does not work at all with
seeking. Instead, when the number of samples in the final frame has
been decoded, we check if only the 32-bit CRC is remaining. If so, we
assume that it is the final frame.
There is no longer a need to keep total_frames in TTAContext.
Justin Ruggles [Sat, 22 Dec 2012 06:21:09 +0000 (01:21 -0500)]
alacdec: do not be too strict about the extradata size
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.
CC: libav-stable@libav.org
Justin Ruggles [Sun, 16 Dec 2012 16:02:39 +0000 (11:02 -0500)]
flac: only set channel layout if not previously set or on channel count change
Fixes Bug 402
Reinhard Tartler [Fri, 21 Dec 2012 14:16:33 +0000 (15:16 +0100)]
prepare 9_beta3 release
Martin Storsjö [Tue, 11 Dec 2012 13:12:31 +0000 (15:12 +0200)]
rtpdec_vp8: Don't return known-broken packets
This is built on the assumption that the first partition of each
VP8 packet is essential for decoding any later packet - if this
partition is broken/missed, the arithmetic coder gets out of sync
and decoding the bitstream in further packet ends up with total
garbage. If packets of a frame are lost, make sure the first
partition is intact (return only this part of the packet, nothing
else), otherwise stop returning data until the next keyframe is
received.
Alternatively, one would simply not return any packets at all
until the next keyframe, if packet loss is detected.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 10 Dec 2012 12:38:32 +0000 (14:38 +0200)]
rtpdec: Pass the sequence number to depacketizers
This allows depacketizers to figure out if packets have been lost.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Tue, 18 Dec 2012 14:08:56 +0000 (15:08 +0100)]
configure: Make avconv depend on null, anull and resample filters
Building avconv without that functionality makes little sense.
Diego Biurrun [Thu, 20 Dec 2012 19:44:39 +0000 (20:44 +0100)]
build: avfilter: Remove duplicate compilation entry for vf_scale
vf_scale should not be unconditionally compiled even if disabled.
Diego Biurrun [Wed, 19 Dec 2012 17:48:21 +0000 (18:48 +0100)]
miscellaneous typo fixes
Luca Barbato [Thu, 20 Dec 2012 13:07:23 +0000 (14:07 +0100)]
lavc: add missing files for arm
Across the many retouches those did not make the main commit.
Ronald S. Bultje [Sat, 15 Dec 2012 17:46:02 +0000 (09:46 -0800)]
lavc: introduce VideoDSPContext
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Thu, 20 Dec 2012 11:53:27 +0000 (13:53 +0200)]
rtp: Don't read priv_data unless it is allocated
This makes all users of rtpenc_chain (rtsp muxer, sapenc, mov
rtp hinting) work again, broken since
8034130e0.
Signed-off-by: Martin Storsjö <martin@martin.st>
Björn Axelsson [Thu, 13 Dec 2012 13:48:25 +0000 (14:48 +0100)]
flvenc: Check whether seeking back to the header succeeded
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seeking to the header fails.
Signed-off-by: Martin Storsjö <martin@martin.st>
Jernej Virag [Mon, 17 Dec 2012 09:04:15 +0000 (10:04 +0100)]
sapenc: Pass the title on to the chained muxers
This makes sure it ends up in the SDP, providing a proper session name
in the SAP announcements.
Signed-off-by: Martin Storsjö <martin@martin.st>
Justin Ruggles [Wed, 31 Oct 2012 19:40:12 +0000 (15:40 -0400)]
lavr: add option for dithering during sample format conversion to s16
Anton Khirnov [Thu, 13 Dec 2012 16:53:31 +0000 (17:53 +0100)]
mpeg12: do not decode extradata more than once.
Fixes CVE-2012-2803.
CC: libav-stable@libav.org
Anton Khirnov [Wed, 19 Dec 2012 20:53:22 +0000 (21:53 +0100)]
cmdutils: pass number of groups to split_commandline().
This makes the code simpler and avoids mixing designated and
non-designated initializers in a potentially unsafe way in avconv.
Janne Grunau [Wed, 19 Dec 2012 09:31:12 +0000 (10:31 +0100)]
mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.
Patch based on commit
5442083b1c541dd166b3adf39131259fc846a62b by
Carl Eugen Hoyos. Fixes bug 393.
Victor Lopez [Wed, 19 Dec 2012 08:12:24 +0000 (09:12 +0100)]
h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Fixes bug 396.
CC: libav-stable@libav.org
Janne Grunau [Tue, 18 Dec 2012 21:57:58 +0000 (22:57 +0100)]
mpegvideo: increase edge_emu_buffer size for VC1
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before
f1d8763a02b5fce
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.
Fixes occasionally fate errors in vc1_sa10143.
Ronald S. Bultje [Wed, 19 Dec 2012 01:02:31 +0000 (17:02 -0800)]
lavc: merge latest x86inc.asm fixes with x264
Unbreak NASM support.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Tue, 18 Dec 2012 19:11:28 +0000 (20:11 +0100)]
avcodec: bump minor for adaptive h264 frame-mt
Also adds forgotten Changelog entry.
Anton Khirnov [Sat, 15 Dec 2012 10:45:59 +0000 (11:45 +0100)]
avconv: pass the actually selected decoder to filter_codec_opts().
Anton Khirnov [Fri, 8 Jun 2012 19:35:16 +0000 (21:35 +0200)]
avconv: use new options parser.
Anton Khirnov [Mon, 11 Jun 2012 08:18:51 +0000 (10:18 +0200)]
cmdutils: don't log an error in opt_default().
It results in spurious errors when using the new preparser.
Anton Khirnov [Sun, 10 Jun 2012 18:46:30 +0000 (20:46 +0200)]
cmdutils: add a commandline pre-parser.
It splits the commandline into a more convenient internal representation
for further parsing.
This will allow e.g.
- processing global options first independently of their location on the
commandline, eliminating ugly hacks for processing e.g. cpuflags
first
- better options validation and error reporting. It is now possible for
the parser to know that it's applying an input option to an output
file or vice versa and act accordingly.
Anton Khirnov [Sun, 10 Jun 2012 15:57:52 +0000 (17:57 +0200)]
cmdutils: split parse_option().
Separate the code that searches for the option to use and the code that
actually writes it. The writing code will be reused by the new options
parser.
Anton Khirnov [Thu, 7 Jun 2012 19:52:07 +0000 (21:52 +0200)]
cmdutils: add a macro to simplify grow_array() calls.
Janne Grunau [Thu, 6 Sep 2012 11:30:08 +0000 (13:30 +0200)]
h264: support frame parameter changes during frame-mt
Fixes CVE-2012-2782.
Janne Grunau [Sun, 25 Nov 2012 21:42:07 +0000 (22:42 +0100)]
mpegvideo: allocate scratch buffers after linesize is known
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.
Fixes fuzzed sample nasa-8s2.ts_s244342.
Michael Niedermayer [Sun, 18 Nov 2012 17:46:05 +0000 (18:46 +0100)]
ff_h264_direct_ref_list_init: fix B slice check.
Fixes null pointer dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Janne Grunau [Mon, 17 Dec 2012 20:36:05 +0000 (21:36 +0100)]
h264: increase dist_scale_factor for up to 32 references
Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
Diego Biurrun [Fri, 7 Dec 2012 15:07:51 +0000 (16:07 +0100)]
misc typo, style and wording fixes
Diego Biurrun [Sun, 2 Dec 2012 22:32:41 +0000 (23:32 +0100)]
configure: formatting cosmetics
Michael Niedermayer [Thu, 6 Oct 2011 20:54:00 +0000 (22:54 +0200)]
h264: use mbaff ref indices in fill_colmap() only for mbaff references
Prevents writing beyond array bounds.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Janne Grunau [Sat, 15 Dec 2012 21:21:23 +0000 (22:21 +0100)]
h264: prevent decoding of slice NALs in extradata
It is not posible to call get_buffer during frame-mt codec
initialization. Libavformat might pass huge amounts of data as
extradata after parsing broken files. The 'extradata' for the fuzzed
sample sample_varPAR_s5374_r001-02.avi is 2.8M large and contains
multiple slices.
Derek Buitenhuis [Sun, 16 Dec 2012 20:29:12 +0000 (15:29 -0500)]
doxy: Clarify what avpriv_set_pts_info does
The "pts for a given stream" was nonsensical.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diego Biurrun [Wed, 12 Dec 2012 15:55:35 +0000 (16:55 +0100)]
au: Reorder code so that both muxer and demuxer are under #ifdefs
This reduces code size when either piece has been disabled.
Diego Biurrun [Sun, 16 Dec 2012 22:19:39 +0000 (23:19 +0100)]
fate: Move RALF test into lossless audio group
Diego Biurrun [Sun, 9 Dec 2012 12:35:21 +0000 (13:35 +0100)]
cosmetics: Use consistent names for multiple inclusion guards.
Hendrik Leppkes [Sun, 16 Dec 2012 08:52:35 +0000 (09:52 +0100)]
avresample: use valid log context in mixing functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Fri, 30 Nov 2012 01:58:05 +0000 (20:58 -0500)]
lavr: remove automatic context close/open for resampling compensation
It adds unnecessary complication for insignificant usability improvement.
The user really should know if they'll need resampling compensation before
opening the context.
Note that only the documentation has changed. The current functionality will
still work until the next major bump.
Justin Ruggles [Fri, 30 Nov 2012 01:49:36 +0000 (20:49 -0500)]
lavr: only save/restore the mixing matrix if mixing is being done
Martin Storsjö [Wed, 12 Dec 2012 14:59:45 +0000 (16:59 +0200)]
rtpdec_vp8: Cosmetics: Fix bad alignment/indentation
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 3 Apr 2009 15:08:07 +0000 (18:08 +0300)]
rtpenc: Allow including a SDES/CNAME block in RTCP SR packets
Signed-off-by: Martin Storsjö <martin@martin.st>