platform/upstream/libav.git
11 years agofinalize changelog for version 9
Reinhard Tartler [Fri, 4 Jan 2013 23:20:33 +0000 (00:20 +0100)]
finalize changelog for version 9

11 years agoPrepare for 9 Release.
Anton Khirnov [Fri, 4 Jan 2013 16:53:47 +0000 (17:53 +0100)]
Prepare for 9 Release.

11 years agoUpdate release notes for the 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.

11 years agoavprobe: also output dar/par if only defined in stream
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>

11 years agolavr: fix missing " in header documentation
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>
11 years agoaviobuf: Discard old buffered, previously read data in ffio_read_partial
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>
11 years agortsp: Add support for depacketizing RTP data via custom IO
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>
11 years agortpdec: Move the URLContext used for RTCP RR out from the context, to a parameter
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>
11 years agoaviobuf: Partial support for reading in read/write contexts
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>
11 years agobuild: Avoid detecting bogus components named 'x'
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>
11 years agocmdutils: update copyright year to 2013
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>
11 years agoh264: check SPS entries directly to detect pixel format changes
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.

11 years agoforgotten changelogs for 9_beta2
Reinhard Tartler [Wed, 2 Jan 2013 19:16:39 +0000 (20:16 +0100)]
forgotten changelogs for 9_beta2

11 years agortmp: Add support for limelight authentication
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>
11 years agortmp: Add support for adobe authentication
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>
11 years agortmp: Add a function for writing AMF strings based on two substrings
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>
11 years agortmp: Return a proper error code in handle_invoke_error
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>
11 years agoconfigure: suppress -fPIC in msvc builds
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>
11 years agoDrop unnecessary 'l' length modifier when printfing double values.
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.

11 years agotruemotion2: Sanitize tm2_read_header()
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.

11 years agoFATE: add cavs test
Anton Khirnov [Fri, 28 Dec 2012 05:20:01 +0000 (06:20 +0100)]
FATE: add cavs test

11 years agocavsdec: export picture type in the output frame
Anton Khirnov [Fri, 28 Dec 2012 05:19:12 +0000 (06:19 +0100)]
cavsdec: export picture type in the output frame

11 years agocavs: deMpegEncContextize
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.

11 years agocavs: cosmetics, reformat top part
Anton Khirnov [Thu, 27 Dec 2012 13:16:25 +0000 (14:16 +0100)]
cavs: cosmetics, reformat top part

11 years agocavsdec: cosmetics, reformat
Anton Khirnov [Thu, 27 Dec 2012 12:57:56 +0000 (13:57 +0100)]
cavsdec: cosmetics, reformat

11 years agolibavcodec/utils: Add braces to shut up gcc warnings
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]

11 years agosnow: use VideoDSPContext
Luca Barbato [Sat, 29 Dec 2012 17:05:49 +0000 (18:05 +0100)]
snow: use VideoDSPContext

It was left over from the initial conversion.

11 years agohlsenc: make segment number unsigned
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.

11 years agohlsenc: make EXT-X-MEDIA-SEQUENCE always increase
Kanglin [Sat, 29 Dec 2012 11:09:17 +0000 (12:09 +0100)]
hlsenc: make EXT-X-MEDIA-SEQUENCE always increase

11 years agohlsenc: do not add timestamps in different timebases
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.

11 years agohlsenc: use the correct AV_TIME_BASE macro
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.

11 years agohlsenc: keep the playlist to the correct number of items
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.

11 years agohlsenc: use the segment filename in the playlist entry
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.

11 years agohlsenc: check append_entry return value
Luca Barbato [Tue, 25 Dec 2012 07:59:38 +0000 (08:59 +0100)]
hlsenc: check append_entry return value

11 years agohlsenc: use the basename to generate the list entries
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.

11 years agoavstring: add av_basename and av_dirname
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.

11 years agocosmetics: Prettyprint codec/format/filter registration files
Diego Biurrun [Tue, 25 Dec 2012 14:29:39 +0000 (15:29 +0100)]
cosmetics: Prettyprint codec/format/filter registration files

11 years agoavfilter: Refactor unconditional filter registration
Diego Biurrun [Sun, 23 Dec 2012 18:06:35 +0000 (19:06 +0100)]
avfilter: Refactor unconditional filter registration

11 years agobuild: Add rtpenc_chain extra config option
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.

11 years agoconfigure: Add --disable-all command line option
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.

11 years agompegvideo: initialize videodsp with correct pixel depth
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 .

11 years agownv1: cosmetics, reformat
Anton Khirnov [Fri, 16 Nov 2012 17:42:16 +0000 (18:42 +0100)]
wnv1: cosmetics, reformat

11 years agoxan: remove a trivially true if().
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.

11 years agoansi: do not depend on get_buffer() initializing the frame.
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.

11 years agozerocodec: remove an unused variable.
Anton Khirnov [Thu, 15 Nov 2012 19:42:22 +0000 (20:42 +0100)]
zerocodec: remove an unused variable.

11 years agozmbv: remove some pointless comments and empty lines
Anton Khirnov [Thu, 15 Nov 2012 17:24:29 +0000 (18:24 +0100)]
zmbv: remove some pointless comments and empty lines

11 years agoyop: simplify/sanitize the decoding loop
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.

11 years agoc93: set palette_has_changed.
Anton Khirnov [Thu, 15 Nov 2012 09:38:38 +0000 (10:38 +0100)]
c93: set palette_has_changed.

11 years agobmp: cosmetics, reformat
Anton Khirnov [Thu, 15 Nov 2012 08:23:55 +0000 (09:23 +0100)]
bmp: cosmetics, reformat

11 years agohlsenc: Don't duplicate a string constant
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>
11 years agohlsenc: Allocate enough space for the pattern string
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>
11 years agolavc: Correct the description of pkt_dts
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>
11 years agoavfilter: Compile FIFO filters unconditionally
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.

11 years agoReturn proper error code after av_log_ask_for_sample()
Diego Biurrun [Sun, 23 Dec 2012 17:10:05 +0000 (18:10 +0100)]
Return proper error code after av_log_ask_for_sample()

11 years agoconfigure: cosmetics: Separate hwaccel dependencies from decoders/encoders
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.

11 years agooggdec: check memory allocation
Luca Barbato [Sat, 22 Dec 2012 16:58:24 +0000 (17:58 +0100)]
oggdec: check memory allocation

11 years agooggdec: K&R cosmetic formatting
Luca Barbato [Fri, 21 Dec 2012 18:12:41 +0000 (19:12 +0100)]
oggdec: K&R cosmetic formatting

11 years agohlsenc: correctly report target duration
Luca Barbato [Fri, 21 Dec 2012 11:05:46 +0000 (12:05 +0100)]
hlsenc: correctly report target duration

11 years ago8bps: cosmetics
Anton Khirnov [Wed, 14 Nov 2012 07:56:04 +0000 (08:56 +0100)]
8bps: cosmetics

Remove some pointless comments and empty lines.

11 years agoaasc: cosmetics, reformat
Anton Khirnov [Wed, 14 Nov 2012 08:09:43 +0000 (09:09 +0100)]
aasc: cosmetics, reformat

11 years agoansi: remove an extra return
Anton Khirnov [Wed, 14 Nov 2012 13:28:36 +0000 (14:28 +0100)]
ansi: remove an extra return

11 years agoasvdec: cosmetics, reformat
Anton Khirnov [Wed, 14 Nov 2012 13:49:44 +0000 (14:49 +0100)]
asvdec: cosmetics, reformat

11 years agoaura: cosmetics, reformat
Anton Khirnov [Wed, 14 Nov 2012 14:10:24 +0000 (15:10 +0100)]
aura: cosmetics, reformat

11 years ago4xm: don't rely on get_buffer() initializing the frame.
Anton Khirnov [Tue, 13 Nov 2012 21:10:54 +0000 (22:10 +0100)]
4xm: don't rely on get_buffer() initializing the frame.

11 years agohuffyuv: split encoder and decoder into separate files.
Anton Khirnov [Thu, 6 Dec 2012 13:06:46 +0000 (14:06 +0100)]
huffyuv: split encoder and decoder into separate files.

11 years agolavc: make pkt_{p,d}ts doxy less confusing
Anton Khirnov [Fri, 21 Dec 2012 20:52:34 +0000 (21:52 +0100)]
lavc: make pkt_{p,d}ts doxy less confusing

11 years agolavc: rewrite and extend AVFrame doxy
Anton Khirnov [Fri, 21 Dec 2012 20:50:50 +0000 (21:50 +0100)]
lavc: rewrite and extend AVFrame doxy

11 years agoopt: avoid segfault in av_opt_next() if the class does not have an option list
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
11 years agottadec: fix last frame handling when seeking
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.

11 years agoalacdec: do not be too strict about the extradata size
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
11 years agoflac: only set channel layout if not previously set or on channel count change
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

11 years agoprepare 9_beta3 release v9_beta3
Reinhard Tartler [Fri, 21 Dec 2012 14:16:33 +0000 (15:16 +0100)]
prepare 9_beta3 release

11 years agortpdec_vp8: Don't return known-broken packets
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>
11 years agortpdec: Pass the sequence number to depacketizers
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>
11 years agoconfigure: Make avconv depend on null, anull and resample filters
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.

11 years agobuild: avfilter: Remove duplicate compilation entry for vf_scale
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.

11 years agomiscellaneous typo fixes
Diego Biurrun [Wed, 19 Dec 2012 17:48:21 +0000 (18:48 +0100)]
miscellaneous typo fixes

11 years agolavc: add missing files for arm
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.

11 years agolavc: introduce VideoDSPContext
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>
11 years agortp: Don't read priv_data unless it is allocated
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>
11 years agoflvenc: Check whether seeking back to the header succeeded
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>
11 years agosapenc: Pass the title on to the chained muxers
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>
11 years agolavr: add option for dithering during sample format conversion to s16
Justin Ruggles [Wed, 31 Oct 2012 19:40:12 +0000 (15:40 -0400)]
lavr: add option for dithering during sample format conversion to s16

11 years agompeg12: do not decode extradata more than once.
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
11 years agocmdutils: pass number of groups to split_commandline().
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.

11 years agomov: handle h263 and flv1 for codec_tag 'H','2','6','3'
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.

11 years agoh264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
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
11 years agompegvideo: increase edge_emu_buffer size for VC1
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.

11 years agolavc: merge latest x86inc.asm fixes with x264
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>
11 years agoavcodec: bump minor for adaptive h264 frame-mt
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.

11 years agoavconv: pass the actually selected decoder to filter_codec_opts().
Anton Khirnov [Sat, 15 Dec 2012 10:45:59 +0000 (11:45 +0100)]
avconv: pass the actually selected decoder to filter_codec_opts().

11 years agoavconv: use new options parser.
Anton Khirnov [Fri, 8 Jun 2012 19:35:16 +0000 (21:35 +0200)]
avconv: use new options parser.

11 years agocmdutils: don't log an error in opt_default().
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.

11 years agocmdutils: add a commandline pre-parser.
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.

11 years agocmdutils: split parse_option().
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.

11 years agocmdutils: add a macro to simplify grow_array() calls.
Anton Khirnov [Thu, 7 Jun 2012 19:52:07 +0000 (21:52 +0200)]
cmdutils: add a macro to simplify grow_array() calls.

11 years agoh264: support frame parameter changes during frame-mt
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.

11 years agompegvideo: allocate scratch buffers after linesize is known
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.

11 years agoff_h264_direct_ref_list_init: fix B slice check.
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
11 years agoh264: increase dist_scale_factor for up to 32 references
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.