Luca Barbato
4c364eb2b8
shorten: report meaningful errors
2013-03-06 01:04:02 +01:00
Luca Barbato
a2ad554def
shorten: K&R formatting cosmetics
2013-03-06 01:04:02 +01:00
Michael Niedermayer
c10da30d84
shorten: set invalid channels count to 0
...
Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-06 01:04:01 +01:00
Luca Barbato
02055b6d40
vorbisdec: check memory allocations
2013-03-06 01:04:01 +01:00
Luca Barbato
4987faee78
h264: check for luma and chroma bit dept being equal
...
The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.
Avoid the possible problems described in CVE-2013-2277
CC: libav-stable@libav.org
2013-03-05 22:18:02 +01:00
Diego Biurrun
c57a593670
hwaccel: consistent name prefixes for start_frame/end_frame/decode_slice
...
Some hwaccels use name prefixes, some do not, others only use them for
some codecs. Add prefixes everywhere for consistency.
2013-03-05 11:22:45 +01:00
Anton Khirnov
437211ae73
h264: set ref_count to 0 for intra slices.
...
CC:libav-stable@libav.org
2013-03-02 10:27:13 +01:00
Anton Khirnov
668e16a0dd
h264: on reference overflow, reset the reference count to 0, not 1.
...
Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.
CC:libav-stable@libav.org
2013-03-02 10:27:03 +01:00
Anton Khirnov
e671d3ad6c
h264: do not copy ref count/ref2frm when updating per-frame context
...
They are filled in decode_slice_header() anyway.
2013-03-02 10:26:50 +01:00
Diego Biurrun
e8c52271c4
Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."
...
This reverts commit f90ff772e7
.
The code should be put back in h264_qpel_8bit.asm, but unfortunately
it is unconditionally used from dsputil_mmx.c since 71155d7
.
2013-02-28 21:50:02 +01:00
Luca Barbato
9d4da474f5
lls: move to the private namespace
...
The functions are private.
2013-02-28 17:39:24 +01:00
Martin Storsjö
86611ff123
pnm: Use av_pix_fmt_desc_get instead of accessing the array directly
...
This fixes boken fate tests with MSVC with DLLs, broken since
b5f536d24
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-28 18:29:03 +02:00
Diego Biurrun
ebc701993f
x86: dsputil: Drop some unused function #defines
2013-02-26 23:36:24 +01:00
Diego Biurrun
845cfc92f9
x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext
...
The external assembly function uses mmxext instructions and should not be
masqueraded as an mmx-only function. Instead, use the mmx-only inline
assembly function.
2013-02-26 23:36:24 +01:00
Diego Biurrun
096cc11ec1
x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c
2013-02-26 23:36:24 +01:00
Martin Storsjö
31a23a0dc6
x86: dsputil_mmx: Remove leftover inline assembly fragments
...
These became unused in 71155d7b
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 00:17:05 +02:00
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
2013-02-26 00:51:34 +01:00
Diego Biurrun
76b19a3984
Fix a number of incorrect intmath.h #includes.
2013-02-26 00:51:34 +01:00
Justin Ruggles
699d02b839
libschroedinger: cosmetics: rename variable avccontext to avctx
...
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
Justin Ruggles
09031b4639
vorbisenc: cosmetics: rename variable avccontext to avctx
...
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
Justin Ruggles
e951b6d94c
vorbisdec: cosmetics: rename variable avccontext to avctx
...
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
Luca Barbato
23bd9ef4b2
vorbisdec: Accept 0 amplitude_bits
...
The specification does not prevent an encoder to write the amplitude 0
as 0 amplitude_bits.
Our get_bits() implementation might not support a zero sized read
properly, thus the additional branch.
2013-02-25 07:34:00 +01:00
Luca Barbato
5b47c19bfd
vorbisdec: Add missing checks
...
Rate and order must not be 0 even if the specification does not say that
explicitly.
2013-02-25 07:34:00 +01:00
Luca Barbato
fc386f2eea
vorbisdec: cosmetics
...
Use the commonly used "if (!var)" instead of "if (var == 0)".
2013-02-25 07:34:00 +01:00
Michael Niedermayer
11dcecfcca
vorbisdec: Error on bark_map_size equal to 0.
...
The value is used to calculate output LSP curve and a division by zero
and out of array accesses would occur.
CVE-2013-0894
CC: libav-stable@libav.org
Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-25 07:33:59 +01:00
Diego Biurrun
3d035d5a6a
dsputil_alpha.h: Add missing stddef.h header to fix standalone compilation
2013-02-24 18:51:40 +01:00
Justin Ruggles
d7c450436f
ac3dec: validate channel output mode against channel count
...
Damaged frames can lead to a mismatch, which can cause a segfault
due to using an incorrect channel mapping.
CC:libav-stable@libav.org
2013-02-23 16:59:39 -05:00
Diego Biurrun
94ee7da08d
Remove pointless av_cold attributes in header files
...
The init functions marked as av_cold have to be executed in any case,
so there is no gain from trying to mark paths leading to such functions
as unlikely.
2013-02-23 20:13:47 +01:00
Kostya Shishkov
b5f536d24b
pnm: add high-bitdepth PGMYUV support for both encoder and decoder
2013-02-23 16:49:22 +01:00
John Van Sickle
2f325a6fd4
libx264: change i_qfactor to use x264cli's default
...
This also allows libx264 to modify its i_qfactor value
when using the "-tune" setting. Previously it had a static
value of 1.25
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-23 13:34:52 +01:00
Anton Khirnov
d8a74d1d95
qtrle: use AV_LOG_ERROR in an error message.
2013-02-23 13:06:12 +01:00
Anton Khirnov
7b4f91155b
qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro
2013-02-23 13:06:08 +01:00
Anton Khirnov
e106592447
qtrle: add more checks against pixel_ptr being negative.
...
CC:libav-stable@libav.org
2013-02-23 13:05:54 +01:00
Anton Khirnov
4f3b058c84
cavs: initialize various context tables to 0
...
Avoids crashes with corrupted files.
CC:libav-stable@libav.org
2013-02-23 13:05:43 +01:00
Anton Khirnov
0dff40bfb9
mlpdec: do not try to allocate a zero-sized output buffer.
...
CC:libav-stable@libav.org
2013-02-23 13:05:31 +01:00
Anton Khirnov
ddfe1246d9
flicvideo: avoid an infinite loop in byte run compression
...
When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.
CC:libav-stable@libav.org
2013-02-23 09:22:30 +01:00
Anton Khirnov
067432c1c9
loco: check that there is data left after decoding a plane.
...
CC:libav-stable@libav.org
2013-02-23 09:20:42 +01:00
Anton Khirnov
de6dfa2bb8
lagarith: avoid infinite loop in lag_rac_refill()
...
range == 0 happens with corrupted files
CC:libav-stable@libav.org
2013-02-23 09:16:32 +01:00
Anton Khirnov
8097fc9a2d
4xm: check the return value of read_huffman_tables().
...
CC:libav-stable@libav.org
2013-02-23 09:13:08 +01:00
Matt Wolenetz
311443f6c7
x86: h264: Don't use redzone in AVX h264_deblock on Win64
...
This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-21 15:02:16 +02:00
Diego Biurrun
a0a1ac0f09
dxva2: Add missing #define to make header compile standalone
2013-02-20 14:24:07 +01:00
Diego Biurrun
3e85b46ecf
arm: vp8: Add missing #includes for header to compile standalone
2013-02-20 14:24:07 +01:00
Martin Storsjö
26ee5ca03d
h264: Get rid of unnecessary casts
...
This gets rid of a number of warnings about casts discarding
qualifiers from the pointer target, present since 7ebfb466a
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-20 00:25:29 +02:00
Ronald S. Bultje
fae6fd5b87
h264/svq3: Stop using draw_edges
...
Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:34:33 +02:00
Ronald S. Bultje
7ebfb466ae
h264: Don't store intra pcm samples in h->mb
...
Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:34:14 +02:00
Ronald S. Bultje
9918f57dcf
get_bits: Return pointer to buffer that is the result of the alignment
...
This allows more transparent mixing of get_bits and whole-byte access
without having to touch get_bits internals.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:52 +02:00
Ronald S. Bultje
2ed008204d
h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil
...
These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:29 +02:00
Ronald S. Bultje
e5ffffe48d
h264chroma: Remove duplicate 9/10 bit functions
...
These functions do the same thing in 16 bit space and don't need
any depth specific clipping.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:19 +02:00
Ronald S. Bultje
f859678f3f
vp56: Remove clear_blocks call, and clear alpha plane U/V DC only
...
The non-alpha and alpha-Y planes are cleared in the idct_put/add()
calls. For the alpha U/V planes, we only care about the DC for entropy
context prediction purposes, the rest of the data is unused.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:11 +02:00
Daniel Kang
9acd23d655
x86: dsputil: Fix h263 loop filter link error in some configurations
...
This was caused by unconditionally referencing a conditionally compiled
table. Now the code is also compiled conditionally.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 17:09:00 +01:00
Daniel Kang
7a03145ed7
x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param
...
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 15:23:03 +01:00
Matti Hamalainen
7f3624dc81
svq3: unbreak decoding
...
a7d2861d36
removed necessary braces.
2013-02-18 02:55:07 +01:00
Luca Barbato
aa11cb7931
build: make audio_frame_queue a stand-alone component
...
Encoders requiring it have the dependency expressed in the
configure.
2013-02-17 22:05:18 +01:00
Diego Biurrun
870a0c669e
build: The libopencore-amrnb encoder depends on audio_frame_queue
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
8837f4396a
libopencore-amrwb: Make AMR-WB ifdeffery more precise
...
The library might provide an encoder in the future, so it's better to
check for the presence of the decoder rather than just the library.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
e6bda9a9fd
libopencore-amr: Conditionally compile decoder and encoder bits
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun
56632fef65
libopencore-amrnb: cosmetics: Group all encoder-related code together
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:24 +01:00
Luca Barbato
0b70fb1d51
dsputil: convert remaining op_pixels_func
...
Convert to diffptr_t the line_size parameters still int.
Remove all the warnings in dsputil.c
2013-02-17 12:03:24 +01:00
Michael Niedermayer
488f87be87
roqvideodec: check dimensions validity
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ae6104511
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fee26d352a
)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer
f7d18deb73
vqavideo: check chunk sizes before reading chunks
...
Fixes out of array writes
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6c9332bf
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 13093f9767
)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer
39bec05ed4
qdm2: check array index before use, fix out of array accesses
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a7ee6281f7
)
CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Anton Khirnov
1f8f43a5b5
error_resilience: add required headers.
2013-02-17 06:46:43 +01:00
Anton Khirnov
2c54155407
h264: deMpegEncContextize
...
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.
The nontrivial parts are:
1) extracting a simplified version of the frame management code from
mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
its own more complex system already and those were set only to appease
the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
for dxva, the draw_horiz_band() call is moved from
ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
because it's now different for h264 and MpegEncContext-based
decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
added some very simplistic frame management instead and dropped the
use of ff_h264_frame_start(). Because of this I also had to move some
initialization code to svq3.
Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-15 16:35:16 +01:00
Anton Khirnov
1d0feb5d1a
mpegvideo: split ff_draw_horiz_band().
...
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Anton Khirnov
54974c6298
error_resilience: decouple ER from MpegEncContext
2013-02-15 16:10:11 +01:00
Anton Khirnov
d9ebb00dcb
svq3: remove a pointless if()
...
The H264 context is always uninitialized at this point.
2013-02-15 16:09:52 +01:00
Anton Khirnov
2491f9ee29
h264: remove a pointless if()
...
!encoding is always true, we do not have a H.264 encoder
2013-02-15 16:09:45 +01:00
Anton Khirnov
68f930d218
h264: simplify calls to ff_er_add_slice().
...
partitioned_frame is never set for h264 (as easily seen from git grep).
2013-02-15 16:09:37 +01:00
Anton Khirnov
d2a25c4032
get_buffer(): do not initialize the data.
...
There may be more decoders that rely on this. Those should be found and
fixed.
2013-02-15 16:08:44 +01:00
Diego Biurrun
3594554a06
sparc: dsputil: Simplify high_bit_depth checks
2013-02-15 02:13:42 +01:00
Diego Biurrun
49fe280753
h264idct: Replace duplicate scan8 table by appropriate #include
2013-02-15 00:14:15 +01:00
Diego Biurrun
c6507946d4
dsputil: Move STRIDE_ALIGN macro to the only place it is used
2013-02-13 20:23:39 +01:00
Justin Ruggles
8ae50d87e7
ws-snd1: decode directly to the user-provided AVFrame
2013-02-12 12:22:40 -05:00
Justin Ruggles
5a7288822f
wmavoice: decode directly to the user-provided AVFrame
2013-02-12 12:22:40 -05:00
Justin Ruggles
205a95f7b5
wmaenc: alloc/free coded_frame instead of keeping it in the WMACodecContext
2013-02-12 12:22:40 -05:00
Justin Ruggles
c815ca3641
wma: decode directly to the user-provided AVFrame
2013-02-12 12:22:40 -05:00
Justin Ruggles
f4a283eec4
wmapro: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
9873d71f31
wavpack: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
ee6ca11b65
vorbis: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
f80f8dd4c2
vmdaudio: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
3b7d43383f
twinvq: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
ad2104ba44
tta: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
3997fef952
truespeech: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
4a2b26fc1b
tak: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
903b62cc0b
smackaud: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
09d6831f49
sipr: decode directly to the user-provided AVFrame
2013-02-12 12:22:39 -05:00
Justin Ruggles
fed74c0ae4
shorten: decode directly to the user-provided AVFrame
2013-02-12 12:22:38 -05:00
Justin Ruggles
5d5c248c3d
s302m: decode directly to the user-provided AVFrame
2013-02-12 12:22:38 -05:00
Justin Ruggles
79fb2a1f17
ra288: decode directly to the user-provided AVFrame
2013-02-12 12:22:38 -05:00
Justin Ruggles
f7e8c87c02
ra144: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
cbeb3ed38d
ralf: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
e01e1a4673
qdm2: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
1b9b6d6e5e
qcelp: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
0905c96390
pcm-bluray: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
0fe4056f95
nellymoser: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
3a23752c5a
mpc7/8: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
2c785e250a
mpegaudio: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
dc33fbbfd0
mlp/truehd: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
86bfcfcf23
mace: decode directly to the user-provided AVFrame
2013-02-12 12:21:23 -05:00
Justin Ruggles
bed957bb11
libspeex: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
19b2cb268f
libopus: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
0cd08367dd
libopencore-amr: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
4f69612d3e
libgsm: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
a8ea936a0a
libilbc: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
b878867128
dpcm: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
9b28e58357
imc/iac: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
6fdfdb23d3
gsm: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
cb7b47a61d
g726: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
7e52fd6bca
g723.1: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
036e9b045f
g722: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
b8e9c99ef1
flac: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
97c7bdc6d4
cinaudio: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
182821cff4
dca: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
7b78321597
cook: decode directly to the user-provided AVFrame
2013-02-12 12:21:22 -05:00
Justin Ruggles
cddf8998f1
comfortnoise: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
e42e5a89d6
bmvaudio: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
a6bb39add2
pcm: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
5cc0bd2cb4
binkaudio: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
9a75ace2b2
atrac3: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
0ded61b57a
atrac1: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
5932e2d7d2
ape: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
da28bb3f4a
amrwb: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
e3db34291f
amrnb: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
9b0b355e97
als: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
5cd597f22f
alac: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
bae4f47938
adxenc: alloc/free coded_frame instead of keeping it in the ADXContext
2013-02-12 12:21:21 -05:00
Justin Ruggles
0588935e64
adx: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
e57daa876b
adpcm: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
55d2e12aef
ac3: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
ffd2123095
aac: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Justin Ruggles
a3de4010c2
8svx: decode directly to the user-provided AVFrame
2013-02-12 12:21:21 -05:00
Daniel Kang
b3f2a3fe3f
x86: mpeg4qpel: Make movsxifnidn do the right thing
...
Fixes an instruction that does nothing by changing the
source to dword.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-11 20:17:15 +01:00
Martin Storsjö
4c51fe48ba
h264: Copy h264chroma dsp context to slice thread copies
...
This fixes slice threading which seems to have been broken since
79dad2a93
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-11 21:12:21 +02:00
Diego Biurrun
6fb296e97e
avcodec/rectangle: Remove nonsense assert
2013-02-11 16:23:09 +01:00
Derek Buitenhuis
375ef6528c
libfdk-aacenc: Actually check for upper bounds of cutoff
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-11 10:15:42 -05:00
Diego Biurrun
d46d87d1d3
sparc: dsputil_vis: Fix silly variable name search and replace typo
2013-02-10 22:23:43 +01:00
Diego Biurrun
8658e1c682
mss4, ra288: Remove unused DSPContext local codec context members
2013-02-09 14:32:06 +01:00
Diego Biurrun
5d3d39c72e
dsputil: Move fdct function declarations to dct.h
2013-02-09 00:08:28 +01:00
Diego Biurrun
218aefce44
dsputil: Move LOCAL_ALIGNED macros to libavutil
2013-02-08 23:13:37 +01:00
Diego Biurrun
059866eb17
dsputil: Move WRAPPER8_16_SQ macro to the only place it is used
2013-02-08 23:10:17 +01:00
Diego Biurrun
bf6b3ec924
dsputil: Move rnd_avg inline functions to a separate header
2013-02-08 23:10:17 +01:00
Diego Biurrun
b9c2408b19
dsputil: Remove commented-out, unused function declarations
2013-02-08 23:10:16 +01:00
Diego Biurrun
35685a3c2a
dsputil: Move ff_shrink* function declarations to separate header
2013-02-07 22:08:19 +01:00
Diego Biurrun
75d5156ac1
dsputil: Move ff_svq3 function declarations to a separate header
2013-02-07 22:08:19 +01:00
Diego Biurrun
6a44304074
dsputil: Move ff_h264_idct function declarations to a separate header
2013-02-07 22:08:19 +01:00
Diego Biurrun
b9ba5253dd
dsputil: Move copy_block functions to a separate header
2013-02-07 22:08:19 +01:00
Diego Biurrun
9e31729d69
dsputil: Drop unused functions copy_block{2|4|16}
2013-02-07 22:08:19 +01:00
Mans Rullgard
b9ee5f2cab
indeo3: replace use of copy_block4 with put_pixels
...
The destination is sufficiently aligned for put_pixels here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-07 22:08:19 +01:00
Mans Rullgard
ed62e6e3c3
mjpegdec: use put_pixels instead of copy_block8
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-07 22:08:19 +01:00
Diego Biurrun
b5b7b75e91
dsputil: Move get_penalty_factor() to the only place it is used.
2013-02-07 22:05:25 +01:00
Diego Biurrun
0b016eb99d
dsputil: Move ff_block_permute to mpegvideo_enc
2013-02-07 22:05:25 +01:00
Daniel Kang
a1d3673034
dsputil: x86: Fix compile error
...
Accidentally prefixed ff_ with cextern.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-07 11:06:16 +02:00
Daniel Kang
659d4ba5af
dsputil: x86: Convert h263 loop filter to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-06 15:38:27 -08:00
Anton Khirnov
12b54a1f39
mpegvideo: remove an unused function parameter
2013-02-06 21:48:48 +01:00
Anton Khirnov
605b047bcc
rv10: improve buffer size check.
...
Check slice count and input buffer size before constructing a possibly
invalid pointer, not after.
2013-02-06 21:47:57 +01:00
Anton Khirnov
c5fcdb4402
error_resilience: remove a useless if() and FIXME
...
pp_time is never set for h264
2013-02-06 21:46:55 +01:00
Anton Khirnov
9782c778a2
h264: remove silly macros
...
They serve no useful purpose and wreak all kind of havoc when h264.h is
included elsewhere.
2013-02-06 21:45:02 +01:00
Anton Khirnov
ca1fe6c0e6
h263: remove an unused parameter from ff_h263_decode_init_vlc
2013-02-06 21:44:38 +01:00
Tim Walker
9d083d6417
flac: add channel layout masks for streams with 7 or 8 channels.
...
They were added to the latest FLAC specification:
https://git.xiph.org/?p=flac-website.git;a=commit;h=65c199a2
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:44:06 +01:00
Tim Walker
41244e13d5
flac: don't check the number of channels before setting the channel layout.
...
This is unnecessary, as ff_flac_set_channel_layout can handle any number of channels.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:43:05 +01:00
Martin Storsjö
a846dccb29
h264chroma: x86: Fix building with yasm disabled
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-06 17:05:33 +02:00
Diego Biurrun
82bd04b170
rv34: Drop now unnecessary dsputil dependencies
2013-02-06 11:30:54 +01:00
Diego Biurrun
79dad2a932
dsputil: Separate h264chroma
2013-02-06 11:30:53 +01:00
Anton Khirnov
293065bdb5
mpegvideo: initialize dummy reference frames.
...
Do not rely on get_buffer initializing them.
Changes yadif tests (off by one in one border pixel), because yadif
reads from those uninitialized lines.
2013-02-06 10:21:52 +01:00
Anton Khirnov
dff6197dfb
nuv: do not rely on get_buffer() initializing the frame.
2013-02-06 10:21:52 +01:00
Anton Khirnov
39a9fdd00f
yop: initialize palette to 0
...
The FATE sample contains some pixels with value 0, but the palette
stored in the file contains only values from 16 up. Because the default
and cmdutils get_buffer() initialize the data to 0x80, they appear as
gray dots.
After this commit they change to black dots, which is probably still
incorrect but less visible and doesn't rely on get_buffer() initializing
the data.
2013-02-06 10:21:52 +01:00
Anton Khirnov
8136f23444
yop: check for input overreads.
...
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov
06cf597c35
yop: check that extradata is large enough.
...
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov
89f11f498b
qtrle: fix the topmost line for 1bit
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov
685e6f2e39
xxan: properly handle odd heights.
...
Duplicate the last one or two chroma lines.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov
2cd4068071
fraps: fix off-by one bug for version 1.
...
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov
da7baaaae7
aasc: fix output for msrle compression.
...
The bottom line was invalid before.
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov
9bd6375d5f
msrledec: check bounds before constructing a possibly invalid pointer,
...
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov
238614de67
cdgraphics: do not rely on get_buffer() initializing the frame.
...
Setting it to zero (instead of 128, as the default get_buffer() does)
also produces more correctly-looking output.
2013-02-06 10:21:52 +01:00
Anton Khirnov
6ed9fc44ba
svq1: replace struct svq1_frame_size with an array.
...
It is used as an array in svq1enc, so this is more correct.
2013-02-06 10:21:52 +01:00
Vladimir Pantelic
77bcb89600
vc1dec: use codec_id instead of codec_tag for VC1IMAGE
...
the rest of the code is using codec_id everywhere already
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-02-06 09:34:32 +01:00
Luca Barbato
b2a722a87e
sh4: drop unused functions
...
{avg,put}_pixels4_c are not used.
2013-02-05 23:24:05 +01:00
Diego Biurrun
620289a20e
sh4: Fix silly type vs. variable name search and replace typo
2013-02-05 22:53:44 +01:00
Diego Biurrun
c9f933b5b6
Add av_cold attributes to arch-specific init functions
2013-02-05 17:01:05 +01:00
Diego Biurrun
25841dfe80
Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
...
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
2013-02-05 12:59:12 +01:00
Anton Khirnov
d9df93efbf
mpegvideo: simplify REBASE_PICTURE
...
Always evaluate to NULL when the source Picture is not located in the
MpegEncContext.picture array. That will only happen for
next/last_picture_ptr when updating the thread context during h264 frame
threaded decoding, where they will point to elements of ref_list. Since
ref_list is not copied during updating the context and is invalid until
it is constructed for the current slice, there is no point in doing
anything complicated with next/last_picture_ptr, as they will get
updated when the ref_list is filled.
2013-02-04 06:17:15 +01:00
Diego Biurrun
6c1a7d07eb
Use proper "" quotes for local header #includes
2013-02-01 12:51:15 +01:00
Diego Biurrun
4eef2ed707
ppc: fmtconvert: Drop two unused variables.
2013-02-01 12:51:13 +01:00
Anton Khirnov
f2960097e4
bink: fix a check for the first frame.
...
Packet pts is a very unreliable indicator, use
AVCodecContext.frame_number instead.
2013-02-01 12:41:31 +01:00
Diego Biurrun
52acd79165
x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
2013-01-31 11:19:23 +01:00
Martin Storsjö
a65f965c04
mpegvideo: Do REBASE_PICTURE with byte pointers
...
REBASE_PICTURE (more specifically, this half of it) takes a Picture
pointer that points into one larger struct, finds the offset of
that Picture within the struct and finds the corresponding field
within another instance of a similar struct.
The pointer difference "pic - (Picture*)old_ctx" is a value given
in sizeof(Picture) units, and when applied back on
(Picture*)new_ctx gets multiplied back with sizeof(Picture). Many
compilers seem to optimize out this division/multiplication, but
not all do.
GCC 4.2 on OS X doesn't seem to remove the division/multiplication,
therefore the new pointer didn't turn out to point to exactly
the right place in the new struct since it only had sizeof(Picture)
granularity (and the Picture is not aligned on a sizeof(Picture)
boundary within the encompassing struct). This bug has been present
before 47318953d
as well - with H264, pointers to h->ref_list[0][0]
pointed to 88 bytes before h->ref_list[0][0] after the rebase. After
shrinking Picture, the difference ended up even larger, making
writes via such a Picture pointer overwrite other fields at random
in H264Context, ending up in crashes later.
This fixes H264 multithreaded decoding on OS X with GCC 4.2.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-31 10:51:36 +02:00
Ronald S. Bultje
a5ba798c16
dsputil: remove unused functions copy_block{2, 4, 8, 16}.
2013-01-30 14:18:06 +01:00
Luca Barbato
4e0bc996d9
bfin: unbreak compilation
...
Added a missing header file.
2013-01-29 14:59:21 +01:00
Anton Khirnov
76e74e4831
h264: remove obsolete comment.
2013-01-29 07:32:47 +01:00
Anton Khirnov
47318953dd
mpegvideo: remove some unused variables from Picture.
2013-01-29 07:32:36 +01:00
Anton Khirnov
231fd1ed39
utvideoenc/v410enc: do not set AVFrame.reference.
...
That field will be deprecated.
2013-01-29 07:32:21 +01:00
Anton Khirnov
e6b1c3bbe7
pthread: make ff_thread_release_buffer idempotent.
...
I.e. don't do anything on already released frames.
2013-01-29 07:32:10 +01:00
Anton Khirnov
aec50f79e7
rawdec: use AVPALETTE_SIZE instead of magic constants.
2013-01-29 07:31:43 +01:00
Anton Khirnov
e6da5d215b
mimic: remove a pointless cast.
2013-01-29 07:31:24 +01:00
Anton Khirnov
30d62507cd
mdec: return meaningful error codes.
2013-01-29 07:31:15 +01:00
Anton Khirnov
f713411d4c
mdec: cosmetics, reformat
2013-01-29 07:27:36 +01:00
Anton Khirnov
098eed95bc
mdec: merge mdec_common_init() into decode_init().
...
There is no point in keeping those two functions separate.
2013-01-29 07:27:23 +01:00
Anton Khirnov
f1c395944c
eatgv: use fixed-width types where appropriate.
2013-01-29 07:27:08 +01:00
Diego Biurrun
c59211b437
x86: Simplify some arch conditionals
2013-01-29 00:10:53 +01:00
Diego Biurrun
438ea561ad
bfin: Separate VP3 initialization code
2013-01-28 21:03:12 +01:00
Luca Barbato
f550583c00
bfin: update VP3 idct
...
The block must be set to 0.
2013-01-28 21:00:59 +01:00
Michael Niedermayer
834e9fb056
x86: hpeldsp: Fix a typo, use the right register
...
This makes the code actually work.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 12:49:37 +02:00
Luca Barbato
4839fbe2d1
shorten: fix array subscript is below array bounds warning
...
Incidentally fixes alpha builds.
2013-01-28 07:24:51 +01:00
Daniel Kang
05b0998f51
dsputil: Fix error by not using redzone and register name
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-28 07:23:20 +01:00
Martin Storsjö
2026eb1408
arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
...
This makes the plain-armv6 version use the same registers as the
armv6t2 version above.
This fixes fate-vp8 on plain-armv6 devices.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-27 13:17:25 +02:00
Daniel Kang
96753bd00d
dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
...
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:48 +01:00
Daniel Kang
0eedf5d74d
dsputil: add missing HAVE_YASM guard
...
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:46 +01:00
Rémi Denis-Courmont
78bc4d69eb
hwaccel: do not offer unsupported pixel formats
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Rémi Denis-Courmont
ec0e92002b
vdpau: add missing pixel format for H.264
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Daniel Kang
71155d7b41
dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 06:45:31 +01:00
Ronald S. Bultje
f90ff772e7
Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm.
2013-01-26 20:35:42 -08:00
Anton Khirnov
04f4dbc2fa
mpegvideo_enc: fix indentation in load_input_picture()
2013-01-26 13:08:38 +01:00
Anton Khirnov
3f47d316cd
mpegvideo_enc: do not modify the input frame.
2013-01-26 13:08:32 +01:00
Anton Khirnov
7bcaeb408e
mjpegdec: fix indentation
2013-01-26 13:08:07 +01:00
Anton Khirnov
0ce033f888
rawdec: cosmetics, reformat
2013-01-26 13:07:41 +01:00
Anton Khirnov
b965cb906b
mimic: return meaningful error codes.
2013-01-26 13:06:41 +01:00
Anton Khirnov
a0cabd0a27
mimic: cosmetics, reformat
2013-01-26 13:04:15 +01:00
Anton Khirnov
04e1249609
iff: drop ff_ prefix from a static function.
2013-01-26 13:02:33 +01:00
Anton Khirnov
9221c0af77
pngdec: cosmetics, reformat.
...
Also remove a commented out line.
2013-01-26 13:02:19 +01:00
Anton Khirnov
edb2426b75
dxa: return meaningful error codes.
2013-01-26 13:01:14 +01:00
Anton Khirnov
adf0110d87
eatgq: cosmetics, reformat.
2013-01-26 13:00:59 +01:00
Anton Khirnov
f337c29017
eatgq: return meaningful error codes.
2013-01-26 12:56:39 +01:00
Anton Khirnov
4b7598e2fe
eatgv: cosmetics, reformat
2013-01-26 12:56:24 +01:00
Anton Khirnov
ade402804a
eatgv: return meaningful error codes.
2013-01-26 12:54:35 +01:00
Anton Khirnov
0859eaa012
cyuv: return meaningful error codes.
2013-01-26 12:54:23 +01:00
Anton Khirnov
6837bd6e49
txd: return meaningful error codes.
2013-01-26 12:54:07 +01:00
Anton Khirnov
69c25c9284
dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
...
Do not assume that frame dimensions are mod16 (or that height is mod32
for interlaced).
CC:libav-stable@libav.org
2013-01-26 12:30:08 +01:00
Diego Biurrun
033a86f9bb
x86: h264qpel: Move stray comment to the right spot and clarify it
2013-01-26 11:19:22 +01:00
Michael Karcher
0e3afacd4d
atrac3: use correct loop variable in add_tonal_components()
...
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-25 16:16:24 -05:00
Gavriloaie Eugen-Andrei
29b553c1a6
libx264: introduce -x264-params private option
...
It is a shortcut to set all the params using x264_param_parse,
makes simpler importing settings from other software using x264.
2013-01-25 17:20:03 +01:00
Vittorio Giovara
a84fb6e06f
h264: Allow discarding the cropping information from SPS
...
Some 3D systems overload the meaning of the field for other purposes.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 07:50:35 +01:00
Diego Biurrun
33552a5f7b
arm: Add mathops.h to ARCH_HEADERS list
...
It is an arch-specific header not suitable for standalone compilation.
2013-01-24 20:59:22 +01:00
Janne Grunau
c5c2060cf5
x86: h264qpel: add cpu flag checks for init function
...
The code was copied from per cpu extension init function so the checks
for supported extensions was overlooked.
2013-01-24 19:03:59 +01:00
Janne Grunau
6bdb841b46
h264: copy h264qpel dsp context to slice thread copies
2013-01-24 17:06:52 +01:00
Janne Grunau
8e148b8742
arm: h264qpel: use neon h264 qpel functions only if supported
2013-01-24 17:06:52 +01:00
Mans Rullgard
e9d817351b
dsputil: Separate h264 qpel
...
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-24 10:44:43 +01:00
Martin Storsjö
57ed8debb9
wmv2: Propagate the wmv2 idct permutation type to the dsputils context
...
This fixes encoding where the idct setting originally was set to
FF_IDCT_AUTO and dsputil chose a default idct with a non-null
permutation - even if the permutation tables were updated,
dct_quantize in x86/mpegvideoenc_template.c also checked the
value of this type variable.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 00:32:35 +02:00
Ronald S. Bultje
baf35bb4bc
dsputil: remove one array dimension from avg_no_rnd_pixels_tab.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
2612c4dc78
dsputil: remove 9/10 bits hpel functions.
...
These are never used.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
2bef1a83d7
dsputil: remove some never-assigned function pointers from the struct.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje
32ff643228
dsputil: remove avg_no_rnd_pixels8.
...
This is never used.
2013-01-22 18:41:36 -08:00
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje
2e4bb99f4d
vorbisdsp: convert x86 simd functions from inline asm to yasm.
2013-01-22 18:02:24 -08:00
Ronald S. Bultje
0ee8293a77
vp3dsp: don't do aligned reads on input.
...
The input is not guaranteed to be aligned.
2013-01-22 17:32:07 -08:00
Tim Walker
40cf1add12
mlp_parser: cosmetics: re-indent.
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
ed1b01131e
mlp: implement support for AVCodecContext.request_channel_layout.
...
Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
b0c7e3ffd0
mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.
...
Allows users to configure the output based on what's actually decoded, rather than the full native layout.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker
1fd2deedcc
mlpdec: set the channel layout.
...
Fixes bug 401.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker
3ffcccb4fb
mlpdec: TrueHD: use Libav channel order.
...
Fixes bug 208.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker
99ccd2ba10
mlp: store the channel layout for each substream.
...
Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Diego Biurrun
73b704ac60
arm: Add some missing header #includes
2013-01-22 21:24:10 +01:00
Ronald S. Bultje
d56668bd80
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
...
This makes the aac decoder and all voice codecs independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
5959bfaca3
floatdsp: move butterflies_float from dsputil to avfloatdsp.
...
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
55aa03b9f8
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
2013-01-22 11:55:42 -08:00
Michael Smith
0881cbf314
proresdec: support mixed interlaced/non-interlaced content
...
Set interlaced to false if we don't have an interlaced frame
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-22 05:40:57 +01:00
Ronald S. Bultje
4a73fbd9c5
vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.
...
The function is only used in VP3 and VP5, so no need to have it in
DSPContext.
2013-01-21 18:08:55 -08:00
Diego Biurrun
4f56e773fe
x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
...
CC: libav-stable@libav.org
2013-01-21 23:54:32 +01:00
Luca Barbato
9146e872c6
Revert "fate: Use wmv2 IDCT for wmv2 tests"
...
This reverts commit ce378f0dd0
.
2013-01-21 19:43:53 +01:00
Diego Biurrun
4af5310d29
get_bits/put_bits: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21 17:03:41 +01:00
Daniel Kang
9f00b1cbab
dsputilenc: x86: Convert pixel inline asm to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 09:54:10 +01:00
Brad Smith
c7df1532e5
libgsm: detect libgsm header path
...
Libgsm header can reside either in the base include dir or in
the gsm subdir.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 07:59:35 +01:00
Ronald S. Bultje
ce378f0dd0
fate: Use wmv2 IDCT for wmv2 tests
2013-01-21 07:35:54 +01:00
Ronald S. Bultje
1768e43ceb
vorbisdsp: change block_size type from int to intptr_t.
...
This saves one instruction in the x86-64 assembly.
2013-01-20 22:26:42 -08:00
Ronald S. Bultje
93af2734ee
lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
...
This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
2013-01-20 22:15:28 -08:00
Ronald S. Bultje
e6bc38fd49
wmv2: move IDCT to its own DSP context.
...
This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.
Fate tests for all wmv2-related tests change, because (for some obscure
reason) they forced use of the MPEG IDCT. You would get the same changes
previously by not using -idct simple in the fate test (or replacing it
with -idct auto).
2013-01-20 22:12:35 -08:00
Ronald S. Bultje
8a4f26206d
dsputil: remove butterflies_float_interleave.
...
The function is unused.
2013-01-20 21:57:35 -08:00
Mathias Rauen
04ea5491a8
ac3dec: fix non-optimal dithering of zero bit mantissas
...
Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-20 14:20:47 -05:00
Diego Biurrun
d9bf716945
ppc: vorbisdsp: Drop some unnecessary #includes
...
Also fixes compilation with AltiVec disabled.
2013-01-20 17:38:11 +01:00
Martin Storsjö
d160a2fb4c
ppc: Include string.h for memset
...
This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:10:21 +02:00
Janne Grunau
68f18f0351
videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
...
libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.
CC: libav-stable@libav.org
2013-01-20 15:20:00 +01:00
Mans Rullgard
0b711ca3f3
dsputil: drop non-compliant "fast" qpel mc functions
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-20 14:50:42 +01:00
Luca Barbato
4603ec85ed
get_bits: change the failure condition in init_get_bits
...
Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.
Check for NULL buffer instead.
2013-01-20 13:37:56 +01:00
Ronald S. Bultje
0e02b381b4
Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.
...
The function is never used.
2013-01-19 22:37:45 -08:00
Ronald S. Bultje
fef906c77c
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
...
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
2013-01-19 22:21:10 -08:00
Ronald S. Bultje
aeaf268e52
vp3: integrate clear_blocks with idct of previous block.
...
This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).
Arm asm updated by Janne Grunau <janne-libav@jannau.net>.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2013-01-19 22:04:55 -08:00
Xi Wang
992b031838
mpegvideo: fix loop condition in draw_line()
...
The loop condition `x = ex' is incorrect. It should be `x <= ex'.
This bug was introduced in commit c65dfac4
"mpegvideo.c: K&R formatting
and cosmetics."
CC:libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 22:20:43 +01:00
Clément Bœsch
40976257bc
dvdsubdec: parse the size from the extradata
...
Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 15:12:58 +01:00
Diego Biurrun
822b0728f0
x86: dsputil: Drop some unused macro definitions
2013-01-18 22:24:58 +01:00
Anton Khirnov
940b8b5861
h264: avoid pointless copying of ref lists
...
ref_list is constructed from other fields per slice when needed, so do
not copy it for both frame and slice threading.
default_ref_list is constructed per frame and still needs to be copied
to per-slice contexts for slice threading, but a copy is not needed for
frame threading.
2013-01-18 07:56:05 +01:00
Xi Wang
783e37f7ef
rv30: fix masking in rv30_loop_filter()
...
The mask `x && (1 << y)' is incorrect and always yields true.
The correct form should be `x & (1 << y)'.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 21:55:27 +01:00
Luca Barbato
80ac87c13d
lavc: support ZenoXVID custom tag
...
Looks like this kind of samples are produced by certain Russian
equipment.
2013-01-17 21:41:18 +01:00
Martin Storsjö
e33db35b4a
theora: Skip zero-sized headers
...
This fixes a regression since d9cf5f51
with theora over RTP
(possibly with other variants of theora as well).
In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51
worked just fine. After
d9cf5f51
, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:06:56 +02:00
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Ronald S. Bultje
fb845ffdd3
h264: add 3 pixels below for subpixel filter wait position
...
If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.
This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:00:34 +01:00
Joakim Plate
f924d52975
dvdsubdec: Support palette in mkv
...
Matroska stores palette information as plain text in extradata.
Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 20:51:51 +01:00
Diego Biurrun
dae1d507af
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
2013-01-15 17:29:43 +01:00
Diego Biurrun
0b22107d95
rv34_parser: Adjust #if for disabling individual parsers
...
As CONFIG_ values are always defined, they have to be checked via #if.
2013-01-15 16:20:14 +01:00
Luca Barbato
47812070a2
libx264: use the library specific default rc_initial_buffer_occupancy
...
By default libav sets it to 3/4 while x264 sets it to 9/10.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Luca Barbato
bff3607547
lavc: set the default rc_initial_buffer_occupancy
...
rc_buffer_size is not set before.
Solve the initial the rate control underflow issue reported in
bug 222.
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Diego Biurrun
51969a652c
x86: ABS2: port to cpuflags
2013-01-14 21:56:55 +01:00
Rémi Denis-Courmont
171f1446f0
vdpau: Remove av_unused attribute from function declaration
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 21:56:55 +01:00
Anton Khirnov
ea382767ad
h264: fix ff_generate_sliding_window_mmcos() prototype.
...
It's been returning an error value since
bad446e251
Also check for the errors it returns.
2013-01-14 21:36:08 +01:00
Maximilian Seesslen
055b373080
libtheoraenc: fix granularity of video quality
...
The floating point version of av_clip has to be used when
converting the quality level.
Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Ronald S. Bultje
bad446e251
h264: don't clobber mmco opcode tables for non-first slice headers.
...
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.
Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.
This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 19:20:47 +01:00
Luca Barbato
3f111804eb
libvpx: make vp8 and vp9 selectable
...
Support older libvpx versions.
2013-01-14 19:20:47 +01:00
Luca Barbato
dab1f543fc
libvpx: support vp9
...
This feature is experimental use at your risk
2013-01-14 19:20:47 +01:00
Tom Finegan
66aabd76a9
mkv: support vp9 tag
2013-01-14 19:20:47 +01:00
Diego Biurrun
ba0c72a9ae
build: Remove stray Makefile entry for non-existent VCR1 encoder
2013-01-14 17:02:04 +01:00
Michael Niedermayer
30aeada3d8
svq1enc: Fix assignments in if()
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:49 +02:00