Commit Graph

47864 Commits

Author SHA1 Message Date
Stefano Sabatini
3eae531de2 lavfi/swapuv: switch to filter_frame API 2012-12-08 12:10:34 +01:00
Nicolas George
e6701d51e1 lavc/mlpdec: reset layout when channels change.
Triggered by the sample for trac ticket #1726.
2012-12-08 10:12:38 +01:00
Justin Ruggles
1c012e6bfb x86: float_dsp: fix loading of the len parameter on x86-32 2012-12-07 21:19:29 -05:00
Paul B Mahol
3fd60d8049 gifdec: port to bytestream2 API
While here remove ff_lzw_cur_ptr() as it become obsolete.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-08 01:13:07 +00:00
Michael Niedermayer
e0a553d526 opt_list: fix vertical alignment of types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Michael Niedermayer
f4ceca6261 opt: print ranges in opt_list()
The formating can and should be improved.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Michael Niedermayer
a8e0d51bb8 opt: Add support to query ranges
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Josh Allmann
b3deec3253 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-08 00:00:30 +01:00
Mans Rullgard
cd71af90a9 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 22:13:57 +00:00
Michael Niedermayer
419ade4b61 lavc: check dimensions for video encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 22:58:13 +01:00
Paul B Mahol
57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
096abfa150 parser: fix large overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
41540b36a1 bitstream: add get_bits64() to support reading more than 32 bits at once
Also remove a duplicate function in the MPEG-TS demuxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
320ae9fb78 sws_scale: check input against NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 21:50:07 +01:00
Clément Bœsch
710c4baf52 lavf: VobSub demuxer. 2012-12-07 21:18:06 +01:00
Stefano Sabatini
fe508f807a lavfi/alphaextract: consistently prefer "cur" over "in" in filter_frame()
Improve consistency/readability.
2012-12-07 19:45:34 +01:00
Stefano Sabatini
0bc0d31b7b lavfi/alphaextract: access outlink properties rather than out_buf->video
Avoid one dereference, simplify.
2012-12-07 19:45:27 +01:00
Stefano Sabatini
130c6497d2 lavfi/alphaextract: fix assignment of invalid size value to memcpy in case linesize < 0
Fix crash, for example in the command:
ffmpeg -f image2 -vcodec pgmyuv -i tests/vsynth1/%02d.pgm \
  -vf "[in]format=yuv420p,split,alphamerge,split[o3][o4];
       [o4]vflip,alphaextract[alpha];[o3][alpha]alphamerge[out]" \
  -vcodec rawvideo -f nut md5:
2012-12-07 19:43:19 +01:00
Stefano Sabatini
c3ad91a3d7 lavfi/alphaextract: switch to filter_frame() API 2012-12-07 19:42:59 +01:00
Stefano Sabatini
1f467220cf lavfi/alphaextract: drop cur_linesize = out_linesize branch in draw_slice()
The code causes uninitialized data copy, and may be actually slower than
a loop over each line in case the padding is big.
2012-12-07 19:09:47 +01:00
Paul B Mahol
fe63d41302 brstm: do not return partial packets
Such packets are useless.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 17:55:45 +00:00
Mans Rullgard
b326755989 arm: rename ARMVFP config symbol to VFP
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
b57c1da81e arm: detect cpu features at runtime on Linux
This allows compiling optimised functions for features not enabled
in the core build and selecting these at runtime if the system has
the necessary support.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
637606de2d configure: arm: make _inline arch ext symbols depend on inline_asm
This makes --disable-inline-asm work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7f2b3dcabd configure: arm: check inline and external asm support for extensions
This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c6ebc9faa2 configure: add check_insn function
The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties
accordingly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
f0fe245bc3 configure: arm: set fast_clz and fast_unaligned in cpuflags section
These are properties of the targeted core and do not depend on
specific assembly support in the toolchain which if missing will
render the controlling options here disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
1234c66a31 configure: arm: detect toolchain default arch version
Probe for the toolchain default architecture version if no --cpu flag
is present or an unknown cpu is specified.  Works with gcc, clang and
armcc.

This allows configuring based on the arch version even if it is not
explicitly specified to configure.  It also causes an explicit -march
flag to be added to CFLAGS and ASFLAGS, which in turn lets us do
proper instruction set tests with the assembler.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
9ebd45c2d5 configure: do not bypass cpuflags section if --cpu not given
This will allow arch-specific ways of determining the target
variant when none is specified on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
a7831d509f arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation
These macros reflect the actual capabilities required here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7fd90119bb configure: clean up check_inline_asm and check_as functions
The check_inline_asm function should check the actual C compiler,
not the one used for assembly files.  Usually these are the same,
but they might be different, typically when using a compiler other
than gcc.

The check_as should, as its name suggests, test the type of input
the AS command is used with, i.e. a standalond assembly (.S) file.

Finally, check for gnu assembler using the modified check_as as
this reflects actual usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c29d49c1b3 dct-test: arm: indicate required cpu features for optimised funcs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Anton Khirnov
380232fac3 snow: fix build after 594d4d5df3 2012-12-07 16:35:06 +01:00
Michael Niedermayer
857d7194ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: add a pointer for weighted prediction temporary buffer

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 16:29:07 +01:00
Paul B Mahol
6777aa6387 lavc/takdec: s/get_b/get_bits_esc4
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 15:19:49 +00:00
Martin Storsjö
4ed0c35c40 avcodec: Fix a typo in an option description
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-12-07 16:16:20 +01:00
Paul B Mahol
1c779854b5 lavc/takdec: simplify code
Merge get_scale/get_shift into set_sample_rate_params().
Rename tak_set_bps to set_bps_params and remove 2nd argument.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 15:01:02 +00:00
Michael Niedermayer
7c425e4f2d Merge commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333'
* commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333':
  h264: check sps.log2_max_frame_num for validity
  mov: validate number of DataReferenceBox entries against box size
  mov: compute avg_frame_rate only if duration is known
  flac: change minimum and default of lpc_passes option to 1

Conflicts:
	libavcodec/h264_ps.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 15:52:43 +01:00
Michael Niedermayer
af164d7d9f Merge commit 'c25fc5c2bb6ae8c93541c9427df3e47206d95152'
* commit 'c25fc5c2bb6ae8c93541c9427df3e47206d95152':
  fate: dpcm: Add dependencies
  SBR DSP x86: implement SSE sbr_hf_gen
  AAC SBR: use AVFloatDSPContext's vector_fmul
  fate: image: Add dependencies
  Changelog: add an entry for deprecating the avconv -vol option
  x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32

Conflicts:
	Changelog
	libavutil/x86/float_dsp.asm
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 15:21:41 +01:00
Mans Rullgard
92dad6687f arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
When initialising an FFTContext for a plain FFT, mdct_bits is not set
and can contain a garbage value.  Since nbits is always valid and for
MDCT operation is mdct_bits - 2 checking this instead avoids using an
uninitialised value while having the same effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 13:11:57 +00:00
Paul B Mahol
8ca8b43d71 lavf/pcm: check size, do not produce invalid packets
Inspired by 92b8c9d89e.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 13:05:43 +00:00
Michael Niedermayer
ea6da80cb4 diracdec: check dimensions against chroma format.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 13:43:40 +01:00
Martin Storsjö
2c96392277 avpicture: Don't assume a valid pix fmt in avpicture_get_size
When called from the v4l2 input device, pix_fmt can be
AV_PIX_FMT_NONE (for jpeg formats). Before 50ba57e0, this wasn't
an issue for avpicture_get_size, but after that commit, this
lead to crashes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-07 14:28:47 +02:00
Janne Grunau
a394959bbe h264: add a pointer for weighted prediction temporary buffer
Reusing MpegEncContext's obmc_scratchpad for this becomes a mess with
adaptive frame-mt.
2012-12-07 11:43:28 +01:00
Janne Grunau
d7d6efe42b h264: check sps.log2_max_frame_num for validity
Fixes infinite or long taking loop in frame num gap code in
the fuzzed sample bipbop234.ts_s223302.

CC: libav-stable@libav.org
2012-12-07 11:43:28 +01:00
Janne Grunau
8cc2fa1e5d mov: validate number of DataReferenceBox entries against box size
Avoids a 2G memory allocation and parsing of random data in
mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.
2012-12-07 11:43:28 +01:00
Janne Grunau
80b6b31417 mov: compute avg_frame_rate only if duration is known
Fixes an assert in fuzzed sample sample.mp4_s265930.
2012-12-07 11:43:28 +01:00
Janne Grunau
480be07a96 flac: change minimum and default of lpc_passes option to 1
Avoid use of uninitialized and uncomputed linear least square models
during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running
make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
2012-12-07 11:43:28 +01:00
Diego Biurrun
c25fc5c2bb fate: dpcm: Add dependencies 2012-12-07 11:34:16 +01:00
Christophe Gisquet
2aef3d66c9 SBR DSP x86: implement SSE sbr_hf_gen
Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.

Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 11:04:26 +01:00