1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-05 23:58:59 +02:00
Commit Graph

18535 Commits

Author SHA1 Message Date
Anton Khirnov
e8ef8a328c rpza: use the AVFrame API properly. 2013-11-16 13:27:07 +01:00
Anton Khirnov
e52f38bc2e motionpixels: use the AVFrame API properly. 2013-11-16 13:26:50 +01:00
Anton Khirnov
aca214783a vmdvideo: use the AVFrame API properly. 2013-11-16 13:25:56 +01:00
Anton Khirnov
3c8ea9d4a7 vmnc: use the AVFrame API properly. 2013-11-16 13:25:29 +01:00
Anton Khirnov
04f30711d8 xan: use the AVFrame API properly. 2013-11-16 13:25:17 +01:00
Anton Khirnov
f3cd23fbc8 xxan: use the AVFrame API properly. 2013-11-16 13:24:56 +01:00
Anton Khirnov
6886a85f5c zerocodec: use the AVFrame API properly. 2013-11-16 13:24:44 +01:00
Anton Khirnov
a837c4f2df zmbvenc: use the AVFrame API properly. 2013-11-16 13:24:10 +01:00
Anton Khirnov
d100f9e7cd flicvideo: use the AVFrame API properly. 2013-11-16 13:23:59 +01:00
Anton Khirnov
84099f51f3 smacker: use the AVFrame API properly. 2013-11-16 13:23:38 +01:00
Anton Khirnov
5c96f02901 mmvideo: use the AVFrame API properly. 2013-11-16 13:23:14 +01:00
Anton Khirnov
2e09096da9 kgv1: use the AVFrame API properly. 2013-11-16 13:23:05 +01:00
Anton Khirnov
79d501a860 indeo2: use the AVFrame API properly. 2013-11-16 13:21:02 +01:00
Anton Khirnov
4b8a194146 iff: use the AVFrame API properly. 2013-11-16 13:20:44 +01:00
Anton Khirnov
c5dfb9033f msrle: use the AVFrame API properly. 2013-11-16 13:20:19 +01:00
Anton Khirnov
b7462a3904 jvdec: use the AVFrame API properly. 2013-11-16 12:52:54 +01:00
Anton Khirnov
2d2a92f721 dxa: use the AVFrame API properly. 2013-11-16 12:52:36 +01:00
Anton Khirnov
55f954e767 qpeg: use the AVFrame API properly. 2013-11-16 12:52:18 +01:00
Anton Khirnov
01de3c1dd5 cin video: use the AVFrame API properly. 2013-11-16 12:52:02 +01:00
Anton Khirnov
ef2a99c7f4 msvideo1: use the AVFrame API properly. 2013-11-16 12:51:08 +01:00
Anton Khirnov
a639ea7f4b escape124: use the AVFrame API properly. 2013-11-16 12:49:45 +01:00
Anton Khirnov
224b6edd8b qtrle: use the AVFrame API properly. 2013-11-16 12:49:18 +01:00
Anton Khirnov
845020ed89 cljr: use the AVFrame API properly. 2013-11-16 12:49:01 +01:00
Anton Khirnov
4a8a35bc1f cinepak: use the AVFrame API properly. 2013-11-16 12:48:30 +01:00
Anton Khirnov
cec5ce4922 cdxl: remove an unused variable 2013-11-16 12:48:25 +01:00
Anton Khirnov
670c74518f c93: use the AVFrame API properly. 2013-11-16 12:47:49 +01:00
Anton Khirnov
a83fd5010c bethsoftvid: use the AVFrame API properly. 2013-11-16 12:47:15 +01:00
Anton Khirnov
33329c6e87 avs: use the AVFrame API properly. 2013-11-16 12:46:20 +01:00
Anton Khirnov
6139f481ac asvenc: use the AVFrame API properly. 2013-11-16 12:45:29 +01:00
Anton Khirnov
13e9cc9ce0 a64multienc: use the AVFrame API properly. 2013-11-16 12:45:05 +01:00
Anton Khirnov
b9fb59d2ab lavc: deprecate avcodec_alloc_frame(). 2013-11-16 12:44:50 +01:00
Anton Khirnov
5b9c3b4505 Replace all instances of avcodec_alloc_frame() with av_frame_alloc(). 2013-11-16 12:44:20 +01:00
Anton Khirnov
2ff302cb6b lavc: update coded_frame doxy.
It is not used during decoding anymore.
2013-11-16 12:41:50 +01:00
Anton Khirnov
b068660ffa lavc: deprecate CODEC_CAP_NEG_LINESIZES
It was never used in any codec since it was added 3 years ago.
2013-11-16 12:41:40 +01:00
Ronald S. Bultje
72ca830f51 lavc: VP9 decoder
Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>

Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-15 10:16:28 +01:00
Ronald S. Bultje
458446acfa lavc: Edge emulation with dst/src linesize
Allow supporting files for which the image stride is smaller than
the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9
file or a 16x16 VP8 file with -fflags +emu_edge.
2013-11-15 10:16:27 +01:00
Diego Biurrun
3cbe112653 dv: Split DV data table declarations into their own header
This is necessary to avoid target config settings bleeding into the host
compilation process with hardcoded tables and the DV VLC tables no longer
present as static tables in a header file.
2013-11-15 01:29:47 +01:00
Anton Khirnov
9eda9d3322 h264: free the tables and uninitialize the context on flush
Prevents referencing empty frames when the first packet after the flush
does not contain a frame.
2013-11-14 19:00:20 +01:00
Diego Biurrun
ad1161799e mpeg12dec: Remove outdated UV swapping code for VCR2 2013-11-14 14:21:27 +01:00
Kostya Shishkov
669fe50595 twinvq: consume block_align+1 packets as full ones
They can be produced by VQF.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov
1afa8a7568 twinvq: support multiple frames per packet
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Kostya Shishkov
ddb839e928 metasound: add missing modes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-14 13:38:10 +01:00
Diego Biurrun
7b9780e7bf mpeg12dec: Remove unused swap_uv member from Mpeg1Context 2013-11-14 12:46:00 +01:00
Anton Khirnov
cce3e0a49f Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
Anton Khirnov
aa24122989 lavc: deprecate FF_MAX_B_FRAMES
We should not arbitrarily decide the maximum B-frame number for all
encoders supported by Libav, each encoder should be able to set its own
limits.
2013-11-14 09:41:03 +01:00
Anton Khirnov
b6094811f9 lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h
They are mpegvideo-specific and not supposed to be used by callers.
2013-11-14 09:40:39 +01:00
Anton Khirnov
b45c87083d lavc: schedule unused FF_QSCALE_TYPE_* for removal on next bump 2013-11-14 09:40:27 +01:00
Anton Khirnov
8941971a8f lavc: make error_rate a private option of mpegvideo encoders 2013-11-14 09:39:43 +01:00
Anton Khirnov
728c465856 vdpau: add a constructor for AVVDPAUContext.
We will likely want to add new fields to it in the future, so this is
needed to avoid breaking ABI.
2013-11-14 09:38:58 +01:00
Anton Khirnov
ca22d1dea2 vdpau: add a convenience function for getting a decoder profile.
Based on the code by Rémi Denis-Courmont <remi@remlab.net> from VLC.
2013-11-14 09:38:50 +01:00
Diego Biurrun
19e30a58fc Deprecate obsolete XvMC hardware decoding support
XvMC has long ago been superseded by newer acceleration APIs, such as
VDPAU, and few downstreams still support it. Furthermore XvMC is not
implemented within the hwaccel framework, but requires its own specific
code in the MPEG-1/2 decoder, which is a maintenance burden.
2013-11-13 21:07:45 +01:00
Diego Biurrun
c7f7bfc9e3 Remove all Alpha architecture optimizations
Alpha has been end-of-lifed and no more test machines are available.
2013-11-13 20:45:49 +01:00
Diego Biurrun
45ef963908 mpegaudioenc: Move some static tables to MpegAudioContext
This reduces global state and the amount of globally visible tables.
2013-11-10 16:07:22 +01:00
Diego Biurrun
5d6a990c11 mpegaudioenc: Remove broken integer-only quantization code path 2013-11-10 16:07:22 +01:00
Luca Barbato
08303d7741 hwaccel: Simplify ff_find_hwaccel
It is always called by passing fields from an AVCodecContext.
2013-11-10 13:59:48 +01:00
Kostya Shishkov
5462dde194 metasound: Fix error message argument
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-08 16:50:17 +01:00
Diego Biurrun
cb56c3961b h263dsp: K&R formatting cosmetics
Also remove array element numbering comments.
2013-11-08 12:41:24 +01:00
Diego Biurrun
0338c39698 dsputil: Split off H.263 bits into their own H263DSPContext 2013-11-08 12:40:47 +01:00
Diego Biurrun
86f910806b Remove #undefs for formerly forbidden system functions
The macros forbidding the system functions no longer exist, obviating
the need for the #undefs.
2013-11-07 00:26:15 +01:00
Diego Biurrun
70cbf33405 vdpau: Add missing #includes to fix standalone header compilation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 22:54:55 +01:00
Diego Biurrun
e2b5b09789 x86: rv40dsp: Use PAVGB instruction macro where appropriate 2013-11-04 21:14:39 +01:00
Yusuke Nakamura
3ef9b7ab95 hevc_ps: Use AV_PIX_FMT_YUVJ420P if YUV 4:2:0 8-bit full scale
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-04 16:19:53 +01:00
Jan Ekström
885ec92425 hevc: Use parsed VUI colorimetry in avcodec
Also limit the parsed VUI values to known valid ones.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-04 16:03:11 +01:00
Jan Ekström
cd8f772d06 lavc: Add colorimetry values for BT.2020, other non-included ones
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-11-04 15:39:33 +01:00
Gian-Carlo Pascutto
454959a5aa aacdec: Set the profile during decoding
Previously the profile would not be set if the bitstream needs
to be decoded to know the profile.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 08:51:26 +01:00
Anton Khirnov
da6506c607 lavc: move AVCodecContext.pkt to AVCodecInternal
It's a private field, not meant to be accessed from outside lavc.
2013-11-04 08:51:26 +01:00
Anton Khirnov
38ecc3702d pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
It's a private field, it should not be visible to callers.

Deprecate AVCodecContext.thread_opaque
2013-11-04 08:51:26 +01:00
Anton Khirnov
daa7a1d443 pthread_slice: rename ThreadContext -> SliceThreadContext
This should prevent confusion with frame threading.
2013-11-04 08:51:26 +01:00
Anton Khirnov
cc14ee03a7 lavc: split slice and frame threading functions into separate files 2013-11-04 08:51:26 +01:00
Anton Khirnov
5cd6513f5b pthread: drop avcodec_ prefixes from static functions 2013-11-04 08:51:26 +01:00
Mikulas Patocka
694d997afe x86: hpeldsp: Use PAVGB instruction macro where necessary
Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-04 01:29:23 +01:00
Vittorio Giovara
3ea5f64fff ansi: fix possible use of uninitialized variables 2013-11-03 11:51:40 +01:00
Vittorio Giovara
c68d4c230a mpeg4video_parser: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-02 12:08:49 +01:00
Vittorio Giovara
dc6ea00cd2 mpeg4video: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-01 22:53:48 +01:00
Luca Barbato
037fea388e flashsv: K&R formatting cosmetics
Also improve some log message wording/spelling.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-11-01 22:32:53 +01:00
Diego Biurrun
1700b4e678 x86: vp8dsp: Split loopfilter code into a separate file 2013-11-01 22:05:20 +01:00
Michael Niedermayer
57070b1468 flashsv: Check diff_start diff_height values
Fix out of array accesses.

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 19:38:53 +01:00
Luca Barbato
4a64e67988 flashsv: Refactor a little 2013-11-01 19:38:53 +01:00
Anton Khirnov
28240a60c1 lavc: move FF_ASPECT_EXTENDED from avcodec.h to h263.h
It's for internal use only.
2013-10-31 20:24:48 +01:00
Anton Khirnov
eb5920c195 lavc: deprecate unused FF_BUG_OLD_MSMPEG4 2013-10-31 20:24:30 +01:00
Anton Khirnov
0300962b76 lavc: schedule FF_BUG_AC_VLC for removal on the next major bump.
It has been deprecated/unused for about 10 years.
2013-10-31 20:23:42 +01:00
Anton Khirnov
f8b2bcd2ad lavc: deprecate FF_DEBUG_VIS_*
Those flags have no effect since
37045e4229.
2013-10-31 20:23:08 +01:00
Anton Khirnov
a1504eee41 lavc: deprecate AVCodecContext.debug_mv
It has been unused since 37045e4229.
2013-10-31 20:22:51 +01:00
Anton Khirnov
ccc7129845 lavc: deprecate FF_DEBUG_MV and remove all traces of its use
It has not been actually used since
37045e4229, when the broken vismv code was
removed.
2013-10-31 20:21:13 +01:00
Guillaume Martres
064698d381 Add HEVC decoder
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:

Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diego Biurrun <diego@biurrun.de>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:19:59 +01:00
Anton Khirnov
0a9e94bba8 webp: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
757d5e8ef9 vp8: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
2e0ab4d314 vp56: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
b53febc1c0 vp3: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
3cfdb912cb txd: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
db92e4ea8d truemotion1: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
c265b8bb76 tiff: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
eed5a478ba targa: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
7fbb75cc70 svq1dec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
9c0ece1b4f sunrast: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
c755870d52 sgidec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
1d389e2a80 rv34: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
ce9f5b13ed rv10: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
e7ea97039d ptx: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
0f21d8b1b4 pictordec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
41ad353dcf pgssubdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
0679416269 pcx: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
6da9c9d381 mpegvideo_parser: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:16 +01:00
Anton Khirnov
13207484bb mpeg4video_parser: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
6c7254722a mpeg12dec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
2cd94ad5bf mjpegdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
b870582485 libvpxdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
967cd6fafb libopenjpegdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
d62b24a3f6 kgv1dec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
d184cd1dac ivi_common: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
317d6a1503 indeo3: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
3b08631727 h26[13]dec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
8255535c5f gifdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
58c6239e85 g2meet: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
ec7063005e eatqi: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
a87739388d eatgv: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
06e7a20244 eatgq: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
c6b8a7dbb4 eamad: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
d6da372984 eacmv: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
babbec0867 dvdsubdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
caeed8deeb dvdec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
8451b5f00a dpx: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
c7a5acabc5 dnxhddec: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
e9cfbc2b53 dirac: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:15 +01:00
Anton Khirnov
d57e95cbd4 cdxl: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:14 +01:00
Anton Khirnov
f176e11cff avs: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:14 +01:00
Anton Khirnov
78780c8bf6 ansi: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:14 +01:00
Anton Khirnov
0f6c1d6d64 lavc/utils: stop using deprecated avcodec_set_dimensions 2013-10-31 20:14:14 +01:00
Anton Khirnov
7644f5a807 lavc: replace avcodec_set_dimensions with ff_set_dimensions
avcodec_set_dimensions() is supposed to be an internal utility function,
there is no reason whatsoever for it to be public. Therefore deprecate
it.
2013-10-31 20:14:14 +01:00
John Stebbins
28096e0a80 h264: wait for initial complete frame before outputing frames
This can be optionally disabled whith the "output_corrupt" flags
option.  When in "output_corrupt" mode, incomplete frames are
signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:14:14 +01:00
David Kment
9af7a8523a HNM4/HNM4A demuxer & video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-31 17:45:46 +01:00
Anton Khirnov
b9589f5a77 lavc: add error checking to apply_param_change. 2013-10-30 08:43:03 +01:00
Anton Khirnov
5c0a09839c libopenjpegdec: return meaningful error codes 2013-10-30 08:42:41 +01:00
Derek Buitenhuis
58d13cea30 h264: Check all allocations
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-29 14:00:29 +00:00
Anton Khirnov
c9a13a289d lavc: remove old unused audio conversion functions. 2013-10-28 15:29:37 +01:00
Michael Niedermayer
6c82c87dbb ac3dec: fix outptr increment.
Fixes corrupt data errors when downmixing in the AC-3 decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-10-28 08:33:21 -04:00
Anton Khirnov
a1c5cc429d lavc: don't set AVFrame.pts to random numbers in decoders. 2013-10-28 09:28:29 +01:00
Martin Storsjö
f2521563d1 g722dec: Change bits_per_codeword to the right option type
This isn't a set of flags but just a plain integer in the range
6-8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-28 09:53:48 +02:00
Anton Khirnov
97de206b44 lavc: disable CRC checking by default 2013-10-28 07:22:43 +01:00
Anton Khirnov
23a211cbba lavc: change all decoders to behave consistently with AV_EF_CRCCHECK.
Just crccheck prints a warning, crccheck+explode returns an error.

Also document this behavior.
2013-10-28 07:22:18 +01:00
Anton Khirnov
f354f30836 error resilience: check error_concealment, not err_recognition.
err_recognition is supposed to trigger detecting and reporting errors,
not trying to fix them.
2013-10-28 07:22:11 +01:00
Michael Niedermayer
aaaf2dc023 h263: Check init_get_bits return value
And use init_get_bits8 to check for integer overflows while at it.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-28 00:04:49 +01:00
Luca Barbato
0749314886 h263: Return meaningful errors 2013-10-28 00:04:49 +01:00
Anton Khirnov
94603feb1b h264_ps: when parsing a VUI fails, only abort when explode is set
A VUI doesn't contain anything strictly necessary for decoding.
Apparently there are many samples with truncated VUIs in the wild, this
commit should allow decoding them.
2013-10-27 21:39:01 +01:00
Vittorio Giovara
fc06ee6ee3 mmvideo: fix uninitialized variable use in mm_decode_intra
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-27 21:32:11 +01:00
Anton Khirnov
834259528b fft-test: add a missing #include
stdio.h needed for printf since 7177df90a0
2013-10-26 09:11:22 +02:00
Alex Converse
adea4512c6 aacdec: Fix calls to avpriv_report_missing_feature().
It does not take log level as an argument.
2013-10-25 19:41:23 +00:00
Derek Buitenhuis
7177df90a0 fft-test: Remove possibility of returning restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:43 +01:00
Derek Buitenhuis
5331d2b93f dct-test: Remove possibility of returning a restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:43 +01:00
Vittorio Giovara
fb13fe8342 golomb: reduce scope of a few variables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-24 02:04:34 +02:00
Vittorio Giovara
2c993e8b5e golomb: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-23 13:17:23 +02:00
Luca Barbato
1ce3ec24b3 h263: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-23 13:17:23 +02:00
Luca Barbato
72072bf9de mpegvideo: Drop a faulty assert
That check is easily reachable by faulty input.

CC:libav-stable@libav.org
Reported-by: Torsten Sadowski <tsadowski@gmx.net>
2013-10-23 10:49:48 +02:00
Alex Converse
b3be41ca82 aac: Add support for Enhanced AAC Low Delay (ER AAC ELD).
This does not include support for LD SBR, epTool, data resilience, nor
the 960 transform family.
2013-10-23 00:08:29 -07:00
Alex Converse
f457edb697 aacdec: Use avpriv_report_missing_feature() instead of custom logging. 2013-10-23 00:08:29 -07:00
Yusuke Nakamura
103d073dd7 h264_parser: Use ff_h264_reset_sei()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:55:22 +02:00
Michael Niedermayer
19f5384000 h264_parser: Fix order of operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:53:04 +02:00
Ben Jackson
5152196b2b pthread: Avoid spurious wakeups
pthread_wait_cond can wake up unexpectedly (Wikipedia: Spurious_wakeup).

The FF_THREAD_SLICE thread mechanism could spontaneously execute
jobs or allow the caller of avctx->execute to return before all
jobs were complete.

Test both cases to ensure the wakeup is real.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-21 15:28:03 +02:00
Luca Barbato
825c7c62bb mpegvideo: Move 8x8 in a separate function 2013-10-15 23:58:20 +02:00
Luca Barbato
95587859cc mpegvideo: Move obmc in a separate function 2013-10-15 23:58:20 +02:00
Luca Barbato
a90905db2e ffv1: Assume bitdepth 0 means 8bit
CC: libav-stable@libav.org
Reported-by: debian/726189
2013-10-15 23:58:20 +02:00
Luca Barbato
a84616b736 mpegvideo: K&R formatting cosmetics 2013-10-15 23:58:20 +02:00
Ronald S. Bultje
93f305473f lavc: Convert some remaining strides to ptrdiff_t 2013-10-15 23:58:20 +02:00
Yusuke Nakamura
4baba6c813 h264_parser: Fix POC parsing for the case where MMCO_RESET is present.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 20:02:55 +02:00
Yusuke Nakamura
b81dbd6cb7 h264_parser: Fix POC parsing for the case where MMCO_RESET is absent.
The prev_ values were not set after parsing POC.
Increase length of the buffer decoded to parse enough safely.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 20:02:47 +02:00
Diego Biurrun
29c455ce3d bitstream: Check the result of av_malloc() 2013-10-15 18:01:12 +02:00
Diego Biurrun
3b4fa54866 cavs: more K&R formatting cosmetics 2013-10-15 18:01:11 +02:00
Derek Buitenhuis
c0085f94fe mpegaudio_tablegen: Don't use llrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
479a527955 cos_tablegen: Don't use lrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
bc31a7a3b6 tablegen: Don't use cbrtf in host tools
You cannot count on them being present on all systems, and you
cannot include libm.h in a host tool, so just hard code baseline
implementations.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
884fd4d259 tableprint: Fix use of a size_t print with MSVC
%zu was introduced in C99, so MSVC has its own way to handle it,
namely %Iu.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Luca Barbato
39185ec4fa cavs: Check for negative cbp
Sample-Id: 00000647-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 17:52:53 +02:00
Luca Barbato
1b20d0f581 cavs: Return meaningful error values 2013-10-13 17:52:53 +02:00
Luca Barbato
14ddbb477f cavs: K&R formatting cosmetics 2013-10-13 17:52:53 +02:00
Derek Buitenhuis
eb90a2091f pthread: Fix deadlock during thread initialization
Sometimes, if pthread_create() failed, then pthread_cond_wait() could
accidentally be called in the worker threads after the uninit function
had already called pthread_cond_broadcast(), leading to a deadlock.

Don't call pthread_cond_wait() if c->done is set.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-13 05:50:00 -04:00
Luca Barbato
c9ef6b0932 indeo4: Check the inherited quant_mat
Invalidate it if not supported.

Sample-Id: 00000262-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:21 +02:00
Luca Barbato
0cb83c5638 indeo4: Check the block size if reusing the band configuration
Sample-Id: 00000287-google

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:20 +02:00
Anton Khirnov
16ea20c827 lavc doxy: extend/clarify avcodec_decode_audio4() doxy
Elaborate on flushing the decoder.
2013-10-12 15:10:21 +02:00
Anton Khirnov
66d3f5fd5c lavc doxy: remove false statements about alignment requirements.
The packet data does not need to be aligned.
2013-10-12 15:09:38 +02:00
Luca Barbato
c0de9a23c7 prores: Reject negative run and level values
Sample-Id: 00000611-google

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-10 21:02:10 +02:00
Tim Walker
5f5ada3dbf shorten: Fix out-of-array read
pred_order == FF_ARRAY_ELEMS(fixed_coeffs) is invalid too.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-10 17:52:14 +02:00
Maxim Poliakovski
ed796fba76 atrac3: Better name for IMDCT window initialization
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-10 14:29:54 +02:00
Maxim Poliakovski
be76415047 atrac3: Remove unused gain compensation tables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-10 14:26:13 +02:00
Luca Barbato
2df7f7714a prores: Error out only on surely incomplete ac_coeffs 2013-10-10 10:26:31 +02:00
Luca Barbato
44690dfa68 prores: Add a codepath for decoding errors 2013-10-10 09:47:03 +02:00
Martin Storsjö
41a10f3ba1 vp6: Support cropping to AVCodecContext.width/height
In these cases, there is no extradata but only the properly set
width/height values by the demuxer.

This makes sure VP6 in F4V files is cropped properly.

This is similar to what is done for H264 for letting the container
width/height override what's in the bitstream, since 30f515091.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-10 10:41:21 +03:00
Luca Barbato
1018a92219 jpeg2000: Check block length
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:19 +02:00
Luca Barbato
071e29af4d vmnc: Use meaningful return values 2013-10-09 22:25:01 +02:00
Luca Barbato
5e992a4682 vmnc: Check the cursor dimensions
And manage the reallocation failure path.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:01 +02:00
Luca Barbato
61cd19b8bc vmnc: Port to bytestream2
Fix some buffer overreads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:01 +02:00
Luca Barbato
a66aa0daf2 vmnc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-09 22:25:01 +02:00
Luca Barbato
b2148faca9 shorten: Extend fixed_coeffs to properly support pred_order 0
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 03:34:10 +02:00
Diego Biurrun
6405ca7d4a x86: h264_idct: Update comments to match 8/10-bit depth optimization split 2013-10-07 21:46:46 +02:00
Henrik Gramner
bbe4a6db44 x86inc: Utilize the shadow space on 64-bit Windows
Store XMM6 and XMM7 in the shadow space in functions that
clobbers them. This way we don't have to adjust the stack
pointer as often, reducing the number of instructions as
well as code size.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:35 -04:00
Diego Biurrun
ce1e8045e0 x86: fdct: Employ more specific ifdefs
This avoids building mmxext and sse2 code when disabled by configure.
2013-10-06 22:02:25 +02:00
Diego Biurrun
2ddb35b911 x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx
The function does not depend on MMX and compilation without MMX enabled
fails if the function is compiled conditional on MMX availability.
2013-10-05 19:21:15 +02:00
Diego Biurrun
258414d077 x86: fdct: Initialize optimized fdct implementations in the standard way 2013-10-05 18:20:52 +02:00
Diego Biurrun
0b8b2ae5e9 x86: xviddct: Employ more specific ifdefs
This avoids building mmxext and sse2 code when disabled by configure.
2013-10-05 18:14:58 +02:00
Diego Biurrun
6cc133ec58 x86: fdct: Only build fdct code if encoders have been enabled
fdct is only initialized if encoders are enabled.
2013-10-04 10:50:44 +02:00
Diego Biurrun
b2bed9325d cosmetics: Group .name and .long_name together in codec/format declarations 2013-10-03 23:32:01 +02:00