1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-08 13:22:53 +02:00
Commit Graph

16135 Commits

Author SHA1 Message Date
Mans Rullgard
0a19000da8 lavc: options: add planar names for request_sample_fmt
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Mans Rullgard
784514a4a8 flacdec: add planar output support
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Diego Biurrun
bb58c43c69 qdm2: remove broken and disabled dump_context() debug function 2012-07-05 17:37:12 +02:00
Diego Biurrun
878e669029 x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros 2012-07-05 17:37:11 +02:00
Loren Merritt
4d4752366f x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-05 17:37:11 +02:00
Diego Biurrun
d20f133ef9 x86: h264_intrapred: port to cpuflag macros 2012-07-05 17:37:10 +02:00
Mans Rullgard
28fff0d974 h264: use templates to avoid excessive inlining
Instead of inlining everything into ff_h264_hl_decode_mb(), use
explicit templating to create versions of the called functions
with constant parameters filled in.  This greatly speeds up
compilation of h264.c and reduces the code size without any
measurable impact on performance.

Compilation time for h264.c on an i7 goes from 30s to 5.5s.
Code size is reduced by 430kB.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 11:50:18 +01:00
Michael Niedermayer
18f2d5cb9c mpegvideo: Don't use ff_mspel_motion() for vc1
Using ff_mspel_motion assumes that s (a MpegEncContext
poiinter) really is a Wmv2Context.

This fixes crashes in error resilience on vc1/wmv3 videos.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 12:41:19 +03:00
Martin Storsjö
07eeeb1d4f vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too
This was missed in the the previous commit in 70a1c800.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 09:39:01 +03:00
Martin Storsjö
70a1c8000f vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-04 08:25:50 -07:00
Ronald S. Bultje
c51838478c amr: remove shift out of the AMR_BIT() macro.
MSVC doesn't like the offsetof(..) >> 1 construct, it interprets it as
a non-literal, thus causing use of this in static tables to fail
compilation.
2012-07-04 07:46:53 -07:00
Ronald S. Bultje
723b266d72 dsputilenc: group yasm and inline asm function pointer assignment. 2012-07-04 07:46:27 -07:00
Diego Biurrun
2047e40e6e Clarify Doxygen comment for FF_API_* #defines. 2012-07-04 15:10:10 +02:00
Ronald S. Bultje
89b81a1c88 mpegvideo: remove VLAs
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Mans Rullgard
25accf93ad flacdec: move lpc filter to flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
4a8528349f flacdec: split off channel decorrelation as flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
87466f8124 flacdec: factor out code setting avctx->sample_fmt 2012-07-04 03:34:34 +01:00
Mans Rullgard
d155b60fc8 flac: make FLAC_CHMODE_* constants consecutive 2012-07-04 03:30:43 +01:00
Mans Rullgard
93e7ef9a24 flacdec: allocate sample buffers with av_malloc
The buffers are only allocated once, although it can happen from
any of a few different places, so there is no need to use realloc.
Using av_malloc() ensures they are aligned suitably for SIMD
optimisations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 03:30:01 +01:00
Mans Rullgard
0da301e105 flacdec: remove curr_bps from FLACContext
This value does not need to be persistent across calls.
2012-07-04 03:29:29 +01:00
Mans Rullgard
360aa2465a flacenc: add option for forcing stereo decorrelation mode
This is mainly useful for testing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Diego Biurrun
4051be6f50 anm: fix a few Doxygen comments 2012-07-03 17:35:11 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +02:00
Ronald S. Bultje
3389545157 snow: remove a VLA used for edge emulation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 16:31:23 +03:00
Ronald S. Bultje
cbd9b2f918 snow: remove the runs[] VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:46 +03:00
Martin Storsjö
4d8516fdb1 snow: Check mallocs at init
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:39 +03:00
Mans Rullgard
4719ea7e1e flacdec: remove redundant setting of avctx->sample_fmt
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 22:13:32 +01:00
Mans Rullgard
58e57c3052 snow: remove VLA in mc_block()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 12:24:12 +01:00
Ronald S. Bultje
33bb63cb3e snow: remove a VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-02 13:04:00 +03:00
Kostya Shishkov
edf35d8342 MS ATC Screen (aka MSS3) decoder 2012-07-02 07:14:44 +02:00
Martin Storsjö
fc31508e3a roqvideo: Remove a totally unused dspcontext
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 23:54:35 +03:00
Mans Rullgard
779f8bc24e smacker: remove some unused code
This removes some code apparently left over from vlc reader
debugging.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
d55e5e6bae dsicin: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
3c928477d2 aacdec: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
800ab1bafa rl2: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
1c2c64edac proresenc: make a variable local to the loop where it is used
This moves the mbs_per_slice declaration inside the only loop
where it is used.  Fixes a dead assignment.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
4ca6d206d1 alsdec: remove dead assignments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Martin Storsjö
710bd8a33e wma: Lower the maximum number of channels to 2
ff_wma_init is used only by wmadec and wmaenc, and neither of them
can handle more than 2 channels.

This fixes crashes with invalid files.

Based on patch by Piotr Bandurski and Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 15:51:26 +03:00
Mans Rullgard
62634158b7 ARM: generate position independent code to access data symbols
This creates proper position independent code when accessing
data symbols if CONFIG_PIC is set.

References to external symbols should now use the movrelx macro.
Some additional code changes are required since this macro may
need a register to hold the GOT pointer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 11:25:06 +01:00
Ronald S. Bultje
ceabc13f12 dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section. 2012-06-30 09:24:52 -07:00
Ronald S. Bultje
e9156741a7 dnxhdenc: add space between function argument type and comment.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:22:07 +03:00
Ronald S. Bultje
66a02159ea x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
This gets rid of a variable-length array and a for loop in C code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:10:36 +03:00
Mans Rullgard
f2fd167835 x86: vc1: fix and enable optimised loop filter
The problem is that the ssse3 psign instruction does the wrong
thing here.  Commit ea60dfe incorrectly removed a macro emulating
this instruction for pre-ssse3 code.  However, the emulation is
incorrect, and the code relies on the behaviour of the macro.
Specifically, the psign sets destination elements to zero where
the corresponding source element is zero, whereas the emulation
only negates destination elements where the source is negative.

Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus,
which is why the original VC-1 code had an additional right shift
when using it.  Since the psign instruction cannot be used here,
skip all the macro hell and use the working instruction sequence
directly.

None of this was noticed due a stray return statement in
ff_vc1dsp_init_mmx() which meant that only the mmx version of the
loop filter was ever used (before being removed in ea60dfe).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-30 00:12:05 +01:00
Kostya Shishkov
15358ade15 mss1: validate number of changeable palette entries 2012-06-27 18:05:58 +02:00
Kostya Shishkov
8f5d573a83 mss1: report palette changed when some additional colours were decoded 2012-06-27 18:05:58 +02:00
Christophe Gisquet
a5bfa66df5 x86: fft: replace call to memcpy by a loop
The function call was a mess to handle, and memcpy cannot make
the assumptions we do in the new code.

Tested on an IMC sample: 430c -> 370c.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-27 12:49:33 +01:00
Ronald S. Bultje
fa84506177 dxva2: include dxva.h if found
Apparently, some build environments require dxva.h even for dxva2,
while others lack this header entirely.  Including it conditionally
allows building in both cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:36:27 +03:00
Hendrik Leppkes
ea1c5011b3 dxva2_h264: fix signaling of mbaff frames
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 11:59:24 +03:00
Mans Rullgard
0595334892 x86: fft: elf64: fix PIC build
In a 64-bit PIC build, external functions must be called
through the PLT.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 22:58:18 +01:00
Mans Rullgard
8725da49a2 x86: fft: win64: fix stack alignment for memcpy() call 2012-06-25 15:10:39 +01:00