Gildas Cocherel [Tue, 10 Dec 2013 14:42:28 +0000 (15:42 +0100)]
hevc: store the VPS list as an AVBufferRef, just like the others *PS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Michael Niedermayer [Tue, 10 Dec 2013 14:42:26 +0000 (15:42 +0100)]
hevc: do not dereference pointer before NULL check in verify_md5()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Sun, 8 Dec 2013 23:50:39 +0000 (00:50 +0100)]
configure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW64
This enables a more POSIX-compliant printf implementation, that
allows using length modifiers like 'z'.
Reinhard Tartler [Sun, 8 Dec 2013 18:24:26 +0000 (13:24 -0500)]
alsdec: check block length
Fix writing over the end
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Addresses: CVE-2013-0845
Diego Biurrun [Tue, 10 Dec 2013 08:25:18 +0000 (09:25 +0100)]
configure: Move log2 dependency declaration to a place it takes effect
It was incorrectly moved in
c869fcdeac3b7cd71a852b928902daadeca55685.
Diego Biurrun [Thu, 28 Feb 2013 15:16:10 +0000 (16:16 +0100)]
configure: Split host and target libc detection
Diego Biurrun [Mon, 9 Dec 2013 14:03:22 +0000 (15:03 +0100)]
configure: Move toolchain dependency declarations to a more appropriate place
Vittorio Giovara [Sun, 10 Nov 2013 22:23:57 +0000 (23:23 +0100)]
hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information
Vittorio Giovara [Thu, 1 Aug 2013 14:58:27 +0000 (16:58 +0200)]
mpeg12enc: set frame packing information when relevant metadata is found
Vittorio Giovara [Wed, 31 Jul 2013 17:04:50 +0000 (19:04 +0200)]
mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information
Vittorio Giovara [Sat, 31 Aug 2013 21:15:10 +0000 (23:15 +0200)]
libx264: set frame packing information when relevant information is found
Vittorio Giovara [Wed, 20 Feb 2013 15:34:58 +0000 (16:34 +0100)]
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
Vittorio Giovara [Thu, 28 Nov 2013 13:47:13 +0000 (14:47 +0100)]
avframe: add codec-independent stereoscopic metadata
Diego Biurrun [Wed, 4 Dec 2013 17:21:30 +0000 (12:21 -0500)]
configure: Prefix libc-related variables with "libc_"
Simplifies host/target libc detection splitting.
Sean McGovern [Sun, 8 Dec 2013 22:17:12 +0000 (17:17 -0500)]
configure: detect Solaris libc
Add preprocessor flags for API availability as necessary.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Alexandra Khirnova [Fri, 6 Dec 2013 12:44:17 +0000 (13:44 +0100)]
avcodec: Use av_reallocp where suitable
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Fri, 29 Nov 2013 07:58:10 +0000 (08:58 +0100)]
dv: use AVFrame API properly
John Stebbins [Wed, 20 Nov 2013 17:26:45 +0000 (09:26 -0800)]
ac3dec: make drc_scale exponentially
The a52 spec suggests that "partial compression" should scale the
drc value in this manner.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Fri, 29 Nov 2013 19:49:18 +0000 (20:49 +0100)]
lavc: rework handling of refcounted_frames=0
Use only proper AVFrame API (no assigning of whole frames, since that
hardcodes sizeof(AVFrame) into lavc).
Make a copy of the side data, so the caller can use av_frame_unref/free
on non-refcounted frames, eliminating the need for
avcodec_get_frame_defaults()/avcodec_free_frame().
Anton Khirnov [Fri, 29 Nov 2013 19:41:35 +0000 (20:41 +0100)]
frame: cosmetics, reindent
Anton Khirnov [Fri, 29 Nov 2013 19:40:34 +0000 (20:40 +0100)]
frame: copy flags in av_frame_copy_props()
Flags can be considered metadata (at least those that are defined now).
Anton Khirnov [Fri, 29 Nov 2013 19:20:20 +0000 (20:20 +0100)]
lavc/decode_video(): always unref the frame if there is no output in decode_video
Not just on failure. This is the same thing that is done in the audio
path and should prevent leaks in decoders that allocate a frame, but
then end up not writing into it.
Anton Khirnov [Fri, 29 Nov 2013 19:19:27 +0000 (20:19 +0100)]
lavc: remove a pointless check in decode_audio4()
av_frame_unref() works fine on unallocated frames.
Anton Khirnov [Fri, 29 Nov 2013 19:16:07 +0000 (20:16 +0100)]
lavc: use buf[0] instead of data[0] as the indicator of an allocated frame
data[0] may be NULL for valid frames with hwaccel pixel formats.
Anton Khirnov [Sat, 9 Nov 2013 18:57:14 +0000 (19:57 +0100)]
lavc: remove the extended_data workarounds.
All decoders should now handle it properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
pthread_frame: use the AVFrame API properly.
Remove the extended_data workaround, all decoders should now handle this
properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
mxpegdec: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
p*menc: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
mjpegdec: use the AVFrame API properly.
d s [Wed, 27 Nov 2013 02:58:28 +0000 (21:58 -0500)]
avformat: AviSynth demuxer rewrite
Directly loads AviSynth through LoadLibrary instead of relying on
Video for Windows, and supports using AvxSynth (via dlopen) to
open scripts on Linux and OS X.
Error messages from AviSynth/AvxSynth are now reported through
av_log and exit, rather than the traditional behavior of generating
an error video that the user would need to watch to diagnose.
The main rewrite was authored by d s <avxsynth.testing@gmail.com>
from the AvxSynth team, with additional contributions by
Oka Motofumi <chikuzen.mo@gmail.com>
Stephen Hutchinson <qyot27@gmail.com>
Diego Biurrun <diego@biurrun.de>
Anton Khirnov <anton@khirnov.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Mon, 2 Dec 2013 04:06:02 +0000 (23:06 -0500)]
configure: Move adding of compat objects out of libc detection
Diego Biurrun [Fri, 6 Dec 2013 12:22:40 +0000 (12:22 +0000)]
dsputil: Move apply_window_int16 to ac3dsp
The (optimized) functions are used nowhere else.
Diego Biurrun [Mon, 2 Dec 2013 05:12:57 +0000 (00:12 -0500)]
configure: Separate MinGW32 and MinGW64 libc handling
Guillaume Martres [Fri, 15 Nov 2013 22:28:30 +0000 (23:28 +0100)]
libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Michael Niedermayer [Thu, 5 Dec 2013 20:06:28 +0000 (21:06 +0100)]
dcadec: Decode LFE to avoid adding random data when downmixing with LFE
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Justin Ruggles [Wed, 4 Dec 2013 21:53:18 +0000 (16:53 -0500)]
webp: add a special case for a huffman table with only 1 symbol
The vlc reader cannot handle 0-bit huffman codes. For most
situations WebP uses the "simple" huffman coding for this case,
but that will only handle symbols up to 255. For the LZ77 distance
codes, larger symbol values are needed, so it can happen in rare
cases that a normal huffman table is used that only has a single
symbol.
Justin Ruggles [Wed, 4 Dec 2013 21:53:17 +0000 (16:53 -0500)]
webp: do not call av_frame_free() on the user-provided frame
Fixes double-free on error.
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split yuv encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split bgr encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:49:11 +0000 (23:49 +0100)]
ljpegenc: accept bgr24 instead of bgra
The alpha plane is not encoded.
Anton Khirnov [Mon, 2 Dec 2013 22:34:37 +0000 (23:34 +0100)]
ljpegenc: rename the encoding function.
The new name is more consistent with the rest of Libav.
Anton Khirnov [Mon, 2 Dec 2013 22:33:56 +0000 (23:33 +0100)]
ljpeg: remove a commented-out line
Anton Khirnov [Mon, 2 Dec 2013 18:22:54 +0000 (19:22 +0100)]
ljpegenc: deMpegEncContextize
The encoder uses almost none of the mpegvideo infrastructure, only some
fields from MpegEncContext.
The FATE results change because now an all-zero quant matrix is written
into the file. Since it is not used for anything for ljpeg, this should
not be a problem.
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
This will allow deMpegEncContextizing the LJPEG encoder.
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
This will allow deMpegEncContextizing the LJPEG encoder.
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
This will allow deMpegEncContextizing the LJPEG encoder.
Anton Khirnov [Sun, 1 Dec 2013 20:45:40 +0000 (21:45 +0100)]
mjpegenc: do not pass MpegEncContext to jpeg_table_header()
Pass the three needed fields from it directly.
This will allow to deMpegEncContextize the LJPEG encoder.
Anton Khirnov [Sun, 1 Dec 2013 20:40:17 +0000 (21:40 +0100)]
mjpegenc: remove commented out never-to-be-finished WIP cruft
Anton Khirnov [Sun, 1 Dec 2013 20:35:02 +0000 (21:35 +0100)]
mjpegenc: do not pass MpegEncContext to put_huffman_table()
It only needs PutBitContext from it, so pass that directly.
Anton Khirnov [Sun, 1 Dec 2013 20:33:47 +0000 (21:33 +0100)]
mjpegenc: cosmetics, reformat jpeg_put_comments()
Anton Khirnov [Sun, 1 Dec 2013 20:31:25 +0000 (21:31 +0100)]
mjpegenc: write the JFIF header if the sample aspect ratio is set
MpegEncContext.aspect_ratio_info is never set for mjpeg, so this was
never written before.
Anton Khirnov [Sun, 1 Dec 2013 11:57:47 +0000 (12:57 +0100)]
mpegvideo: do not set current_picture_ptr in decoders
This code was originally added in
5f1948111a4920ff74e31b4284ab0200f7938539 to h263 to set decoded frame
pts to some random numbers (removed in
a1c5cc429d99216406170eac7e8352860076d3e8) and then cargo culted to other
decoders.
The code is left in h263dec for now, since some part of the decoder
(apparently OBMC) relies on the specific previous frame to be reused.
Anton Khirnov [Sun, 1 Dec 2013 08:42:37 +0000 (09:42 +0100)]
FATE: drop the last partial frame in the wmv8-drm test
This has already been done in
eb066a4ce9e82cddb8f5af574804aa9889450b34,
but the number of frames produced from that file changed due to
timestamps changes since then.
Anton Khirnov [Sat, 30 Nov 2013 17:36:00 +0000 (18:36 +0100)]
vc1dec: move setting repeat_pict after frame_start() has been called.
This will allow removing the hacks where each decoder sets
current_picture_ptr on its own.
Anton Khirnov [Sat, 30 Nov 2013 17:07:06 +0000 (18:07 +0100)]
mpegvideo: make ff_release_unused_pictures() static
It is only called from one place in mpegvideo.c now. Also remove the
remove_current parameter, which is always 1.
Anton Khirnov [Sat, 30 Nov 2013 10:58:42 +0000 (11:58 +0100)]
mpegvideo: make frame_size_alloc() static.
It is not called from outside of mpegvideo.c anymore.
Anton Khirnov [Sat, 30 Nov 2013 10:50:09 +0000 (11:50 +0100)]
mpegvideo: move encode-only parts of common_end() to encode_end()
Anton Khirnov [Sat, 30 Nov 2013 10:35:50 +0000 (11:35 +0100)]
mpegvideo: remove commented out cruft from ff_MPV_frame_end()
Anton Khirnov [Sat, 30 Nov 2013 10:34:37 +0000 (11:34 +0100)]
mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function
Anton Khirnov [Sat, 30 Nov 2013 10:32:25 +0000 (11:32 +0100)]
mpegvideo: do not update last_non_b_pict_type in update_thread_context()
It is used for encoding only.
Anton Khirnov [Sat, 30 Nov 2013 10:10:53 +0000 (11:10 +0100)]
mpegvideo: move encoding-only initialization from common_init() to encode_init()
Anton Khirnov [Sat, 30 Nov 2013 09:50:20 +0000 (10:50 +0100)]
mpegvideo: move setting encoding-only vars from common_defaults() to encode_defaults()
Anton Khirnov [Sat, 30 Nov 2013 09:47:52 +0000 (10:47 +0100)]
mpegvideo: don't copy input_picture_number in update_thread_context()
It is encoding-only, frame threading is not used for encoding.
Anton Khirnov [Fri, 29 Nov 2013 21:26:15 +0000 (22:26 +0100)]
mpeg4videodec: move showed_packed_warning from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Fri, 29 Nov 2013 21:26:15 +0000 (22:26 +0100)]
mpeg4videodec: move intra_dc_threshold from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Fri, 29 Nov 2013 21:26:15 +0000 (22:26 +0100)]
mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context
Anton Khirnov [Fri, 29 Nov 2013 21:18:15 +0000 (22:18 +0100)]
mpegvideo: remove an unused variable
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move use_intra_dc_vlc from MpegEncContext to Mpeg4DecContext
Diego Biurrun [Mon, 30 Sep 2013 13:04:44 +0000 (15:04 +0200)]
x86: Initialize mmxext after amd3dnow optimizations
The mmxext optimizations should be at least equally fast if available and
amd3dnow optimizations are being deprecated. Thus the former should
override the latter, not the other way around.
Diego Biurrun [Wed, 4 Dec 2013 15:25:04 +0000 (10:25 -0500)]
configure: Detect msvcrt libc with a CPP check instead of a link check
Simplifies host/target libc detection splitting.
Diego Biurrun [Thu, 28 Feb 2013 15:06:39 +0000 (16:06 +0100)]
configure: Add detected C library and host compiler to informative output
Anton Khirnov [Sat, 23 Nov 2013 13:07:48 +0000 (14:07 +0100)]
avconv: initialize hwaccel_pix_fmt
Fixes an assertion failure in vdpau_get_buffer() when -hwaccel auto is
used, but hwaccel init fails.
Anton Khirnov [Sun, 1 Dec 2013 08:27:01 +0000 (09:27 +0100)]
alsa-audio-dec: explicitly cast the delay to a signed int64
Otherwise the expression will be evaluated as unsigned, which will break
when the result should be negative.
CC:libav-stable@libav.org
Diego Biurrun [Thu, 5 Apr 2012 14:58:43 +0000 (16:58 +0200)]
dv: Split off DV video encoder into its own file
Diego Biurrun [Sun, 10 Nov 2013 16:23:31 +0000 (17:23 +0100)]
dv: Move DV VLC data tables out of header file
Diego Biurrun [Sun, 1 Dec 2013 05:01:51 +0000 (06:01 +0100)]
build: Add rule for building host-specific object files
Diego Biurrun [Mon, 2 Dec 2013 02:51:48 +0000 (03:51 +0100)]
build: Add shorthand for HOSTCC compile macro
Diego Biurrun [Sun, 1 Dec 2013 04:05:23 +0000 (05:05 +0100)]
dsputil: x86: Move ff_inv_zigzag_direct16 table init to mpegvideo
The table is MMX-specific and used nowhere else.
Diego Biurrun [Fri, 29 Nov 2013 18:24:56 +0000 (13:24 -0500)]
doc: Try to find nonstandard Perl path from the environment
Diego Biurrun [Sun, 1 Dec 2013 03:05:11 +0000 (04:05 +0100)]
gitignore: Ignore multilibrary example programs
Tim Walker [Fri, 29 Nov 2013 17:12:26 +0000 (18:12 +0100)]
dcadec: Add some logging before returning on error
Based on a patch by Michael Niedermayer.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Fri, 29 Nov 2013 17:29:12 +0000 (09:29 -0800)]
configure: Do not use pthread_create to check for pthread
Certain instrumentation addons leads to a false positive in configure
and link failures at the end of the build phase.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kostya Shishkov [Fri, 29 Nov 2013 08:15:00 +0000 (09:15 +0100)]
go2meeting: disallow tile dimensions that are not multiple of 16
Original decoder seems to always use 176x128 tiles anyway and this helps
avoiding lots of issues with odd tile sizes in fuzzed files.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:45:14 +0000 (14:45 +0100)]
mpeg4videodec: remove a write-only variable from MpegEncContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable
Anton Khirnov [Tue, 26 Nov 2013 13:40:21 +0000 (14:40 +0100)]
mpeg4videodec: remove a write-only variable from MpegEncContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:34:52 +0000 (14:34 +0100)]
mpeg4videodec: move cplx_estimation_* fields from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:30:13 +0000 (14:30 +0100)]
mpeg4videodec: move mpeg4-specific bug workaround variables from MpegEncContext to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 13:22:10 +0000 (14:22 +0100)]
mpeg4videodec: move mpeg4-specific post-frame-decode code from h264dec to mpeg4videodec
Anton Khirnov [Tue, 26 Nov 2013 11:40:13 +0000 (12:40 +0100)]
mpeg4videodec: move mpeg4-specific bug detection from h263 generic code to mpeg4
Anton Khirnov [Tue, 26 Nov 2013 11:18:44 +0000 (12:18 +0100)]
mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext.
Anton Khirnov [Tue, 26 Nov 2013 11:18:44 +0000 (12:18 +0100)]
vc1: move MpegEncContext.resync_marker into VC1Context.
The field still remains in MpegEncContext because it is used by the
mpeg4 decoder.
Anton Khirnov [Tue, 26 Nov 2013 11:14:13 +0000 (12:14 +0100)]
mpeg4videoenc: don't set MpegEncContext.resync_marker
It is only used in one place immediately after it is set.