Tim Walker
7840c40445
(e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.
2014-01-05 16:41:56 +01:00
Tim Walker
13345fc1f8
(e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.
2014-01-05 16:41:56 +01:00
Tim Walker
e92123093d
mlpdec: set AV_FRAME_DATA_MATRIXENCODING side data.
2014-01-05 16:41:56 +01:00
Tim Walker
4b7f1a7ced
mlp: Parse TrueHD decoder channel modifiers and set the AVMatrixEncoding for each substream.
2014-01-05 16:41:56 +01:00
Tim Walker
30d70e79a6
dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.
2014-01-05 16:41:56 +01:00
Tim Walker
6bfdb2de88
dcadec: set the output channel mode more accurately.
...
When downmixing 2.1 to 2-channel, if the 2.0 portion is Lt/Rt, sum-difference or dual mono, the actual output will be the same (with the LFE either mixed-in or discarded).
Also, when downmixing an arbitrary layout to 2-channel, if the bitstream contains custom downmix coefficients targeting Lt/Rt, then the output will be Lt/Rt rather than regular Stereo.
2014-01-05 16:41:56 +01:00
Tim Walker
5b4797a21d
avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.
...
Includes a libavcodec utility function to update a frame's side data.
2014-01-05 16:41:56 +01:00
Alex Converse
7f29644108
aac: Fix low delay windowing.
...
AAC LD uses a low overlap sine window instead of a KBD window.
2014-01-04 14:42:38 -08:00
Alex Converse
b2212dec0f
aac: Fix TNS decoding for the 512 sample window family.
2014-01-04 14:42:38 -08:00
Martin Storsjö
3348e3492d
arm: Use the matching endfunc macro instead of the assembler directive directly
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:08 +02:00
Martin Storsjö
2ad4ee345a
arm: Add a missing endfunc macro call
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-04 13:53:02 +02:00
Anton Khirnov
a3a55645f0
mpegvideo: remove disabled bfin asm
...
It has been disabled as 'broken' over 3 years ago in b716a792
2014-01-03 16:54:24 +01:00
Anton Khirnov
a4d0c6e050
mpegvideo: move dct_unquantize functions up to avoid forward declarations
2014-01-03 16:54:00 +01:00
Anton Khirnov
aec25b1c46
mpegvideo: split the encoding-only parts of frame_start() into a separate function
...
This introduces some code duplication. However, much of it should go
away once the decoders stop using MpegEncContext.
2014-01-03 16:52:49 +01:00
Anton Khirnov
58312b2472
h264: reset data_partitioning if decoding the slice header for NAL_DPA fails
...
If it was set before then we can end up trying to decode a slice without
a valid slice header, which can lead to invalid memory access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:42:02 +01:00
Anton Khirnov
e89aa4bf56
lzw: switch to bytestream2
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:40:43 +01:00
Anton Khirnov
24057c8320
eacmv: check the framerate before setting it.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:39:09 +01:00
Anton Khirnov
5569146d48
adx: check that the offset is not negative
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:36 +01:00
Anton Khirnov
a6a2282c25
rv30: fix extradata size check.
...
It has been checking the number of bits in the offset instead of the
actual offset.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:33 +01:00
Anton Khirnov
feded990e3
mpegvideo: set reference/pict_type on generated reference frames
...
Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:36:43 +01:00
Luca Barbato
4d2bb28931
h264: namespace the decode function
...
Make much easier debugging.
2013-12-27 07:48:13 +01:00
Diego Biurrun
b83d1ee3b4
avutil: Move library version related macros to version.h
...
This is a more sensible place for these macros.
2013-12-26 19:05:22 +01:00
Mason Carter
61ae993957
vc1: Fix intensity compensation performance regression
...
Introduced by 28243b0d35
Intensity compensation is always used once it was encountered, because
v->next_use_ic is never set back to zero.
Reset v->next_use_ic, when resetting v->next_luty/uv.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 18:31:44 +01:00
Guillaume Martres
7398e0516f
hevc: move DSP declarations from hevc.h into hevcdsp.h
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 03:49:11 +01:00
Justin Ruggles
be7c323176
Add a libwebp encoder
2013-12-21 17:01:42 -05:00
Martin Storsjö
d307e408d4
arm: Don't clobber callee saved registers in scalarproduct
...
q4-q7/d8-d15 are supposed to not be clobbered by the callee.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 20:48:30 +02:00
Mickaël Raulet
5c3fa74b94
hevc: support luma bit depth != chroma bit depth for PCM coding units
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:53 +01:00
Guillaume Martres
78d0b7f36e
hevc: warn when an unknown profile is used
...
Bitstreams conforming to the spec should not use profiles not defined
in it.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:38 +01:00
Gildas Cocherel
259cddb137
hevc_ps: fix indentation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:10 +01:00
Gildas Cocherel
2d18aaa14b
hevc: refactor Profile Tier Level
...
Also store a few PTL flags which were skipped before
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:38:59 +01:00
Guillaume Martres
67bbaed5c4
hevc: don't check for errors in PTL code
...
According to the spec, the value of XXX_reserved_zero_44bits should be
ignored, so don't report an error when it's not zero.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:44 +01:00
Gildas Cocherel
321cb8b048
hevc: store profile and level in AVCodecContext
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:24 +01:00
Gildas Cocherel
2a41826bea
lavc: add HEVC profiles names
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:35:27 +01:00
Anton Khirnov
dfc50ac85e
x86: mpegvideo: move denoise_dct asm to mpegvideoenc
...
This function is encoding-only.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-12-20 17:16:11 +01:00
Mason Carter
b254490bda
vc1: arm: Add NEON no_rnd chroma MC
...
Apply David Conrad's old patch to the modern codebase.
http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:42 +02:00
Mason Carter
832e190632
vc1: arm: Add NEON assembly
...
For:
ff_vc1_inv_trans_{8,4}x{8,4}_{dc_,}neon
ff_put_pixels8x8_neon
ff_put_vc1_mspel_mc{0,1,2,3}{0,1,2,3}_neon (except for 00)
Based on ARM assembly code in libavcodec/arm by Rob Clark and Mans
Rullgard.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:39 +02:00
Martin Storsjö
b3189aff8b
png_parser: Fix parsing on big endian
...
Since pc.state is populated by shifting in from the end of the
32 bit word, the content within pc.state is already in native endian
and should not be read with the AV_R{L,B} functions.
This was already done correctly for state64 above.
This fixes the fate-corepng test on big endian.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-18 12:12:19 +02:00
Michael Niedermayer
d8fd183683
vc1: Fix mb_height for field pictures
...
Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.
This fixes decoding of a sample.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-17 22:01:45 +02:00
Vittorio Giovara
3d9fc21e59
h264: Refactor decode_frame_packing_arrangement
...
Directly set the fields when necessary.
2013-12-17 09:34:08 +01:00
Luca Barbato
3a149e23d3
hevc: Refactor decode_nal_sei_frame_packing_arrangement
...
Directly set the fields when necessary.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-12-17 09:34:08 +01:00
Peter Holik
6fd99e78de
png: add a standalone parser
...
Useful for reading png images from a pipe.
2013-12-17 09:34:08 +01:00
Diego Biurrun
79d9884e95
build: Merge pthreads/w32threads OBJS declarations
2013-12-13 16:47:50 +01:00
Martin Storsjö
35686a289f
mp3adu: Set the channel layout properly
...
This fixes decoding, broken since 7e35037
.
This is similar to what was done for the normal mp3 decoder in
f4a86bc9
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-12 10:18:25 +02:00
Anton Khirnov
d7b3ee9a3a
lavc: deprecate avcodec_get_frame_defaults().
...
Also bump libavcodec micro and add an APIchanges entry saying that
av_frame_* should now be used instead of the lavc AVFrame functions.
2013-12-11 20:39:55 +01:00
Anton Khirnov
598ce4ab4f
h264: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
48d17ee6dc
api-example: remove an unneeded call to avcodec_get_frame_defaults().
...
avcodec_decode_audio4() resets the frame itself.
2013-12-11 20:39:55 +01:00
Anton Khirnov
2d1f4288dd
mpegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
b06c8bce02
mpegvideo: remove an unneeded call to avcodec_get_frame_defaults().
...
ff_mpeg_unref_picture() already resets the frame.
2013-12-11 20:39:55 +01:00
Anton Khirnov
95a8a5aca6
lavc: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
avcodec_get_frame_defaults() will be deprecated.
2013-12-11 20:39:55 +01:00
Anton Khirnov
9431356218
lavc: deprecate avcodec_free_frame()
...
av_frame_free() should be used instead.
2013-12-11 20:39:54 +01:00
Anton Khirnov
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
2013-12-11 20:39:54 +01:00
Guillaume Martres
17a10d51b8
hevc: set time_base when possible
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Gildas Cocherel
33452aede6
hevc: store the VPS list as an AVBufferRef, just like the others *PS
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Michael Niedermayer
b769cf4b44
hevc: do not dereference pointer before NULL check in verify_md5()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Reinhard Tartler
2a0fb7286d
alsdec: check block length
...
Fix writing over the end
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Addresses: CVE-2013-0845
2013-12-10 07:21:40 -05:00
Vittorio Giovara
acb77dff6a
hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Vittorio Giovara
3d1d175367
mpeg12enc: set frame packing information when relevant metadata is found
2013-12-09 16:02:43 +01:00
Vittorio Giovara
bacc2869f3
mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Vittorio Giovara
09cb75cdeb
libx264: set frame packing information when relevant information is found
2013-12-09 16:02:43 +01:00
Vittorio Giovara
5b10ef729f
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Diego Biurrun
d64341e498
configure: Prefix libc-related variables with "libc_"
...
Simplifies host/target libc detection splitting.
2013-12-09 11:47:43 +01:00
Alexandra Khirnova
9b8d11a76a
avcodec: Use av_reallocp where suitable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-09 12:27:51 +02:00
Anton Khirnov
d4f1188d1a
dv: use AVFrame API properly
2013-12-09 09:10:14 +01:00
John Stebbins
c9ca220ef2
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>
2013-12-09 08:54:42 +01:00
Anton Khirnov
37a749012a
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().
2013-12-09 08:54:29 +01:00
Anton Khirnov
a1ee164869
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.
2013-12-09 08:44:34 +01:00
Anton Khirnov
85f947aefb
lavc: remove a pointless check in decode_audio4()
...
av_frame_unref() works fine on unallocated frames.
2013-12-09 08:44:24 +01:00
Anton Khirnov
d4f0f2d1e8
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.
2013-12-09 08:44:11 +01:00
Anton Khirnov
e5419709f5
lavc: remove the extended_data workarounds.
...
All decoders should now handle it properly.
2013-12-09 08:42:52 +01:00
Anton Khirnov
d351ef47d0
pthread_frame: use the AVFrame API properly.
...
Remove the extended_data workaround, all decoders should now handle this
properly.
2013-12-09 08:42:25 +01:00
Anton Khirnov
b605b123ef
mxpegdec: use the AVFrame API properly.
2013-12-09 08:41:57 +01:00
Anton Khirnov
afa21a12bf
p*menc: use the AVFrame API properly.
2013-12-09 08:41:20 +01:00
Anton Khirnov
e2274aa555
mjpegdec: use the AVFrame API properly.
2013-12-09 08:40:29 +01:00
Diego Biurrun
4958f35a2e
dsputil: Move apply_window_int16 to ac3dsp
...
The (optimized) functions are used nowhere else.
2013-12-08 17:57:15 +01:00
Guillaume Martres
9aa053cede
libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-12-08 00:28:27 +01:00
Michael Niedermayer
b6a9719941
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>
2013-12-06 23:37:05 +01:00
Justin Ruggles
d085f80fa1
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.
2013-12-05 20:37:06 -05:00
Justin Ruggles
f51e3a1971
webp: do not call av_frame_free() on the user-provided frame
...
Fixes double-free on error.
2013-12-05 20:36:54 -05:00
Anton Khirnov
b73a8922d8
ljpegenc: split yuv encoding into a separate function
2013-12-05 13:38:07 +01:00
Anton Khirnov
fa4476815d
ljpegenc: split bgr encoding into a separate function
2013-12-05 13:37:56 +01:00
Anton Khirnov
daffed3b17
ljpegenc: accept bgr24 instead of bgra
...
The alpha plane is not encoded.
2013-12-05 13:37:41 +01:00
Anton Khirnov
0cdbc4d393
ljpegenc: rename the encoding function.
...
The new name is more consistent with the rest of Libav.
2013-12-05 13:37:32 +01:00
Anton Khirnov
72c0b8f724
ljpeg: remove a commented-out line
2013-12-05 13:37:09 +01:00
Anton Khirnov
24abd806ea
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.
2013-12-05 13:35:55 +01:00
Anton Khirnov
86eb2eaac6
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
...
This will allow deMpegEncContextizing the LJPEG encoder.
2013-12-05 13:35:30 +01:00
Anton Khirnov
3360ad9955
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
...
This will allow deMpegEncContextizing the LJPEG encoder.
2013-12-05 13:35:15 +01:00
Anton Khirnov
058d5f2feb
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
...
This will allow deMpegEncContextizing the LJPEG encoder.
2013-12-05 13:34:26 +01:00
Anton Khirnov
6d70639c7d
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.
2013-12-05 13:34:13 +01:00
Anton Khirnov
e1eaaec765
mjpegenc: remove commented out never-to-be-finished WIP cruft
2013-12-05 13:34:01 +01:00
Anton Khirnov
ff506c75b7
mjpegenc: do not pass MpegEncContext to put_huffman_table()
...
It only needs PutBitContext from it, so pass that directly.
2013-12-05 13:33:40 +01:00
Anton Khirnov
a1ba1f20b3
mjpegenc: cosmetics, reformat jpeg_put_comments()
2013-12-05 13:33:29 +01:00
Anton Khirnov
0812f5a40a
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.
2013-12-05 13:28:32 +01:00
Anton Khirnov
66499f34b5
mpegvideo: do not set current_picture_ptr in decoders
...
This code was originally added in
5f1948111a
to h263 to set decoded frame
pts to some random numbers (removed in
a1c5cc429d
) 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.
2013-12-05 13:28:05 +01:00
Anton Khirnov
ac1fc92ea4
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.
2013-12-05 13:27:24 +01:00
Anton Khirnov
282c6a1a0e
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.
2013-12-05 13:26:50 +01:00
Anton Khirnov
c99307caee
mpegvideo: make frame_size_alloc() static.
...
It is not called from outside of mpegvideo.c anymore.
2013-12-05 13:25:46 +01:00
Anton Khirnov
0b0a7a751d
mpegvideo: move encode-only parts of common_end() to encode_end()
2013-12-05 13:25:26 +01:00
Anton Khirnov
d0d111d059
mpegvideo: remove commented out cruft from ff_MPV_frame_end()
2013-12-05 13:25:15 +01:00
Anton Khirnov
381a722562
mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function
2013-12-05 13:23:55 +01:00
Anton Khirnov
b7254288d2
mpegvideo: do not update last_non_b_pict_type in update_thread_context()
...
It is used for encoding only.
2013-12-05 13:23:33 +01:00
Anton Khirnov
1f8eb69079
mpegvideo: move encoding-only initialization from common_init() to encode_init()
2013-12-05 13:23:03 +01:00
Anton Khirnov
bedf952bb8
mpegvideo: move setting encoding-only vars from common_defaults() to encode_defaults()
2013-12-05 13:22:55 +01:00
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