ffmpeg.git
5 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

5 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
5 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
5 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>
5 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.

5 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

5 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

5 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().

5 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.

5 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>
5 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>
5 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

5 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.

5 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.

5 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

5 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()

5 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>
5 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.

5 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.

5 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

5 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
5 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.

5 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

5 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

5 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>
5 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>
5 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>
5 years agompegvideo_enc: Don't call ff_h263dsp_init unconditionally
Martin Storsjö [Wed, 22 Jan 2014 14:58:36 +0000 (16:58 +0200)]
mpegvideo_enc: Don't call ff_h263dsp_init unconditionally

This fixes builds with e.g. --disable-decoders --disable-encoders
--enable-encoder=mjpeg.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agobfin: vp3: Mark all binary object sections appropriately
Diego Biurrun [Wed, 22 Jan 2014 13:01:08 +0000 (05:01 -0800)]
bfin: vp3: Mark all binary object sections appropriately

This fixes a leftover from e44d7c659ba56d7efd6de10d5d99a1c44fd997fa.

5 years agoh264: skip chroma edges at the picture boundary while deblocking 4:4:4
Janne Grunau [Mon, 20 Jan 2014 17:16:54 +0000 (18:16 +0100)]
h264: skip chroma edges at the picture boundary while deblocking 4:4:4

This handles macroblock edges for the chroma components in the same way
as for the luma compoment for 4:4:4 streams. The Spec explicitly states
that the deblocking filter is not applied to edges at the boundary of
the picture.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
5 years agoconfigure: Set default HOSTCFLAGS/HOSTCPPFLAGS after compiler detection
Diego Biurrun [Tue, 21 Jan 2014 18:54:14 +0000 (19:54 +0100)]
configure: Set default HOSTCFLAGS/HOSTCPPFLAGS after compiler detection

This prevents the default HOSTCFLAGS from getting clobbered by flags
passed to configure on the command line.

5 years agorgb2rgb_template: add MMX/SSE2/AVX-optimized deinterleaveBytes
Michael Niedermayer [Tue, 19 Nov 2013 13:57:52 +0000 (14:57 +0100)]
rgb2rgb_template: add MMX/SSE2/AVX-optimized deinterleaveBytes

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoswscale/x86/rgb2rgb: add support for AVX
Michael Niedermayer [Tue, 19 Nov 2013 13:46:01 +0000 (14:46 +0100)]
swscale/x86/rgb2rgb: add support for AVX

This does not yet include any actual AVX code

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoswscale: add nv12/nv21->yuv420 converter
Michael Niedermayer [Tue, 19 Nov 2013 13:17:26 +0000 (14:17 +0100)]
swscale: add nv12/nv21->yuv420 converter

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoswscale: fix stride used in planarToNv12Wrapper()
Michael Niedermayer [Tue, 19 Nov 2013 13:19:22 +0000 (14:19 +0100)]
swscale: fix stride used in planarToNv12Wrapper()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agolavc: do not force the emu edge flag
Anton Khirnov [Mon, 20 Jan 2014 14:22:09 +0000 (15:22 +0100)]
lavc: do not force the emu edge flag

The default get_buffer2() implementation (and possibly some
user ones) does not allocate edges when this flag is set, which may
expose bugs in some decoders. Until the 10 release is out, it is safer
to remove this part.

5 years agodxtory: change error code for unexpected slice configuration
Kostya Shishkov [Sat, 18 Jan 2014 13:35:47 +0000 (14:35 +0100)]
dxtory: change error code for unexpected slice configuration

5 years agodxtory: correctly handle YUV slices with average odd height
Kostya Shishkov [Sat, 18 Jan 2014 13:34:30 +0000 (14:34 +0100)]
dxtory: correctly handle YUV slices with average odd height

5 years agodxva2: Use correct printf format strings
Diego Biurrun [Tue, 21 Jan 2014 13:42:44 +0000 (14:42 +0100)]
dxva2: Use correct printf format strings

5 years agodxva2: Add missing #includes
Diego Biurrun [Tue, 21 Jan 2014 13:42:23 +0000 (14:42 +0100)]
dxva2: Add missing #includes

5 years agodxva2: Log errors verbosely
Sam Lantinga [Sun, 19 Jan 2014 14:42:36 +0000 (15:42 +0100)]
dxva2: Log errors verbosely

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agodxva2: Retry IDirectXVideoDecoder_BeginFrame()
Sam Lantinga [Thu, 9 Jan 2014 19:59:54 +0000 (19:59 +0000)]
dxva2: Retry IDirectXVideoDecoder_BeginFrame()

If the function returns E_PENDING retry for a fixed number of times.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agohevc: Bound check cu_qp_delta
Luca Barbato [Sat, 11 Jan 2014 19:13:20 +0000 (20:13 +0100)]
hevc: Bound check cu_qp_delta

The T-REC-H.265-2013044 page 91 states it has to be in the range
[-(26 + s->sps->qp_bd_offset / 2), (25 + s->sps->qp_bd_offset / 2)].

5 years agohevc: Bound check slice_qp
Luca Barbato [Sat, 11 Jan 2014 19:13:20 +0000 (20:13 +0100)]
hevc: Bound check slice_qp

The T-REC-H.265-2013044 page 79 states it has to be in the range
[-s->sps->qp_bd_offset, 51].

Sample-Id: 00001386-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agohevc: Prevent some integer overflows
Luca Barbato [Sat, 11 Jan 2014 11:33:42 +0000 (12:33 +0100)]
hevc: Prevent some integer overflows

get_ue_golomb_long() returns an unsigned.

Sample-Id: 00001541-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agohevc: Remove useless clip
Guillaume Martres [Sat, 11 Jan 2014 21:46:25 +0000 (22:46 +0100)]
hevc: Remove useless clip

The src buffer should only contain values in the interval
[0, (1 << BIT_DEPTH) - 1].

Since shift = (BIT_DEPTH - 5), src[x] >> shift must be in
the interval [0, 31], so no clip is needed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agohevc: clip pixels when transquant bypass is used
Guillaume Martres [Sat, 11 Jan 2014 21:46:24 +0000 (22:46 +0100)]
hevc: clip pixels when transquant bypass is used

The reconstructed picture should always be clipped (see section 8.6.5),
previously we did not clip coding units where
cu_transquant_bypass_flag == 1.

Sample-Id: 00001325-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agohevc: Use uint64 to check for tile dimensions
Luca Barbato [Sat, 11 Jan 2014 02:20:45 +0000 (03:20 +0100)]
hevc: Use uint64 to check for tile dimensions

And use unsigned datatypes.

Otherwise it would overflow.

Sample-Id: 00001315-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
5 years agohevc: Fix modulo operations
Michael Niedermayer [Fri, 10 Jan 2014 20:32:05 +0000 (21:32 +0100)]
hevc: Fix modulo operations

Keep qp fields within the range.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agohevc: check that VPS referenced from SPS exists
Michael Niedermayer [Fri, 10 Jan 2014 20:32:04 +0000 (21:32 +0100)]
hevc: check that VPS referenced from SPS exists

This matches how its done for SPS/PPS.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agovc1: Always reset numref when parsing a new frame header.
Michael Niedermayer [Sun, 19 Jan 2014 15:28:25 +0000 (15:28 +0000)]
vc1: Always reset numref when parsing a new frame header.

Fixes an issue where the B-frame coding mode switches from interlaced
fields to interlaced frames, causing incorrect decisions in the motion
compensation code and resulting in visual artifacts.

CC: libav-stable@libav.org
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
5 years agortmpproto: Send a full, absolute timestamp if it isn't monotonically growing
Martin Storsjö [Fri, 17 Jan 2014 12:30:57 +0000 (14:30 +0200)]
rtmpproto: Send a full, absolute timestamp if it isn't monotonically growing

The normal differential timestamps can't handle negative
differences, thus send a full packet header with an absolute
timestamp in these cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agortmpproto: Avoid using uninitialized memory
Martin Storsjö [Fri, 17 Jan 2014 12:29:57 +0000 (14:29 +0200)]
rtmpproto: Avoid using uninitialized memory

If the url ends with .flv, we stripped it but didn't initialize
rt->playpath, doing av_strlcat on an uninitialized buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomov: do not set avg_frame_rate in the demuxer
Justin Ruggles [Thu, 16 Jan 2014 20:59:05 +0000 (15:59 -0500)]
mov: do not set avg_frame_rate in the demuxer

The track duration is often not reliable or is not the duration
represented by the number of frames. In those cases, avg_frame_rate
was reported incorrectly. Removing this code falls back to the
default calculation in avformat_find_stream_info().

This is a partial revert of commit c3aeaa540.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agolavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().
Anton Khirnov [Thu, 2 Jan 2014 10:07:11 +0000 (11:07 +0100)]
lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().

5 years agompegvideo: allocate edges when encoding.
Anton Khirnov [Wed, 1 Jan 2014 19:04:53 +0000 (20:04 +0100)]
mpegvideo: allocate edges when encoding.

Allocating edges will be removed from generic code, so the encoder must
handle this explicitly.

5 years agolavc: allow the caller to override dimensions in ff_get_buffer()
Anton Khirnov [Wed, 1 Jan 2014 19:03:05 +0000 (20:03 +0100)]
lavc: allow the caller to override dimensions in ff_get_buffer()

This will be useful for allocating edges in the encoders.

5 years agoeac3: cosmetics, re-indent.
Tim Walker [Fri, 17 Jan 2014 15:08:18 +0000 (16:08 +0100)]
eac3: cosmetics, re-indent.

5 years ago(e)ac3: clip surround mix level indexes.
Tim Walker [Fri, 17 Jan 2014 15:06:34 +0000 (16:06 +0100)]
(e)ac3: clip surround mix level indexes.

Values 0-2 are reserved, 3 (-1.5dB) should be used instead.

5 years ago(e)ac3: parse and store the Lt/Rt and LFE mix levels.
Tim Walker [Fri, 17 Jan 2014 14:57:40 +0000 (15:57 +0100)]
(e)ac3: parse and store the Lt/Rt and LFE mix levels.

5 years agoac3: set default matrix encoding modes in parse_frame_header.
Tim Walker [Fri, 17 Jan 2014 14:18:45 +0000 (15:18 +0100)]
ac3: set default matrix encoding modes in parse_frame_header.

Deduplicates some code.

5 years agoh264: check that an IDR NAL only contains I slices
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: check that an IDR NAL only contains I slices

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

5 years agoh264: reset num_reorder_frames if it is invalid
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: reset num_reorder_frames if it is invalid

An invalid VUI is not considered a fatal error, so the SPS containing it
may still be used. Leaving an invalid value of num_reorder_frames there
can result in writing over the bounds of H264Context.delayed_pic.

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

5 years agoh264: reset ref count if decoding the slice header fails
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: reset ref count if decoding the slice header fails

Otherwise the ER code might try to use some already freed references.

Fixes possible access to freed memory.

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

5 years agoh264: prevent two matching fields from being both a short/long ref combination
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: prevent two matching fields from being both a short/long ref combination

Fixes possible access to freed memory.

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

5 years agoh264: do not call field_end if we do not have a current picture
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: do not call field_end if we do not have a current picture

Fixes invalid reads.

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

5 years agoh264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3

Higher modes are not allowed for 16x16/chroma, which is what this
function is used for. Otherwise this function would return 0 (vertical
prediction) for invalid higher modes, which could result in invalid
reads.

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

5 years agoh264: reset first_field if frame_start() fails for missing refs
Anton Khirnov [Thu, 28 Nov 2013 09:54:35 +0000 (10:54 +0100)]
h264: reset first_field if frame_start() fails for missing refs

In this case we may not have a current frame, while first_field being
set implies we do.

Fixes invalid reads.

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

5 years agoPrepare for 10_alpha2 Release
Reinhard Tartler [Sat, 18 Jan 2014 15:27:27 +0000 (10:27 -0500)]
Prepare for 10_alpha2 Release

5 years agoavisynth: fix setting packet properties
Michael Niedermayer [Mon, 13 Jan 2014 15:09:26 +0000 (10:09 -0500)]
avisynth: fix setting packet properties

Reviewed-by: Stephen Hutchinson <qyot27@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agobuffersrc: handle non-refcounted frames in av_buffersrc_add_frame() correctly
Anton Khirnov [Thu, 16 Jan 2014 10:06:02 +0000 (11:06 +0100)]
buffersrc: handle non-refcounted frames in av_buffersrc_add_frame() correctly

5 years agoyuv4mpeg: set average frame rate
Anton Khirnov [Wed, 15 Jan 2014 20:14:46 +0000 (21:14 +0100)]
yuv4mpeg: set average frame rate

5 years agoavconv: print a warning when falling back to default 25fps
Anton Khirnov [Wed, 15 Jan 2014 20:32:38 +0000 (21:32 +0100)]
avconv: print a warning when falling back to default 25fps

5 years agomp3enc: allow omitting the id3v2 header with -id3v2_version 0
Anton Khirnov [Tue, 14 Jan 2014 21:06:03 +0000 (22:06 +0100)]
mp3enc: allow omitting the id3v2 header with -id3v2_version 0

5 years agomp3enc: add an option for disabling the Xing frame.
Anton Khirnov [Tue, 14 Jan 2014 20:47:45 +0000 (21:47 +0100)]
mp3enc: add an option for disabling the Xing frame.

5 years agodoxy: Document better the available AVFrame flags
Luca Barbato [Thu, 16 Jan 2014 00:04:57 +0000 (01:04 +0100)]
doxy: Document better the available AVFrame flags

5 years agodoxy: Add AVFrame to the structured modules
Luca Barbato [Thu, 16 Jan 2014 00:04:35 +0000 (01:04 +0100)]
doxy: Add AVFrame to the structured modules

5 years agoaviocat: Add support for specifying the input duration
Martin Storsjö [Thu, 16 Jan 2014 08:01:03 +0000 (10:01 +0200)]
aviocat: Add support for specifying the input duration

This avoids the caller having to calculate the byte rate if wanting
to push a file in a rate resembling realtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoaviocat: Check the argv array length before reading element i+1
Martin Storsjö [Thu, 16 Jan 2014 07:58:03 +0000 (09:58 +0200)]
aviocat: Check the argv array length before reading element i+1

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agox86: dsputil: Simplify xvmc deprecation conditional
Diego Biurrun [Tue, 14 Jan 2014 17:24:03 +0000 (18:24 +0100)]
x86: dsputil: Simplify xvmc deprecation conditional

5 years agobuild: Add separate hidden config option for the intrax8 code
Diego Biurrun [Tue, 14 Jan 2014 17:24:02 +0000 (18:24 +0100)]
build: Add separate hidden config option for the intrax8 code

This allows for slightly cleaner dependency specification.

5 years agoaarch64: port neon clobber test from arm
Janne Grunau [Sat, 11 Jan 2014 16:21:19 +0000 (17:21 +0100)]
aarch64: port neon clobber test from arm

5 years agoaarch64: h264 (bi)weight NEON optimizations
Janne Grunau [Fri, 10 Jan 2014 13:07:24 +0000 (14:07 +0100)]
aarch64: h264 (bi)weight NEON optimizations

Ported from ARMv7 NEON.

5 years agoaarch64: h264 loop filter NEON optimizations
Janne Grunau [Fri, 20 Dec 2013 20:02:43 +0000 (21:02 +0100)]
aarch64: h264 loop filter NEON optimizations

Ported from ARMv7 NEON.

5 years agoaarch64: hpeldsp NEON optimizations
Janne Grunau [Fri, 20 Dec 2013 19:03:58 +0000 (20:03 +0100)]
aarch64: hpeldsp NEON optimizations

Ported from ARMv7 NEON.

5 years agoaarch64: h264 qpel NEON optimizations
Janne Grunau [Wed, 18 Dec 2013 14:56:50 +0000 (15:56 +0100)]
aarch64: h264 qpel NEON optimizations

Ported from ARMv7 NEON.

5 years agoaarch64: h264 idct NEON assembler optimizations
Janne Grunau [Thu, 12 Dec 2013 23:33:48 +0000 (00:33 +0100)]
aarch64: h264 idct NEON assembler optimizations

Ported from ARMv7 NEON.

5 years agoaarch64: h264 chroma motion compensation NEON optimizations
Janne Grunau [Tue, 10 Dec 2013 19:16:08 +0000 (20:16 +0100)]
aarch64: h264 chroma motion compensation NEON optimizations

Since RV40 and VC-1 use almost the same algorithm so optimizations for
those two decoders are easy to do and included.

5 years agoaarch64: add cpuflags support for NEON and VFP
Janne Grunau [Tue, 10 Dec 2013 19:13:32 +0000 (20:13 +0100)]
aarch64: add cpuflags support for NEON and VFP

NEON and VFP are currently mandatory for all ARMv8 profiles. Both are
handled as extensions as far as cpuflags are concerned. This is
consistent with handling x86_64 which always has SSE2, but still
handles it as an extension.

5 years agodct-test: test ff_simple_idct_neon only on ARM for now
Janne Grunau [Mon, 13 Jan 2014 20:32:19 +0000 (21:32 +0100)]
dct-test: test ff_simple_idct_neon only on ARM for now

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
5 years agomov: Free an earlier allocated array if allocating a new one
Martin Storsjö [Mon, 13 Jan 2014 12:46:07 +0000 (14:46 +0200)]
mov: Free an earlier allocated array if allocating a new one

It could probably also be considered an error if the pointer isn't
null at this point, but then we might risk rejecting some
slightly broken files that we might have handled so far.

Sample-Id: 00000496-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomov: Free intermediate arrays in the normal cleanup function
Martin Storsjö [Mon, 13 Jan 2014 12:43:23 +0000 (14:43 +0200)]
mov: Free intermediate arrays in the normal cleanup function

These arrays are normally freed at the end of mov_read_trak,
but make sure they're freed in case mov_read_trak returned
early (due to errors) or in case the atoms that allocate arrays
are encountered at some other point than within a trak (which
we don't have checks against).

Sample-Id: 00000496-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoaarch64: bswap inline assembly
Janne Grunau [Mon, 25 Nov 2013 15:58:54 +0000 (16:58 +0100)]
aarch64: bswap inline assembly

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
5 years agoaarch64: configure: set arch dependent features
Janne Grunau [Thu, 12 Dec 2013 16:45:32 +0000 (17:45 +0100)]
aarch64: configure: set arch dependent features

Stack is always 16 byte aligned and clz, 64bit operations and unaligned
memory access are fast in aarch64 mode on ARMv8.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
5 years agocabac: remove leftovers from the cabac encoder
Janne Grunau [Mon, 13 Jan 2014 20:23:13 +0000 (21:23 +0100)]
cabac: remove leftovers from the cabac encoder

The cabac encoder was only used by the removed cabac test.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
5 years agomxf: Fix potential leak in mxf_read_local_tags()
Tomas Härdin [Wed, 24 Oct 2012 14:54:25 +0000 (16:54 +0200)]
mxf: Fix potential leak in mxf_read_local_tags()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomxf: Correctly support files from Pinnacle Thunder
Tomas Härdin [Wed, 4 Apr 2012 12:24:49 +0000 (14:24 +0200)]
mxf: Correctly support files from Pinnacle Thunder

Such files have IndexTableSegments which when parsed cover EditUnit
ranges like this:

 [0,1)
 [249,250)
 [249,377)
 [0,249)

where each interval is

 [IndexStartPosition, IndexStartPosition + IndexDuration)

This would be reduced to a sparse index like:

 [0,1), [249,250)

instead of the full range:

 [0,249), [249,377)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomxf: Fix a possible leak of extradata
Michael Niedermayer [Tue, 11 Dec 2012 13:43:47 +0000 (14:43 +0100)]
mxf: Fix a possible leak of extradata

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agomxf: Use av_malloc_array
Luca Barbato [Tue, 7 Jan 2014 22:54:09 +0000 (23:54 +0100)]
mxf: Use av_malloc_array

5 years agomxf: Drop unnecessary checks
Luca Barbato [Tue, 7 Jan 2014 20:56:33 +0000 (21:56 +0100)]
mxf: Drop unnecessary checks

av_reallocp_array does the check already.