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
Derek Buitenhuis [Mon, 25 Nov 2013 13:45:35 +0000 (13:45 +0000)]
doc/platform: Update to reflect current MSVC build situation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Andreas Unterweger [Tue, 8 Oct 2013 11:10:46 +0000 (13:10 +0200)]
Add an audio transcoding example.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Tue, 26 Nov 2013 19:37:54 +0000 (11:37 -0800)]
build: Check for pod2man instead of perl for manual page generation
Some systems provide Perl without pod2man.
Diego Biurrun [Mon, 25 Nov 2013 23:19:57 +0000 (15:19 -0800)]
configure: Restore doc option to disable building the documentation
Also add appropriate dependency declarations for perl and texi2html.
Martin Storsjö [Tue, 26 Nov 2013 10:10:03 +0000 (12:10 +0200)]
Makefile: Fix building programs on systems with a nonempty executable suffix
This fixes leftover issues from
14abeaa4 which caused make
rules for programs to not match up properly when the executable
suffix was nonempty.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 24 Nov 2013 13:14:13 +0000 (14:14 +0100)]
lavc: remove mp3_header_(de)compress bitstream filters
They mangle the mp3 header in a non-standard way to save a few bytes.
People who care about space so much should just use a more efficient
codec.
John Stebbins [Mon, 25 Nov 2013 23:57:28 +0000 (15:57 -0800)]
mpeg12dec: Extract CC user data into frame side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Kostya Shishkov [Sat, 7 Sep 2013 19:06:22 +0000 (21:06 +0200)]
MSN Audio support
This is essentially a MS GSM decoder extension that supports more
sampling rates and lower bitrates.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Kostya Shishkov [Mon, 18 Nov 2013 11:07:14 +0000 (12:07 +0100)]
metasound: add last missing modes (8kHz @ 6kbps per channel)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Kostya Shishkov [Mon, 25 Nov 2013 13:04:41 +0000 (14:04 +0100)]
vc1: Reset numref if fieldmode is not set
There are samples in the wild with B-frames and P-frames with different
interlace mode.
CC: libav-stable@libav.org
Reported-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Sat, 23 Nov 2013 02:14:27 +0000 (03:14 +0100)]
aacsbr: Add some const casts to silence warnings in ff_sbr_apply()