OSDN Git Service

android-x86/external-ffmpeg.git
10 years agoh264: make context_count unsigned
Janne Grunau [Wed, 12 Feb 2014 11:47:27 +0000 (12:47 +0100)]
h264: make context_count unsigned

Removes the bogus but scary looking warning 'libavcodec/h264.c:4529:49:
warning: array subscript is below array bounds [-Warray-bounds]'.

10 years agovp9: add a new segmentation sample.
Ronald S. Bultje [Thu, 6 Feb 2014 22:52:18 +0000 (23:52 +0100)]
vp9: add a new segmentation sample.

The old one didn't use segmentation. One uses segmentation in all frame
types (--aq-mode=1), and the other uses all segmentation features, but
only in inter frames (mbgraph).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agovp9: add fate sample for parallelmode.
Ronald S. Bultje [Thu, 6 Feb 2014 22:52:17 +0000 (23:52 +0100)]
vp9: add fate sample for parallelmode.

This disables backward probability updates, which makes the codec more
friendly for frame-level multi-threading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoAdd libx265 encoder
Derek Buitenhuis [Wed, 2 Oct 2013 14:46:26 +0000 (14:46 +0000)]
Add libx265 encoder

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agoasfdec: fix seeking with fragmented packets
Janne Grunau [Tue, 11 Feb 2014 12:01:38 +0000 (13:01 +0100)]
asfdec: fix seeking with fragmented packets

After seeking fragments with an offset > 0 must be skipped to correctly
assemble packets.

Bug-Id: 43

10 years agoasfdec: short-circuit seeking to the start of stream
Andrew Kelley [Sun, 2 Feb 2014 23:05:58 +0000 (23:05 +0000)]
asfdec: short-circuit seeking to the start of stream

Bug-id: 43

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agoasfdec: check ff_get_guid() return values during seeking
Janne Grunau [Tue, 11 Feb 2014 14:13:31 +0000 (15:13 +0100)]
asfdec: check ff_get_guid() return values during seeking

Hitting EOF during seeking is quite likely. Fixes use of uninitialized
data during fate-seek-lavf-asf.

10 years agoaacdec: set AVFrame sample_rate
John Stebbins [Sun, 9 Feb 2014 01:19:30 +0000 (01:19 +0000)]
aacdec: set AVFrame sample_rate

AVFrame.sample_rate is set in ff_get_buffer, but aacdec calls
ff_get_buffer before the samplerate is known. So it needs to be
set again before returning the frame.

10 years agobuffersrc: Have function parameter names match between .c and .h file
Diego Biurrun [Tue, 11 Feb 2014 21:15:07 +0000 (22:15 +0100)]
buffersrc: Have function parameter names match between .c and .h file

This fixes two related Doxygen warnings.  Also document one parameter.

10 years agolog: Have function parameter names match between .c and .h file
Diego Biurrun [Tue, 11 Feb 2014 21:15:06 +0000 (22:15 +0100)]
log: Have function parameter names match between .c and .h file

This fixes two related Doxygen warnings.

10 years agolavc: set AVFrame pkt_pts and reordered_opaque in reget_buffer
John Stebbins [Mon, 10 Feb 2014 15:53:20 +0000 (08:53 -0700)]
lavc: set AVFrame pkt_pts and reordered_opaque in reget_buffer

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agog2meet: make JPEG tile decoder operate on 8x8 block mask
Kostya Shishkov [Sat, 8 Feb 2014 12:39:32 +0000 (13:39 +0100)]
g2meet: make JPEG tile decoder operate on 8x8 block mask

This is needed for upcoming Go2Meeting (G2M2/G2M3) decoder.

10 years agog2meet: factor out seeking to the chunk end
Maxim Poliakovski [Mon, 21 Oct 2013 22:54:51 +0000 (00:54 +0200)]
g2meet: factor out seeking to the chunk end

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
10 years agorpza: limit the number of blocks to the total remaining blocks in the frame
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
rpza: limit the number of blocks to the total remaining blocks in the frame

Fixes invalid writes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agorpza: move some variables to the blocks where they are used
Anton Khirnov [Wed, 8 Jan 2014 13:03:23 +0000 (14:03 +0100)]
rpza: move some variables to the blocks where they are used

10 years agorpza: use fixed-width int types
Anton Khirnov [Wed, 8 Jan 2014 13:00:13 +0000 (14:00 +0100)]
rpza: use fixed-width int types

10 years agorpza: switch to bytestream2
Anton Khirnov [Wed, 8 Jan 2014 12:58:38 +0000 (13:58 +0100)]
rpza: switch to bytestream2

10 years agolavf: always unref the packet passed to av_interleaved_write_frame() on error
Anton Khirnov [Tue, 4 Feb 2014 14:58:11 +0000 (15:58 +0100)]
lavf: always unref the packet passed to av_interleaved_write_frame() on error

10 years agobuild: fix examples compilation when EXESUF is not empty
Christophe Gisquet [Sun, 9 Feb 2014 23:23:28 +0000 (00:23 +0100)]
build: fix examples compilation when EXESUF is not empty

Due to a wrong substitution doc/examples is not added as a prerequisite
for the objects of the example programs. This results in compiler error
due to the non-existing output directory.

Bug-Id: 636

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agolavf: extend / improve the AVFormatContext doxy
Anton Khirnov [Tue, 4 Feb 2014 17:11:40 +0000 (18:11 +0100)]
lavf: extend / improve the AVFormatContext doxy

10 years agolavf: add some basic documentation of the muxing process
Anton Khirnov [Tue, 4 Feb 2014 16:35:18 +0000 (17:35 +0100)]
lavf: add some basic documentation of the muxing process

10 years agolavf: rewrite the av_write_frame() doxy
Anton Khirnov [Tue, 4 Feb 2014 14:46:51 +0000 (15:46 +0100)]
lavf: rewrite the av_write_frame() doxy

Remove some vague / incorrect statements and make the text more specific
and less confusing.

10 years agolavf: rewrite the av_interleaved_write_frame() doxy
Anton Khirnov [Tue, 4 Feb 2014 14:46:51 +0000 (15:46 +0100)]
lavf: rewrite the av_interleaved_write_frame() doxy

Remove some vague / incorrect statements and make the text more specific
and less confusing.

10 years agoavplay: add support for seeking to chapter marks
Anton Khirnov [Wed, 4 Sep 2013 18:30:28 +0000 (20:30 +0200)]
avplay: add support for seeking to chapter marks

10 years agohevc: update conformance streams
Guillaume Martres [Thu, 6 Feb 2014 22:37:06 +0000 (23:37 +0100)]
hevc: update conformance streams

New streams: LTRPSPS_A_Qualcomm_1, SLPPLP_A_VIDYO_1, VPSID_A_VIDYO_1
Updated streams: EXT_A_ericsson_4, NUT_A_ericsson_5, RPS_C_ericsson_5,
  RPS_D_ericsson_6

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoFATE: force FLAC in the lavf ogg test
Anton Khirnov [Mon, 10 Feb 2014 06:43:40 +0000 (07:43 +0100)]
FATE: force FLAC in the lavf ogg test

Since b0c2c09, vorbis would be used if libvorbis is compiled in.

10 years agopcmdec: replace a reachable assert with an error check
Anton Khirnov [Mon, 10 Feb 2014 06:41:21 +0000 (07:41 +0100)]
pcmdec: replace a reachable assert with an error check

Libavformat should not make any assumptions about values returned from
other libraries. This assert is easily reachable by using a non-raw
codec id.

10 years agodoc/APIchanges: mark the place where 9 was branched
Anton Khirnov [Thu, 6 Feb 2014 12:50:33 +0000 (13:50 +0100)]
doc/APIchanges: mark the place where 9 was branched

10 years agodoc/APIchanges: fill in missing hashes and dates
Anton Khirnov [Thu, 6 Feb 2014 12:48:26 +0000 (13:48 +0100)]
doc/APIchanges: fill in missing hashes and dates

10 years agohevc: Conceal zero td
Luca Barbato [Sat, 8 Feb 2014 05:10:27 +0000 (06:10 +0100)]
hevc: Conceal zero td

It was done only in check_mvset(), while mv_scale() is called also by
dist_scale().

Sample-Id: 00001579-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
10 years agodnxhd: Support DNx444
Kostya Shishkov [Mon, 27 Jan 2014 18:10:44 +0000 (18:10 +0000)]
dnxhd: Support DNx444

Bug-Id: 99
Bug-Id: videolan/9620
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agovp8: fix PPC assembly to work if src_stride != dst_stride
Ronald S. Bultje [Wed, 5 Feb 2014 07:59:45 +0000 (07:59 +0000)]
vp8: fix PPC assembly to work if src_stride != dst_stride

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agomxfdec: free descriptor extradata in .read_close()
Janne Grunau [Sat, 8 Feb 2014 11:52:32 +0000 (12:52 +0100)]
mxfdec: free descriptor extradata in .read_close()

Fixes memleak in fate-mxf-demux.

10 years agoasvenc: free avctx->coded_frame on codec close
Janne Grunau [Sat, 8 Feb 2014 11:26:13 +0000 (12:26 +0100)]
asvenc: free avctx->coded_frame on codec close

10 years agoarm: Remove a stray .fpu directive
Martin Storsjö [Sat, 8 Feb 2014 23:34:44 +0000 (23:34 +0000)]
arm: Remove a stray .fpu directive

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agodnxhddec: return proper error code
Alexandra Khirnova [Sat, 8 Feb 2014 20:25:35 +0000 (20:25 +0000)]
dnxhddec: return proper error code

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agolavf: default .ogg audio to libvorbis if we can
Andrew Kelley [Sat, 8 Feb 2014 16:18:57 +0000 (16:18 +0000)]
lavf: default .ogg audio to libvorbis if we can

Since 2007, the Xiph.org Foundation recommends that .ogg only be used
for Ogg Vorbis audio files.

Source: http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions

However we only do it if we have libvorbis available because the
built in vorbis encoder is not as good.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agog2meet: rename FRAME_INFO to more appropriate DISPLAY_INFO
Maxim Poliakovski [Mon, 21 Oct 2013 22:17:22 +0000 (00:17 +0200)]
g2meet: rename FRAME_INFO to more appropriate DISPLAY_INFO

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
10 years agoAdd raw HEVC muxer
Derek Buitenhuis [Wed, 2 Oct 2013 14:46:25 +0000 (14:46 +0000)]
Add raw HEVC muxer

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agomlp_parser: fix request_channel_layout behavior.
Tim Walker [Sat, 8 Feb 2014 17:21:14 +0000 (17:21 +0000)]
mlp_parser: fix request_channel_layout behavior.

When request_channel_layout is 0,
all substreams should be decoded.

Thanks to Michael Niedermayer for spotting.

Also fix a mismatch between the parser and
decoder when request_channel_layout is a
subset of Stereo.

10 years agomlpdec: fix request_channel_layout behavior.
Michael Niedermayer [Sat, 8 Feb 2014 17:21:13 +0000 (17:21 +0000)]
mlpdec: fix request_channel_layout behavior.

When request_channel_layout is 0,
all substreams should be decoded.

Signed-off-by: Tim Walker <tdskywalker@gmail.com>
10 years agoMirillis FIC video decoder
Kostya Shishkov [Fri, 7 Feb 2014 08:35:07 +0000 (09:35 +0100)]
Mirillis FIC video decoder

Does not contain cursor rendering yet.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agolavr: mix front center channel as indicated in the ATSC A/52 specification.
Tim Walker [Wed, 15 Jan 2014 00:18:19 +0000 (00:18 +0000)]
lavr: mix front center channel as indicated in the ATSC A/52 specification.

When mixing 3 front channels into 2, the center channel is mixed into left and right with the center mix level, not -3dB.

10 years agomlp: improve request_channel_layout behavior.
Tim Walker [Thu, 6 Feb 2014 21:50:38 +0000 (21:50 +0000)]
mlp: improve request_channel_layout behavior.

Don't decode further substreams if request_channel_layout
is a subset of the current substream's channel_layout.

Before, we would only discard further substreams if
request_channel_layout matched the substream's
channel_layout extactly, thus decoding additional
channels which the caller would probably end up downmixing.

10 years agodca: include dcadsp.h in {arm,x86}/dca.h for checkheaders
Janne Grunau [Sat, 8 Feb 2014 12:29:51 +0000 (13:29 +0100)]
dca: include dcadsp.h in {arm,x86}/dca.h for checkheaders

10 years agoconfigure: clang: add -Qunused-arguments to as|ld_flags as well
Janne Grunau [Fri, 7 Feb 2014 18:23:28 +0000 (19:23 +0100)]
configure: clang: add -Qunused-arguments to as|ld_flags as well

10 years agoh264: give numbers to nalus
Vittorio Giovara [Thu, 6 Feb 2014 22:28:32 +0000 (22:28 +0000)]
h264: give numbers to nalus

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agox86: use the inline int8x8_fmul_int32 only if inline SSE2 is availbale
Janne Grunau [Sat, 8 Feb 2014 10:48:19 +0000 (11:48 +0100)]
x86: use the inline int8x8_fmul_int32 only if inline SSE2 is availbale

Fixes compilation with MSVC. Also does not rely on on earlier config.h
include but include it directly.

10 years agodcadsp: split lfe_dir cases
Christophe Gisquet [Wed, 5 Feb 2014 23:40:52 +0000 (23:40 +0000)]
dcadsp: split lfe_dir cases

The x86 runs short on registers because numerous elements are not static.
In addition, splitting them allows more optimized code, at least for x86.

Arm asm changes by Janne Grunau.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agox86: dcadsp: implement int8x8_fmul_int32
Christophe Gisquet [Fri, 11 May 2012 09:25:30 +0000 (11:25 +0200)]
x86: dcadsp: implement int8x8_fmul_int32

For the callable function (as opposed to the inline one):
         C  SSE  SSE2  SSE4
Win32:  47   42   29    26
Win64:  30   33   25    23
The SSE version is neither compiled nor set for ARCH_X86_64, as the
inlinable function takes over.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agodcadsp: add int8x8_fmul_int32 to dsp context
Christophe Gisquet [Fri, 11 May 2012 09:17:36 +0000 (11:17 +0200)]
dcadsp: add int8x8_fmul_int32 to dsp context

It is currently declared as a macro who is set to inlinable functions,
among which a Neon and a default C implementations.

Add a DSP parameter to each inline function, unused except by the
default C implementation which calls a function from the DSP context.

On an Arrandale CPU, gain for an inlined SSE2 function vs. a call:
- Win32: 29 to 26 cycles
- Win64: 25 to 23 cycles

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agoarm: Add EXTERN_ASM to the .func and .type declarations for exported symbols
Martin Storsjö [Tue, 4 Feb 2014 14:28:24 +0000 (16:28 +0200)]
arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols

This makes the generated assembly more internally consistent,
avoiding declaring two labels for the same function (for cases
where EXTERN_ASM is empty) and not declaring a separate unprefixed
label in other cases.

This also makes sure the .func and .type delcarations have the same
prefix. They have previously not been used on the platforms
that have prefixed symbols on arm (iOS), but gas-preprocessor
has recently started using the .func declarations for adding
.thumb_func declarations for such functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarm: Add X() around all references to extern symbols
Martin Storsjö [Fri, 7 Feb 2014 10:00:31 +0000 (12:00 +0200)]
arm: Add X() around all references to extern symbols

Don't rely on the fact that an unprefixed label currently exists.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovp8: fix bilinear C code to work if src_stride != dst_stride.
Ronald S. Bultje [Wed, 5 Feb 2014 07:59:45 +0000 (07:59 +0000)]
vp8: fix bilinear C code to work if src_stride != dst_stride.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agovp8: Use 2 registers for dst_stride and src_stride in neon bilin filter
Martin Storsjö [Wed, 5 Feb 2014 12:47:32 +0000 (14:47 +0200)]
vp8: Use 2 registers for dst_stride and src_stride in neon bilin filter

Based on a patch by Ronald S. Bultje.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agofate: force the simple idct for xvid custom matrix test
Janne Grunau [Fri, 31 Jan 2014 11:52:07 +0000 (12:52 +0100)]
fate: force the simple idct for xvid custom matrix test

The original test without a forced idct is still useful since it tests
the switching of the idct algorithm/permutation on x86 with MMX. MMXext
or SSE2. Make sure the test runs only if MMX inline asm is available and
force -cpuflags to all.
Add the required bitexact flag for both tests.

10 years agolavu: add missing log.h include in timer.h
Janne Grunau [Wed, 5 Feb 2014 16:52:35 +0000 (17:52 +0100)]
lavu: add missing log.h include in timer.h

10 years agompeg: K&R formatting cosmetics
Vittorio Giovara [Tue, 4 Feb 2014 13:57:54 +0000 (13:57 +0000)]
mpeg: K&R formatting cosmetics

Also adjust header #include order and some comments.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agodoxy: Format @code blocks so they render properly
Luca Barbato [Mon, 16 Dec 2013 00:39:30 +0000 (01:39 +0100)]
doxy: Format @code blocks so they render properly

@code command reports verbatim everything between it and @endcode.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agolavf: improve handling of sparse streams when muxing
Luca Barbato [Mon, 20 Jan 2014 12:28:37 +0000 (13:28 +0100)]
lavf: improve handling of sparse streams when muxing

Currently ff_interleave_packet_per_dts() waits until it gets a frame for
each stream before outputting packets in interleaved order.

Sparse streams (i.e. streams with much fewer packets than the other
streams, like subtitles or audio with DTX) tend to add up latency and in
specific cases end up allocating a large amount of memory.

Emit the top packet from the packet_buffer if it has a time delta
larger than a specified threshold.

Original report of the issue and initial proposed solution by
mus.svz@gmail.com.

Bug-id: 31
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agolagarith: reallocate rgb_planes when needed
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
lagarith: reallocate rgb_planes when needed

Fixes invalid writes on pixel format changes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agotruemotion1: check the header size
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
truemotion1: check the header size

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agoshorten: pad the internal bitstream buffer
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
shorten: pad the internal bitstream buffer

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agoeacmv: clear references on frame dimensions change
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
eacmv: clear references on frame dimensions change

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agosamplefmt: avoid integer overflow in av_samples_get_buffer_size()
Justin Ruggles [Thu, 30 Jan 2014 19:08:38 +0000 (14:08 -0500)]
samplefmt: avoid integer overflow in av_samples_get_buffer_size()

CC:libav-stable@libav.org

10 years agoavcodec: Suppress deprecation warnings from avcodec_alloc_frame()
Diego Biurrun [Tue, 4 Feb 2014 11:23:15 +0000 (03:23 -0800)]
avcodec: Suppress deprecation warnings from avcodec_alloc_frame()

The function is itself obsolete and slated for removal.

10 years agojvdec: K&R formatting cosmetics
Vittorio Giovara [Fri, 13 Dec 2013 13:30:22 +0000 (14:30 +0100)]
jvdec: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoh264: reset data partitioning at the beginning of each decode call
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: reset data partitioning at the beginning of each decode call

Prevents using GetBitContexts with data from previous calls.

Fixes access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

10 years agovp8: use a fixed-size edge emu buffer
Anton Khirnov [Mon, 20 Jan 2014 12:12:54 +0000 (13:12 +0100)]
vp8: use a fixed-size edge emu buffer

The reason is the same as for e588615d938f8581f0d6f3771662d08cadfc00de

Based on a patch by Ronald S. Bultje <rsbultje@gmail.com>

10 years agolavf: ignore attachment streams for interleaving purposes
Anton Khirnov [Mon, 20 Jan 2014 12:59:06 +0000 (13:59 +0100)]
lavf: ignore attachment streams for interleaving purposes

Those streams should never get any packets by definition.

10 years agolavf: do basic sanity checking on muxed packets
Anton Khirnov [Mon, 20 Jan 2014 13:10:01 +0000 (14:10 +0100)]
lavf: do basic sanity checking on muxed packets

Reject packets for non-existing or attachment streams.

10 years agoutvideoenc: Add support for the new BT.709 FourCCs for YCbCr
Jan Ekström [Sun, 2 Feb 2014 13:04:58 +0000 (15:04 +0200)]
utvideoenc: Add support for the new BT.709 FourCCs for YCbCr

With cli usage the decoder might have not set the colorspace during
encoder init, manual colorspace override might be needed in such
cases.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agovf_overlay: add eof_action switch
Keith Lawson [Mon, 3 Feb 2014 00:39:18 +0000 (19:39 -0500)]
vf_overlay: add eof_action switch

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: check that the VCL NAL types are the same for all slice segments of a frame
Anton Khirnov [Sun, 2 Feb 2014 12:35:48 +0000 (13:35 +0100)]
hevc: check that the VCL NAL types are the same for all slice segments of a frame

Fixes possible invalid memory access for mismatching skipped/non-skipped
slice segments.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Sample-Id: 00001533-google

10 years agohevc: Reject impossible slice segment
Luca Barbato [Sat, 11 Jan 2014 10:32:07 +0000 (11:32 +0100)]
hevc: Reject impossible slice segment

A dependent slice cannot have address 0.
Prevent an out of array bound load in ff_hevc_cabac_init().

Sample-Id: 00001406-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
10 years agohevc: Consider first quantization group any reference to 0, 0
Luca Barbato [Sat, 11 Jan 2014 03:22:50 +0000 (04:22 +0100)]
hevc: Consider first quantization group any reference to 0, 0

According to my understanding of T-REC-H.265-2013044 chapter 8.6.1.

Sample-Id: 00001438-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
10 years agomxf: Read field dominance flag
Matthieu Bouron [Sat, 16 Feb 2013 12:52:29 +0000 (13:52 +0100)]
mxf: Read field dominance flag

And export the information in field_order.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
10 years agomxf: Handle negative edit_rate
Luca Barbato [Wed, 8 Jan 2014 00:20:00 +0000 (01:20 +0100)]
mxf: Handle negative edit_rate

Default to 1/25.

10 years agofate: add xvid test for custom matrices
Janne Grunau [Wed, 29 Jan 2014 17:36:24 +0000 (18:36 +0100)]
fate: add xvid test for custom matrices

Test sample is made from the sample in Bug-Id: videolan/7411

10 years agoxvid: switch to xvid mmx idct as soon as possible
Janne Grunau [Wed, 29 Jan 2014 16:36:40 +0000 (17:36 +0100)]
xvid: switch to xvid mmx idct as soon as possible

The idct implementation cannot be changed after the quantization matrices
are read since it use a different permutaion.

Bug-Id: videolan/7411

10 years agolavf: include 60 fps in guessed standard frame rates
Janne Grunau [Wed, 29 Jan 2014 14:12:48 +0000 (15:12 +0100)]
lavf: include 60 fps in guessed standard frame rates

Due to what looks like an off-by-one error 60 * 12 * 1001 / 12 * 1001
is not tested as standard frame rate in avformat_find_stream_info().

10 years agoatrac3plus: Make initialization dependant on channel count rather than channel map
Jan Ekström [Thu, 30 Jan 2014 08:37:53 +0000 (08:37 +0000)]
atrac3plus: Make initialization dependant on channel count rather than channel map

Makes it easier to recreate an AVCodecContext for ATRAC3+ decoding,
which is needed in multimedia frameworks, as well as in general cases
where demuxing and decoding are separate entities.

10 years agox86: videodsp: Fix a bug in a %if statement where we used '%%' instead of '&&'.
Ronald S. Bultje [Sat, 26 Oct 2013 12:24:09 +0000 (08:24 -0400)]
x86: videodsp: Fix a bug in a %if statement where we used '%%' instead of '&&'.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agox86: videodsp: Properly mark sse2 instructions in emulated_edge_mc as such.
Ronald S. Bultje [Thu, 24 Oct 2013 10:54:32 +0000 (06:54 -0400)]
x86: videodsp: Properly mark sse2 instructions in emulated_edge_mc as such.

Should fix crashes or corrupt output on pre-SSE2 CPUs when they were
using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in
hfix or hvar single-edge (left/right) extension functions.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
10 years agodoc: document correct option to list encoders
John Stebbins [Sun, 26 Jan 2014 14:55:26 +0000 (14:55 +0000)]
doc: document correct option to list encoders

10 years agodoc: add decoders.texi
John Stebbins [Sun, 26 Jan 2014 14:49:10 +0000 (14:49 +0000)]
doc: add decoders.texi

Only documents ac3 decoder options at this point.

10 years agoac3dec: Allow asymmetric application of DRC when drc_scale > 1
John Stebbins [Mon, 13 Jan 2014 17:04:30 +0000 (17:04 +0000)]
ac3dec: Allow asymmetric application of DRC when drc_scale > 1

Amplification of quiet sounds is enhanced.
Inspired by gbooker's A52Decoder.

10 years agoavformat: utils: Refactor duplicated PRINT macro
Diego Biurrun [Thu, 16 Jan 2014 00:55:38 +0000 (01:55 +0100)]
avformat: utils: Refactor duplicated PRINT macro

10 years agompeg: Drop unused parameters from ff_draw_horiz_band()
Diego Biurrun [Wed, 29 Jan 2014 13:14:46 +0000 (14:14 +0100)]
mpeg: Drop unused parameters from ff_draw_horiz_band()

10 years agox86inc: Speed up assembling with Yasm
Loren Merritt [Sun, 19 Jan 2014 18:22:55 +0000 (19:22 +0100)]
x86inc: Speed up assembling with Yasm

Work around Yasm's inefficiency with handling large numbers of variables
in the global scope.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoavformat: utils: K&R formatting cosmetics
Diego Biurrun [Thu, 16 Jan 2014 00:53:03 +0000 (01:53 +0100)]
avformat: utils: K&R formatting cosmetics

Also adjust some comment wording / spelling and reorder header #includes.

10 years agoconfigure: clang: explicitly state dep file and rule name in DEPFLAGS
Janne Grunau [Sat, 25 Jan 2014 16:34:19 +0000 (17:34 +0100)]
configure: clang: explicitly state dep file and rule name in DEPFLAGS

Fixes dependency file generation with gas-preprocessor.pl and clang.
Flags copied from GCC and tested with Apple's clang from Xcode 5 and
5.1 and clang 3.2, 3.3, 3.4 on Linux.

10 years agoconfigure: add missing x86 dependency for i686
Janne Grunau [Sat, 25 Jan 2014 15:55:58 +0000 (16:55 +0100)]
configure: add missing x86 dependency for i686

10 years agompeg12: check scantable indices in all decode_block functions
Janne Grunau [Fri, 24 Jan 2014 15:22:44 +0000 (16:22 +0100)]
mpeg12: check scantable indices in all decode_block functions

Add checks to the fast functions used with CODEC_FLAGS2_FAST and move
the check for all other functions to before the invalid memory is
accessed. Fixes https://trac.videolan.org/vlc/ticket/9713 with
CODEC_FLAGS2_FAST.

CC: libav-stable@libav.org
10 years agoavutil: remove timer.h include from internal.h
Janne Grunau [Thu, 23 Jan 2014 15:20:23 +0000 (16:20 +0100)]
avutil: remove timer.h include from internal.h

Added libavutil/timer.h include to all files with {START,STOP}_TIMER.

10 years agodxtory: compressed RGB555/RGB565 decoding support
Kostya Shishkov [Tue, 21 Jan 2014 19:11:35 +0000 (20:11 +0100)]
dxtory: compressed RGB555/RGB565 decoding support

10 years agodxtory: add more compressed and uncompressed modes
Kostya Shishkov [Tue, 21 Jan 2014 19:06:11 +0000 (20:06 +0100)]
dxtory: add more compressed and uncompressed modes

10 years agovp9: fix bugs in updating coef probabilities with parallelmode=1
Guillaume Martres [Sun, 19 Jan 2014 18:04:59 +0000 (19:04 +0100)]
vp9: fix bugs in updating coef probabilities with parallelmode=1

- The memcpy was completely wrong because
s->prob_ctx[s->framectxid].coef is a [4][2][2][6][6][3] array, whereas
s->prob.coef is a [4][2][2][6][6][11] array.
- The additional check was committed to ffmpeg by Ronald S. Bultje.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agovp9: fix mvref finding to adhere to bug in libvpx.
Ronald S. Bultje [Sun, 19 Jan 2014 18:04:58 +0000 (19:04 +0100)]
vp9: fix mvref finding to adhere to bug in libvpx.

Fixes a particular youtube video that I unfortunately can't share.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agortpdec_asf: Copy the need_parsing field from the chained demuxer
Martin Storsjö [Thu, 23 Jan 2014 12:07:46 +0000 (14:07 +0200)]
rtpdec_asf: Copy the need_parsing field from the chained demuxer

This fixes playback of mp3 streams in rtp/asf. This used to work
until c6f1dc8, but mostly by coincidence.

Signed-off-by: Martin Storsjö <martin@martin.st>