Commit Graph

18507 Commits

Author SHA1 Message Date
Anton Khirnov 2cab011f0f mpegvideo: don't copy input_picture_number in update_thread_context()
It is encoding-only, frame threading is not used for encoding.
2013-12-05 13:22:46 +01:00
Anton Khirnov ff7ffe4809 mpeg4videodec: move showed_packed_warning from MpegEncContext to Mpeg4DecContext 2013-12-05 13:22:37 +01:00
Anton Khirnov f7d228676c mpeg4videodec: move intra_dc_threshold from MpegEncContext to Mpeg4DecContext 2013-12-05 13:22:18 +01:00
Anton Khirnov a097f0049b mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context 2013-12-05 13:22:03 +01:00
Anton Khirnov ff300e435e mpegvideo: remove an unused variable 2013-12-05 13:21:57 +01:00
Anton Khirnov e41ff4210a mpeg4videodec: move use_intra_dc_vlc from MpegEncContext to Mpeg4DecContext 2013-12-05 13:19:22 +01:00
Diego Biurrun 3d7c84747d 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.
2013-12-04 18:52:48 +01:00
Diego Biurrun 97d19c2fec dv: Split off DV video encoder into its own file 2013-12-02 13:13:09 +01:00
Diego Biurrun 21710ea821 dv: Move DV VLC data tables out of header file 2013-12-02 13:13:09 +01:00
Diego Biurrun 7ffaa19570 dsputil: x86: Move ff_inv_zigzag_direct16 table init to mpegvideo
The table is MMX-specific and used nowhere else.
2013-12-02 04:05:18 +01:00
Tim Walker 7dc827b709 dcadec: Add some logging before returning on error
Based on a patch by Michael Niedermayer.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-11-30 13:01:35 +01:00
Kostya Shishkov 01f6df01b6 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>
2013-11-29 17:37:59 +01:00
Anton Khirnov e026ee0446 mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext 2013-11-29 17:37:16 +01:00
Anton Khirnov 513d849bb6 mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:57 +01:00
Anton Khirnov 9ba3fc3e3d mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:43 +01:00
Anton Khirnov 58c120a929 mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:28 +01:00
Anton Khirnov 6e81597d5a mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext 2013-11-29 17:36:05 +01:00
Anton Khirnov 2992afda83 mpeg4videodec: remove a write-only variable from MpegEncContext 2013-11-29 17:35:57 +01:00
Anton Khirnov 3b1c0f686d mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext 2013-11-29 17:35:13 +01:00
Anton Khirnov e89247debd mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable 2013-11-29 17:34:34 +01:00
Anton Khirnov 8cebc9eaac mpeg4videodec: remove a write-only variable from MpegEncContext 2013-11-29 14:19:48 +01:00
Anton Khirnov b1aacd5668 mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov 0388907400 mpeg4videodec: move cplx_estimation_* fields from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov 43af264de8 mpeg4videodec: move mpeg4-specific bug workaround variables from MpegEncContext to Mpeg4DecContext 2013-11-29 14:19:48 +01:00
Anton Khirnov e2ceb17642 mpeg4videodec: move mpeg4-specific post-frame-decode code from h264dec to mpeg4videodec 2013-11-29 14:19:47 +01:00
Anton Khirnov b452d5ae86 mpeg4videodec: move mpeg4-specific bug detection from h263 generic code to mpeg4 2013-11-29 14:19:47 +01:00
Anton Khirnov 48e1394095 mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext. 2013-11-29 14:19:47 +01:00
Anton Khirnov c2f7417eeb vc1: move MpegEncContext.resync_marker into VC1Context.
The field still remains in MpegEncContext because it is used by the
mpeg4 decoder.
2013-11-29 14:19:47 +01:00
Anton Khirnov a5a71992ca mpeg4videoenc: don't set MpegEncContext.resync_marker
It is only used in one place immediately after it is set.
2013-11-29 14:19:47 +01:00
Anton Khirnov ad09f52586 h263dec: remove commented out cruft 2013-11-29 14:19:47 +01:00
Anton Khirnov bc5abfb19e mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov 9f0617d213 mpeg4videodec: remove write-only sprite variables from MpegEncContext 2013-11-29 14:19:47 +01:00
Anton Khirnov 1a89025793 mpeg4videodec: move MpegEncContext.vol_sprite_usage to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov 75bd07f732 mpeg4videoenc: write 0 instead of vol_sprite_usage
That field is never set for encoding.
2013-11-29 14:19:47 +01:00
Anton Khirnov e62a43f6b1 mpeg4videodec: move MpegEncContext.time_increment_bits to Mpeg4DecContext
The field remains in MpegEncContext for use in the encoder.
2013-11-29 14:19:47 +01:00
Anton Khirnov ee8af2dd99 mpeg4videodec: move MpegEncContext.shape to Mpeg4DecContext 2013-11-29 14:19:47 +01:00
Anton Khirnov 35e0833d41 mpeg4videodec: add a mpeg4-specific private context. 2013-11-29 14:19:47 +01:00
Tim Walker 3c8507a845 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>
2013-11-28 22:02:53 +01:00
Tim Walker 220494ad0b 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>
2013-11-28 22:02:53 +01:00
Tim Walker aaa44d0299 dca: support mixing LFE in dca_downmix.
Embedded downmix coefficients can use this.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker 149438cfe5 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>
2013-11-28 22:02:53 +01:00
Tim Walker 44b17d794a 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>
2013-11-28 22:02:53 +01:00
Tim Walker 27245b4e1b 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>
2013-11-28 22:02:50 +01:00
Tim Walker b6d5e6aa10 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>
2013-11-28 21:38:22 +01:00
Tim Walker 25609b63d2 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>
2013-11-28 21:35:22 +01:00
Tim Walker 89de5157b1 dcadec: implement request_channel_layout.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 21:10:29 +01:00
Diego Biurrun cf7860db60 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>
2013-11-28 16:04:30 +01:00
Michael Niedermayer d1916d13e2 dsputil/pngdsp: fix signed/unsigned type in end comparison
Fixes out of array accesses and integer overflows.
2013-11-28 15:37:55 +01:00
Anton Khirnov 8733799392 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.
2013-11-27 22:24:50 +01:00
Anton Khirnov 4d388c0cd0 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
2013-11-27 22:24:40 +01:00