OSDN Git Service
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.
Anton Khirnov [Tue, 26 Nov 2013 10:52:54 +0000 (11:52 +0100)]
h263dec: remove commented out cruft
Anton Khirnov [Tue, 26 Nov 2013 10:23:16 +0000 (11:23 +0100)]
mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 10:48:51 +0000 (11:48 +0100)]
mpeg4videodec: remove write-only sprite variables from MpegEncContext
Anton Khirnov [Tue, 26 Nov 2013 10:23:16 +0000 (11:23 +0100)]
mpeg4videodec: move MpegEncContext.vol_sprite_usage to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 10:37:59 +0000 (11:37 +0100)]
mpeg4videoenc: write 0 instead of vol_sprite_usage
That field is never set for encoding.
Anton Khirnov [Tue, 26 Nov 2013 10:23:16 +0000 (11:23 +0100)]
mpeg4videodec: move MpegEncContext.time_increment_bits to Mpeg4DecContext
The field remains in MpegEncContext for use in the encoder.
Anton Khirnov [Tue, 26 Nov 2013 10:23:16 +0000 (11:23 +0100)]
mpeg4videodec: move MpegEncContext.shape to Mpeg4DecContext
Anton Khirnov [Tue, 26 Nov 2013 09:41:57 +0000 (10:41 +0100)]
mpeg4videodec: add a mpeg4-specific private context.
Anton Khirnov [Tue, 26 Nov 2013 14:41:12 +0000 (15:41 +0100)]
mxfdec: set extradata size
The line setting it was mistakenly removed in
ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878
Tim Walker [Sat, 23 Nov 2013 23:15:46 +0000 (00:15 +0100)]
dcadec: add disable_xch private option.
This supplements the deprecated request_channels-based control of XCh decoding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 21:59:54 +0000 (22:59 +0100)]
dcadec: treat all 2-channel modes as Stereo in dca_downmix.
The check for (prim_channels > 2) before calling dca_downmix made these
cases unreachable, but now 2.1 layouts will go through the downmix code.
Having dual mono, Lt/Rt and sum-difference layouts print errors when
regular Stereo doesn't seems pointless.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 22:47:03 +0000 (23:47 +0100)]
dca: support mixing LFE in dca_downmix.
Embedded downmix coefficients can use this.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 21:11:47 +0000 (22:11 +0100)]
dca: improve default stereo downmix coefficients.
Previous coefficients were producing a non-normalized, incorrect Lt/Rt downmix.
The new coefficients produce a standard Lo/Ro downmix with 3dB attenuation.
This should match the typical default coefficients used by DTS encoders.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 22:42:37 +0000 (23:42 +0100)]
dca: extract core substream's embedded downmix coeffcient codes, if present.
As per ETSI TS 102 114 V1.4.1 specification.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 19:25:57 +0000 (20:25 +0100)]
dca: remove embedded downmix coefficient extraction.
It was based on an old, seemingly incorrect specification, so default
coefficients were always used anyway.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 19:19:55 +0000 (20:19 +0100)]
dca: convert dca_default_coeffs to float.
Easier to read, modify, and avoids relying on an outdated table.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Fri, 22 Nov 2013 19:17:57 +0000 (20:17 +0100)]
dcadec: store the stereo downmix coefficients as float in the DCAContext.
The 7-bit codes previously used are absent from the ETSI 102 114 V1.4.1 spec.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tim Walker [Sat, 23 Nov 2013 22:36:21 +0000 (23:36 +0100)]
dcadec: implement request_channel_layout.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Mon, 25 Nov 2013 18:57:13 +0000 (18:57 +0000)]
x86: dsputil: Suppress deprecation warnings for XvMC bits
These parts are scheduled for removal on the next version bump.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Michael Niedermayer [Fri, 30 Aug 2013 21:14:32 +0000 (23:14 +0200)]
dsputil/pngdsp: fix signed/unsigned type in end comparison
Fixes out of array accesses and integer overflows.
Vittorio Giovara [Mon, 25 Nov 2013 08:46:14 +0000 (08:46 +0000)]
configure: add strip flags checks
This will check if -wN '..@*' is available and fall back on -x if not;
when none are available, do not run strip at all to prevent removing
functions that might be actually needed.
Anton Khirnov [Tue, 26 Nov 2013 10:07:22 +0000 (11:07 +0100)]
h263dec: sanitize a condition.
Call ff_mpeg4_decode_picture_header() only when the decoder has the
MPEG4 codec id, not based on a vaguely related value of h263_pred.
Anton Khirnov [Fri, 15 Nov 2013 18:06:23 +0000 (19:06 +0100)]
h264_refs: make sure not to write over the bounds of the default ref list
Fixes invalid writes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org