platform/upstream/libav.git
10 years agoarm: Mark the stack as non-executable
Martin Storsjö [Fri, 7 Feb 2014 14:22:54 +0000 (16:22 +0200)]
arm: Mark the stack as non-executable

If linking in an object file without this attribute set, the
linker will assume that an executable stack might be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoh264: informative error reporting in decode_slice_header()
Luca Barbato [Tue, 18 Feb 2014 22:47:55 +0000 (23:47 +0100)]
h264: informative error reporting in decode_slice_header()

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agoh264: fix slice_type value reported in decode_slice_header()
Luca Barbato [Tue, 18 Feb 2014 22:47:32 +0000 (23:47 +0100)]
h264: fix slice_type value reported in decode_slice_header()

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agodoxygen: Replace @parblock syntax with manual linebreaks
Diego Biurrun [Sun, 16 Feb 2014 21:09:30 +0000 (22:09 +0100)]
doxygen: Replace @parblock syntax with manual linebreaks

@parblock is only supported in very recent Doxygen versions.

10 years agodoxygen: Add a number of missing function parameter descriptions v11_dev0
Diego Biurrun [Sun, 16 Feb 2014 22:36:31 +0000 (23:36 +0100)]
doxygen: Add a number of missing function parameter descriptions

10 years agoh264: use avpriv_request_sample for chroma_format_idc v10_beta1
Vittorio Giovara [Sun, 16 Feb 2014 22:07:21 +0000 (23:07 +0100)]
h264: use avpriv_request_sample for chroma_format_idc

10 years agodoc: Fix project name typo
Diego Biurrun [Sun, 16 Feb 2014 21:08:21 +0000 (22:08 +0100)]
doc: Fix project name typo

10 years agoMove all example programs to doc/examples
Diego Biurrun [Sat, 15 Feb 2014 14:50:29 +0000 (15:50 +0100)]
Move all example programs to doc/examples

Also drop support for building examples in library directories.

10 years agog2meet: validate bpp and bitmasks in the display info
Maxim Poliakovski [Sat, 15 Feb 2014 20:09:22 +0000 (21:09 +0100)]
g2meet: validate bpp and bitmasks in the display info

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
10 years agoPrepare for 10_beta1 Release
Reinhard Tartler [Sat, 15 Feb 2014 21:49:04 +0000 (16:49 -0500)]
Prepare for 10_beta1 Release

10 years agoac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.
Tim Walker [Sat, 15 Feb 2014 17:38:15 +0000 (17:38 +0000)]
ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.

10 years agolavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type.
Tim Walker [Sat, 15 Feb 2014 17:12:22 +0000 (17:12 +0000)]
lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type.

10 years agoac3: update AC3PreferredStereoDownmixMode.
Tim Walker [Sat, 15 Feb 2014 17:12:21 +0000 (17:12 +0000)]
ac3: update AC3PreferredStereoDownmixMode.

'11b' is reserved in the A/52 specification,
but newer encoders use it to indicate a Dolby
Pro Logic II compatible Lt/Rt downmix.

10 years agoh264_parser: use enum values in h264_find_frame_end()
Vittorio Giovara [Fri, 14 Feb 2014 04:20:02 +0000 (05:20 +0100)]
h264_parser: use enum values in h264_find_frame_end()

10 years agolavfi doxy: add buffer{src,sink}.h to the main lavfi doxy group
Anton Khirnov [Mon, 10 Feb 2014 16:25:21 +0000 (17:25 +0100)]
lavfi doxy: add buffer{src,sink}.h to the main lavfi doxy group

10 years agobuffersink: document special error codes returned from av_buffersink_get_frame
Anton Khirnov [Tue, 21 May 2013 18:30:36 +0000 (20:30 +0200)]
buffersink: document special error codes returned from av_buffersink_get_frame

10 years agoppc: reduce overreads when loading 8 pixels in altivec dsp functions
Janne Grunau [Thu, 13 Feb 2014 11:27:17 +0000 (12:27 +0100)]
ppc: reduce overreads when loading 8 pixels in altivec dsp functions

Altivec can only load naturally aligned vectors. To handle possibly
unaligned data a second vector is loaded from an offset of the original
location and the data is recovered through a vector permutation.
Overreads are minimal if the offset for second load points to the last
element of data. This is 7 for loading eight 8-bit pixels and overreads
are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned.
For unaligned pixels the overread is reduced from 23 bytes to 15 bytes
in the worst case.

10 years agoutvideoenc: Enable support for multiple slices and use them
Jan Ekström [Fri, 14 Feb 2014 11:48:56 +0000 (12:48 +0100)]
utvideoenc: Enable support for multiple slices and use them

The official Ut Video decoder only threads with slices, thus until
now any files encoded by the libavcodec encoder have only been
decodable with a single thread. The default slice count is now
set to subsampled_height / 120.

Also sets slices to 1 for the Ut Video encoder tests to keep them
green.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agolibx265: Remove redundant default param call
Derek Buitenhuis [Thu, 13 Feb 2014 20:49:24 +0000 (20:49 +0000)]
libx265: Remove redundant default param call

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agolibx265: Fix use of uninitialized input picture
Derek Buitenhuis [Thu, 13 Feb 2014 20:49:05 +0000 (20:49 +0000)]
libx265: Fix use of uninitialized input picture

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
10 years agodoc/examples: misc Doxygen markup improvements
Diego Biurrun [Tue, 11 Feb 2014 14:49:39 +0000 (15:49 +0100)]
doc/examples: misc Doxygen markup improvements

Add properly formatted @example tag and fix Doxygen syntax.

10 years agobuild: doxy: Include code examples in Doxygen documentation
Diego Biurrun [Tue, 11 Feb 2014 17:38:03 +0000 (18:38 +0100)]
build: doxy: Include code examples in Doxygen documentation

10 years agodoxygen: Set EXAMPLE_PATH from within doxy-wrapper.sh
Diego Biurrun [Tue, 11 Feb 2014 20:31:58 +0000 (21:31 +0100)]
doxygen: Set EXAMPLE_PATH from within doxy-wrapper.sh

This allows using the libav source path as the example path.

10 years agobuild: Do not pass HTML snippets and stylesheet as input to Doxygen
Diego Biurrun [Tue, 11 Feb 2014 16:30:43 +0000 (17:30 +0100)]
build: Do not pass HTML snippets and stylesheet as input to Doxygen

These files are referenced elsewhere and only generate warnings if
presented to Doxygen as input files.

10 years agoDoxyfile: Only set HTML_{HEADER|FOOTER|STYLESHEET} from doxy_wrapper.sh
Diego Biurrun [Tue, 11 Feb 2014 20:39:38 +0000 (21:39 +0100)]
Doxyfile: Only set HTML_{HEADER|FOOTER|STYLESHEET} from doxy_wrapper.sh

10 years agoh264_sei: reorder headers
Vittorio Giovara [Thu, 13 Feb 2014 09:01:03 +0000 (10:01 +0100)]
h264_sei: reorder headers

Also drop unused assert.h.

10 years agoh264_sei: name buffering period type consistently
Vittorio Giovara [Thu, 13 Feb 2014 01:26:04 +0000 (02:26 +0100)]
h264_sei: name buffering period type consistently

10 years agoh264: drop outdated comments
Vittorio Giovara [Wed, 12 Feb 2014 23:44:11 +0000 (00:44 +0100)]
h264: drop outdated comments

10 years agoh264: store current_sps_id inside the current sps
Vittorio Giovara [Wed, 12 Feb 2014 23:43:17 +0000 (00:43 +0100)]
h264: store current_sps_id inside the current sps

In preparation for MVC support.

10 years agoh264: print values in case of error
Vittorio Giovara [Wed, 12 Feb 2014 23:30:12 +0000 (00:30 +0100)]
h264: print values in case of error

Also make error style consistent and drop redundant information.

10 years agoh264: Refactor ff_h264_decode_ref_pic_list_reordering
Luca Barbato [Thu, 13 Feb 2014 14:31:57 +0000 (15:31 +0100)]
h264: Refactor ff_h264_decode_ref_pic_list_reordering

In preparation for MVC support.

10 years agompeg12dec: do not add stereo3D side data to a non-existing frame
Janne Grunau [Thu, 13 Feb 2014 09:39:08 +0000 (10:39 +0100)]
mpeg12dec: do not add stereo3D side data to a non-existing frame

User data is usually coded before slice data. That means the frame
the user data belongs to is not available while parsing the user data.
The stereo3D side data has to use the same indirection over the private
context as pan scan information and A53 captions.

Bug-Id:632

10 years agoconfigure: do not link libraries against program-specific dependencies
Janne Grunau [Wed, 12 Feb 2014 23:44:08 +0000 (00:44 +0100)]
configure: do not link libraries against program-specific dependencies

Bug-Id: 635

10 years agoconfigure: avserver does not need $ldl
Janne Grunau [Wed, 12 Feb 2014 23:29:14 +0000 (00:29 +0100)]
configure: avserver does not need $ldl

Loadable plugins were removed in d010e95f86089abe9a3d4d4a66ac8102312d28a4.

10 years agojv: detect partial packets in the demuxer
Janne Grunau [Wed, 12 Feb 2014 19:08:52 +0000 (20:08 +0100)]
jv: detect partial packets in the demuxer

Fixes fate-jv under valgrind which reports a different CRC for the last
frame from a partial read.

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