Michael Niedermayer
eb87d1f678
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0
Conflicts:
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 13:49:16 +01:00
James Almer
ae330070ee
libvpxenc: token_parts is VP8 specific
...
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 00:38:40 +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
Ronald S. Bultje
92436e8ad9
vp9: implement top/left half (4x4) sub-8x8-IDCT.
...
For that specific case (eob>3&&eob<=12), runtime of idct8x8 goes from
668 to 477 cycles. For all idct8x8, runtime goes from 521 to 490 cycles.
2013-12-07 12:39:36 -05:00
Ronald S. Bultje
b2045c44a9
vp9: split pre-load of 11585x2 out of 1d idct macro.
...
This allows us to load it only once, instead of twice, in this function.
2013-12-07 12:39:36 -05:00
Ronald S. Bultje
f9a0d4c6e0
vp9: minor refactorings in idct ssse3 assembly.
...
Make register usage in macros explicit; change mulsub_2w_4x to use 2
instead of 3 temp registers.
2013-12-07 12:39:35 -05:00
Ronald S. Bultje
8729964b99
vp9: split x86 assembly in two files.
...
(And in future, loopfilter or intra pred could be put in their own
respective files also.)
2013-12-07 12:39:35 -05: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
Michael Niedermayer
90539cea33
avcodec/error_resilience: check that er is supported before attempting to read the status of the previous slice
...
Fixes incorrectly set error_occured and improves speed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 16:49:35 +01:00
Michael Niedermayer
afb18c5578
avcodec/error_resilience: factor er_supported() check out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 16:49:00 +01:00
Michael Niedermayer
976fc5911c
avcodec/qdm2: move static init to normal init to avoid initializing tables that might never be used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 15:40:44 +01:00
Michael Niedermayer
133fbfc781
do O(1) instead of O(n) atomic operations in register functions
...
about 1ms faster startup time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 15:27:36 +01:00
Michael Niedermayer
2b215f3939
mjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out
...
This reduces the amount of duplicated code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:31:23 +01:00
Michael Niedermayer
535af2c222
avcodec/mpegvideo_enc/frame_end(): remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:19:33 +01:00
Michael Niedermayer
9a0d719b10
avcodec/mjpegenc/ff_mjpeg_escape_FF: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:19:11 +01:00
Michael Niedermayer
82c7d704fd
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
webp: add a special case for a huffman table with only 1 symbol
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:13:33 +01:00
Michael Niedermayer
db44eff197
Merge commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e'
...
* commit 'f51e3a1971045c7ed0c3d9d29d3254a4d940198e':
webp: do not call av_frame_free() on the user-provided frame
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:07:08 +01:00
Michael Niedermayer
711c664a0e
Merge commit 'b73a8922d818c7f909855557718d4c3bfacbd92d'
...
* commit 'b73a8922d818c7f909855557718d4c3bfacbd92d':
ljpegenc: split yuv encoding into a separate function
Conflicts:
libavcodec/ljpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 14:01:54 +01:00
Michael Niedermayer
1fd323f31e
Merge commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5'
...
* commit 'fa4476815d0d27996eb199452f2cdbfccdd244a5':
ljpegenc: split bgr encoding into a separate function
Conflicts:
libavcodec/ljpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:55:37 +01:00
Michael Niedermayer
fb98ca575d
Merge commit 'daffed3b173c59d64907747bf3309e98a8974f4e'
...
* commit 'daffed3b173c59d64907747bf3309e98a8974f4e':
ljpegenc: accept bgr24 instead of bgra
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c
Only whitespace merged, we continue to support both formats
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:48:20 +01:00
Michael Niedermayer
6f7dbb9cc1
Merge commit '0cdbc4d39394965bd8712395b19160da8f3fe144'
...
* commit '0cdbc4d39394965bd8712395b19160da8f3fe144':
ljpegenc: rename the encoding function.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:38:30 +01:00
Michael Niedermayer
6deaab360c
Merge commit '72c0b8f724a71d2784aecad0e5221e7ab6206371'
...
* commit '72c0b8f724a71d2784aecad0e5221e7ab6206371':
ljpeg: remove a commented-out line
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:37:09 +01:00
Michael Niedermayer
0ebdf8d9ec
avcodec/mjpegenc: fix and use lossless flag in ff_mjpeg_encode_picture_header()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:31:14 +01:00
Michael Niedermayer
93947d88f2
Merge commit '24abd806ea0cfb0d988d2f0044eac79cff12918c'
...
* commit '24abd806ea0cfb0d988d2f0044eac79cff12918c':
ljpegenc: deMpegEncContextize
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
tests/ref/vsynth/vsynth1-ljpeg
tests/ref/vsynth/vsynth2-ljpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 13:30:23 +01:00
Michael Niedermayer
d756b2b530
avcodec/ljpegenc: Dont use ff_mjpeg_encode_stuffing()
...
This avoids a use of MpegEncContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 12:01:28 +01:00
Michael Niedermayer
978ae13f23
avcodec/mjpegenc: move end padding/alignment to ff_mjpeg_escape_FF()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 12:01:28 +01:00
Michael Niedermayer
9fcd58ab26
avcodec/mjpegenc: make escape_FF() non static
...
This will be used by ljpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:49:53 +01:00
Michael Niedermayer
f2d8e3c031
avcodec/ljpegenc: fix mem allocation failure return code encode_picture_lossless()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:49:17 +01:00
Michael Niedermayer
0f057ea3c5
Merge commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d'
...
* commit '86eb2eaac629909d6ee4067c6f1e485a4e70473d':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
Conflicts:
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:40:30 +01:00
Michael Niedermayer
b342ea603f
Merge commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed'
...
* commit '3360ad995530ea6967b1e83981b4aa8240fbb0ed':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
Conflicts:
libavcodec/ljpegenc.c
libavcodec/mjpegenc.c
libavcodec/mjpegenc.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:33:07 +01:00
Michael Niedermayer
d8fb209a7f
Merge commit '058d5f2feb730846f22c1812e433f92f670ad751'
...
* commit '058d5f2feb730846f22c1812e433f92f670ad751':
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
Conflicts:
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 11:16:05 +01:00
Michael Niedermayer
5cda499d66
Merge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'
...
* commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7':
mjpegenc: do not pass MpegEncContext to jpeg_table_header()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 10:28:20 +01:00
Michael Niedermayer
4a0d8277d5
Merge commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9'
...
* commit 'ff506c75b71d7aaa1062b49043e0b881b1e263e9':
mjpegenc: do not pass MpegEncContext to put_huffman_table()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 05:01:07 +01:00
Michael Niedermayer
b22c16daaf
Merge commit 'a1ba1f20b350cb89e645f17bdb237d027170db33'
...
* commit 'a1ba1f20b350cb89e645f17bdb237d027170db33':
mjpegenc: cosmetics, reformat jpeg_put_comments()
Conflicts:
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 04:25:56 +01:00
Michael Niedermayer
fb06b8ba93
Merge commit '0812f5a40a0a190172b6de6e91755b882472ddc5'
...
* commit '0812f5a40a0a190172b6de6e91755b882472ddc5':
mjpegenc: write the JFIF header if the sample aspect ratio is set
Conflicts:
libavcodec/mjpegenc.c
See: f3ce748d34
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 04:19:26 +01:00
Michael Niedermayer
0d9f2f5c47
Merge commit '66499f34b56fc6a9fdef25543bd9d576fc787895'
...
* commit '66499f34b56fc6a9fdef25543bd9d576fc787895':
mpegvideo: do not set current_picture_ptr in decoders
Conflicts:
libavcodec/mss2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 04:09:47 +01:00
Michael Niedermayer
dfd11eb2a5
Merge commit 'ac1fc92ea410c396594fcd79f5d4491fe6a8cc90'
...
* commit 'ac1fc92ea410c396594fcd79f5d4491fe6a8cc90':
vc1dec: move setting repeat_pict after frame_start() has been called.
Conflicts:
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 03:55:12 +01:00
Michael Niedermayer
52b69fa142
Merge commit '282c6a1a0ef3e8c8e180c15b39cfe5b89704d848'
...
* commit '282c6a1a0ef3e8c8e180c15b39cfe5b89704d848':
mpegvideo: make ff_release_unused_pictures() static
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 03:46:47 +01:00
Michael Niedermayer
f1db3f5f59
Merge commit 'c99307caee01441cfde24f3b7b0db3037b7022dc'
...
* commit 'c99307caee01441cfde24f3b7b0db3037b7022dc':
mpegvideo: make frame_size_alloc() static.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 03:29:33 +01:00
Michael Niedermayer
08667c2678
Merge commit '0b0a7a751de02464a33717e70352f696372ba1c4'
...
* commit '0b0a7a751de02464a33717e70352f696372ba1c4':
mpegvideo: move encode-only parts of common_end() to encode_end()
Conflicts:
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 03:12:10 +01:00
Michael Niedermayer
e3b7f0e184
Merge commit 'd0d111d0592bfd6b2b8bcd2321986c0fc493455d'
...
* commit 'd0d111d0592bfd6b2b8bcd2321986c0fc493455d':
mpegvideo: remove commented out cruft from ff_MPV_frame_end()
Conflicts:
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 02:54:45 +01:00
Michael Niedermayer
b6e7834ac6
avcodec/mpegvideo_enc: fix linesizes in frame_end()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 02:53:10 +01:00
Michael Niedermayer
26c2e3bf1a
Merge commit '381a722562bcc0b623acf6a00a583fe989bcb72a'
...
* commit '381a722562bcc0b623acf6a00a583fe989bcb72a':
mpegvideo: split the encoding-only parts of ff_MPV_frame_end() into a separate function
Conflicts:
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 02:48:09 +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
Michael Niedermayer
d5050bae80
Merge commit 'b7254288d222013e20539c530b1ec5d324ed5352'
...
* commit 'b7254288d222013e20539c530b1ec5d324ed5352':
mpegvideo: do not update last_non_b_pict_type in update_thread_context()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 02:18:50 +01:00
Michael Niedermayer
20b28fc7b0
Merge commit '1f8eb69079880ef1f394c498dfdf471f91222a06'
...
* commit '1f8eb69079880ef1f394c498dfdf471f91222a06':
mpegvideo: move encoding-only initialization from common_init() to encode_init()
Conflicts:
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 02:12:59 +01:00
Michael Niedermayer
2951b7fb1d
Merge commit 'bedf952bb80ae26427854dcde56c139ecb87d4a0'
...
* commit 'bedf952bb80ae26427854dcde56c139ecb87d4a0':
mpegvideo: move setting encoding-only vars from common_defaults() to encode_defaults()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:58:55 +01:00
Michael Niedermayer
16338b4fb9
Merge commit '2cab011f0f02fcff8a0629a611bcac2f0459f04a'
...
* commit '2cab011f0f02fcff8a0629a611bcac2f0459f04a':
mpegvideo: don't copy input_picture_number in update_thread_context()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:52:53 +01:00
Michael Niedermayer
cf948200bd
Merge commit 'ff7ffe48097f32417781fe8b2b417eff05a52c55'
...
* commit 'ff7ffe48097f32417781fe8b2b417eff05a52c55':
mpeg4videodec: move showed_packed_warning from MpegEncContext to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:46:51 +01:00
Michael Niedermayer
36e2ec4068
Merge commit 'f7d228676cb7669059889c4225c8a8dc56708c24'
...
* commit 'f7d228676cb7669059889c4225c8a8dc56708c24':
mpeg4videodec: move intra_dc_threshold from MpegEncContext to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:38:55 +01:00
Michael Niedermayer
db7580b4f6
Merge commit 'a097f0049b28dc3ed13625e4a42619292c92492f'
...
* commit 'a097f0049b28dc3ed13625e4a42619292c92492f':
mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context
Conflicts:
libavcodec/mpeg12dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:33:17 +01:00
Michael Niedermayer
85d3bc33b1
Merge commit 'ff300e435e5337b03dc7a8f1c0be6c9937059c1e'
...
* commit 'ff300e435e5337b03dc7a8f1c0be6c9937059c1e':
mpegvideo: remove an unused variable
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:21:39 +01:00
Michael Niedermayer
92e10e34b1
Merge commit 'e41ff4210ac1192c62de3052b33a38c7bcf772f2'
...
* commit 'e41ff4210ac1192c62de3052b33a38c7bcf772f2':
mpeg4videodec: move use_intra_dc_vlc from MpegEncContext to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 01:14:46 +01:00
James Almer
56572787ae
Add Windows resource file support for shared libraries
...
Originally written by James Almer <jamrial@gmail.com>
With the following contributions by Timothy Gu <timothygu99@gmail.com>
* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.
[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 23:42:07 +01:00
Michael Niedermayer
6005ab3e0e
avcodec/mjpegenc: use av_log2_16bit() in encode_block()
...
This reduces the number of operations done per non zero coefficient
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 14:15:28 +01: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
Michael Niedermayer
5b4d57455d
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Initialize mmxext after amd3dnow optimizations
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 11:55:41 +01:00
Michael Niedermayer
be99054e77
avcodec/cavsdec: print error messages in case of errors
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 03:53:39 +01:00
Michael Niedermayer
bc1b828536
avcodec/cavsdec: use more specific error codes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 03:51:08 +01:00
Michael Niedermayer
9ca32b2060
avcodec/cavsdec: print warning if no frame has been decoded
...
Fixes ticket3128
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 02:17:15 +01:00
Michael Niedermayer
63f74cedc9
avcodec/cavsdec: reset stc
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 02:16:59 +01:00
Michael Niedermayer
0538b29ae8
avcodec/cabac: force get_cabac to be not inlined
...
works around bug in gccs inline asm register assignment
Fixes Ticket3177
gcc from 4.4 to 4.6 is affected at least, no non affected gccs known
clang seems not affected
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 01:49:35 +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
Michael Niedermayer
f1783c05f1
Revert "avcodec/hevc: calculate checksum only if AV_EF_EXPLODE is set"
...
This reverts commit 758b6d39f6
.
Requested-by: smarter
"now that http://git.videolan.org/?p=ffmpeg.git;a=commit;h=97de206b44a48da726807cc3e7b9448a8112760b
has been merged, http://git.videolan.org/?p=ffmpeg.git;a=commit;h=758b6d39f685a510f48ff9e4c05fffa859d23c42
could be reverted, this would reduce the delta with libav
(and it makes sense)"
2013-12-04 11:46:31 +01:00
Michael Niedermayer
babb611d35
libavcodec/mpegaudio: change CONFIG_FLOAT to USE_FLOAT
...
The CONFIG_ name-space is set by configure, so its better to use a
different prefix here.
This also unifies the encoder & decoder define that is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-03 21:12:00 +01:00
Michael Niedermayer
04e06cdf7d
avcodec: split mp2 encoder into float and fixed
...
This makes the USE_FLOATS == 0 available to the end user
More float optimizations can easily be added as well now
common code should be factored out into a common file once all
fixed point & floating point optimizations are done, this is to
avoid having to move code back and forth between files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-03 21:12:00 +01:00
Ronald S. Bultje
9695fb2622
vp9_parser: handle zero-sized packets.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-03 14:06:34 +01:00
Michael Niedermayer
830be99ae1
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dv: Split off DV video encoder into its own file
Conflicts:
libavcodec/dv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 23:04:05 +01:00
Michael Niedermayer
b58c1dd632
Merge commit '21710ea82118c9d19bea9277b2a85a33096fdd95'
...
* commit '21710ea82118c9d19bea9277b2a85a33096fdd95':
dv: Move DV VLC data tables out of header file
Conflicts:
libavcodec/dv_vlc_data.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 20:24:02 +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
Michael Niedermayer
be2312aa8f
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dsputil: x86: Move ff_inv_zigzag_direct16 table init to mpegvideo
If someone optimizes dct_quantize for non x86 SIMD, then this
probably needs to be reverted.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 10:59:48 +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
Michael Niedermayer
e3d7a3978b
avcodec/h264_refs: improve key frame detection heuristic
...
Fixes Ticket3186
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 02:36:58 +01:00
Michael Niedermayer
ab6ea7a819
avcodec/h264_refs: split conditions of if() up for better readability
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 02:12:39 +01:00
Ronald S. Bultje
f068aed7b8
vp9: make decode_coeffs() return value void.
...
It was previously int and would return error if decode_coeffs_b()
returns an error; however, that can never happen, so refactor all
that code to make all dependent functions return void also (all the
way up to decode_coeffs_sb()).
2013-11-30 16:26:14 -05:00
Ronald S. Bultje
47c6d9403d
vp9: cosmetics.
2013-11-30 16:26:14 -05:00
Ronald S. Bultje
76bd878d95
vp9: add a 2-pass decoding mode, and add frame-mt support.
...
For a random 1080p sample, decoding time went from 9.7sec (1 threads)
to 6.0sec (2 threads) and 5.2sec (4 threads) in 2-pass decoding mode.
I don't have any samples that use the parallelmode feature, but the
gains should be higher.
2013-11-30 16:26:13 -05:00
Ronald S. Bultje
46955ae430
vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
2013-11-30 16:26:13 -05:00
Ronald S. Bultje
fc7d910b2e
vp9: split last/cur_frame from the reference buffers.
...
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
2013-11-30 16:26:13 -05:00
Ronald S. Bultje
39b244002a
vp9: move some entries out of VP9Block into VP9Context.
...
They aren't really block-related variables in the sense that they are
not block-coded, rather they are state trackers.
2013-11-30 16:26:12 -05:00
Ronald S. Bultje
84d362f020
vp9: split packet parsing into an AVParser.
2013-11-30 16:26:12 -05:00
Ronald S. Bultje
816737ea5d
vp9: use proper refcounting.
...
Based on something similar in libav. Author is likely Anton Khirnov
<anton@khirnov.net> but I'm not sure.
2013-11-30 16:26:12 -05:00
Michael Niedermayer
a3b9f53d7b
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dcadec: Add some logging before returning on error
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 21:09:42 +01:00
Michael Niedermayer
a235af93bd
avcodec/mpeg4video: fix doxycomments so they are not associated with random unrelated fields
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 20:30:11 +01:00
Nicolas George
4b1c9b720e
lavc/srtenc: use bprint for text buffers.
...
Fix trac ticket #3120 .
2013-11-30 13:57:53 +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
Michael Niedermayer
5d9e663064
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
go2meeting: disallow tile dimensions that are not multiple of 16
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:49:54 +01:00
Michael Niedermayer
f09f295109
Merge commit 'e026ee0446de27fc38e33e98704fada012fdc763'
...
* commit 'e026ee0446de27fc38e33e98704fada012fdc763':
mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:40:51 +01:00
Michael Niedermayer
7f18cb9101
Merge commit '513d849bb605d3d862da1ada709bd2ca1ac68f58'
...
* commit '513d849bb605d3d862da1ada709bd2ca1ac68f58':
mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:34:46 +01:00
Michael Niedermayer
4c55aa8f93
Merge commit '9ba3fc3e3d12c9ef00dcb0222b7ea0ccb5c4a091'
...
* commit '9ba3fc3e3d12c9ef00dcb0222b7ea0ccb5c4a091':
mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:29:26 +01:00
Michael Niedermayer
ae4e7f7ba6
Merge commit '58c120a9290eef057dbf26761a4f89b7f67bbde1'
...
* commit '58c120a9290eef057dbf26761a4f89b7f67bbde1':
mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:23:43 +01:00
Michael Niedermayer
b27ba2e540
Merge commit '6e81597d5a89f64dfab5c7e99e46b4355139e324'
...
* commit '6e81597d5a89f64dfab5c7e99e46b4355139e324':
mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:15:46 +01:00
Michael Niedermayer
aeead42789
Merge commit '2992afda83a7d5c0a9ec45bdce76d8abbe0961c5'
...
* commit '2992afda83a7d5c0a9ec45bdce76d8abbe0961c5':
mpeg4videodec: remove a write-only variable from MpegEncContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 04:02:14 +01:00
Michael Niedermayer
1897c4a119
Merge commit '3b1c0f686d5a162ceb5048910a7ce0bf7ed3a1ab'
...
* commit '3b1c0f686d5a162ceb5048910a7ce0bf7ed3a1ab':
mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:55:39 +01:00
Michael Niedermayer
47e5eaf8c9
Merge commit 'e89247debd5276d57ce4a26516224204f9541af0'
...
* commit 'e89247debd5276d57ce4a26516224204f9541af0':
mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:46:53 +01:00
Michael Niedermayer
f4c28aea38
Merge commit '8cebc9eaac8631adb23dd1e46c37ad8474139a07'
...
* commit '8cebc9eaac8631adb23dd1e46c37ad8474139a07':
mpeg4videodec: remove a write-only variable from MpegEncContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:40:09 +01:00
Michael Niedermayer
0cea39fdd3
Merge commit 'b1aacd56685cd131f517e0551834a0bbd3f5f809'
...
* commit 'b1aacd56685cd131f517e0551834a0bbd3f5f809':
mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:20:11 +01:00
Michael Niedermayer
79c1cdd973
mpeg4_update_thread_context: copy the whole mpeg4 specific context instead of variables one by one
...
This simplifies the code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:12:41 +01:00
Michael Niedermayer
3e5cd34cd0
Merge commit '038890740014dc33d2e2f04da7cf0a9da821264e'
...
* commit '038890740014dc33d2e2f04da7cf0a9da821264e':
mpeg4videodec: move cplx_estimation_* fields from MpegEncContext to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:11:16 +01:00
Michael Niedermayer
b08ff07d8d
avcodec/mpeg4videodec: update bug workaround related variables like they where before
...
This fixes the code after the variables have been moved into the
mpeg4 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 03:06:40 +01:00
Michael Niedermayer
b4ef7447eb
Merge commit '43af264de8606668c6b2fa7f96c946bdc3dbe072'
...
* commit '43af264de8606668c6b2fa7f96c946bdc3dbe072':
mpeg4videodec: move mpeg4-specific bug workaround variables from MpegEncContext to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:52:09 +01:00
Michael Niedermayer
ec5499d8ba
Merge commit 'e2ceb17642f374a7df8f1f5d3d2b2446525bc7fb'
...
* commit 'e2ceb17642f374a7df8f1f5d3d2b2446525bc7fb':
mpeg4videodec: move mpeg4-specific post-frame-decode code from h264dec to mpeg4videodec
Conflicts:
libavcodec/h263dec.c
libavcodec/mpeg4video.h
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:42:56 +01:00
Michael Niedermayer
b239f3f69d
avcodec/h263dec: move call to ff_mpeg4_workaround_bugs() under codec_id check
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:35:13 +01:00
Michael Niedermayer
6c9b82b6a0
avcodec/mpeg4videodec: move bug workaround code into seperate function
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 02:12:11 +01:00
Michael Niedermayer
ee9d53e572
Merge commit '48e139409556861c9e561ce34133891d8eecc3cf'
...
* commit '48e139409556861c9e561ce34133891d8eecc3cf':
mpeg4videodec: move MpegEncContext.resync_marker into Mpeg4DecContext.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 01:28:04 +01:00
Michael Niedermayer
2d2b363c65
h263: remove unused ff_h263_find_resync_marker()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 00:58:33 +01:00
Michael Niedermayer
2d614e9be1
Merge commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e'
...
* commit 'c2f7417eeb9cc31f75e71f7be2780f90f1628d7e':
vc1: move MpegEncContext.resync_marker into VC1Context.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 00:49:34 +01:00
Michael Niedermayer
26b526e776
Merge commit 'a5a71992cae34b321ceb8374f44ce17a945a3881'
...
* commit 'a5a71992cae34b321ceb8374f44ce17a945a3881':
mpeg4videoenc: don't set MpegEncContext.resync_marker
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:55:00 +01:00
Michael Niedermayer
f5d6541ba0
Merge commit 'ad09f52586eae4c5473c3a6a803d73e1ba56c0eb'
...
* commit 'ad09f52586eae4c5473c3a6a803d73e1ba56c0eb':
h263dec: remove commented out cruft
Conflicts:
libavcodec/h263dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:46:30 +01:00
Michael Niedermayer
91c63cb053
avcodec/mpeg4videodec: copy rvlc in mpeg4_update_thread_context too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:40:15 +01:00
Michael Niedermayer
9c835acc1d
Merge commit 'bc5abfb19e7ff00b859120561d6ffd622c7904fe'
...
* commit 'bc5abfb19e7ff00b859120561d6ffd622c7904fe':
mpeg4videodec: move MpegEncContext.rvlc to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:27:30 +01:00
Michael Niedermayer
cdc21e4abe
Merge commit '9f0617d2137bb7231b181d74392cd84ef4844cd7'
...
* commit '9f0617d2137bb7231b181d74392cd84ef4844cd7':
mpeg4videodec: remove write-only sprite variables from MpegEncContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:20:35 +01:00
Michael Niedermayer
36068709b3
avcodec/mpeg4videodec: Fix code so it also works after moving vol_sprite_usage around
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:13:54 +01:00
Michael Niedermayer
68c90fc086
Merge commit '1a89025793ca73d9685a8ce8e3194efa64dd6844'
...
* commit '1a89025793ca73d9685a8ce8e3194efa64dd6844':
mpeg4videodec: move MpegEncContext.vol_sprite_usage to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 23:04:26 +01:00
Michael Niedermayer
f602e22122
Merge commit '75bd07f732fb575c2b88dc7cd08a6bb12c2e24ea'
...
* commit '75bd07f732fb575c2b88dc7cd08a6bb12c2e24ea':
mpeg4videoenc: write 0 instead of vol_sprite_usage
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:59:02 +01:00
Michael Niedermayer
e2f63be012
Merge commit 'e62a43f6b1a9c0c82e1df33c0c038e32029c0aa4'
...
* commit 'e62a43f6b1a9c0c82e1df33c0c038e32029c0aa4':
mpeg4videodec: move MpegEncContext.time_increment_bits to Mpeg4DecContext
Conflicts:
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:45:05 +01:00
Michael Niedermayer
ad13b8ca9b
Merge commit 'ee8af2dd99dcb7a01a667deedec81d1aa2a00d72'
...
* commit 'ee8af2dd99dcb7a01a667deedec81d1aa2a00d72':
mpeg4videodec: move MpegEncContext.shape to Mpeg4DecContext
Conflicts:
libavcodec/h263dec.c
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:35:52 +01:00
Michael Niedermayer
be0b869b04
Merge commit '35e0833d410e31d9fd35695ad798c5d13de2af58'
...
* commit '35e0833d410e31d9fd35695ad798c5d13de2af58':
mpeg4videodec: add a mpeg4-specific private context.
Conflicts:
libavcodec/mpeg4video_parser.c
libavcodec/mpeg4videodec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 22:27:28 +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
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
Anton Khirnov
b452d5ae86
mpeg4videodec: move mpeg4-specific bug detection from h263 generic code to mpeg4
2013-11-29 14:19:47 +01:00
Michael Niedermayer
6e7de11444
avcodec/dcadec: decode LFE so we dont just add random data when downmixing with LFE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 14:13:05 +01:00
Michael Niedermayer
d2e46b11e4
avcodec/dcadec: set AV_CLASS_CATEGORY
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:37 +01:00
Michael Niedermayer
55bd20a841
avcodec/dcadec: AVClass is const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:18 +01:00
Michael Niedermayer
5b3c684147
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dcadec: add disable_xch private option.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:39:52 +01:00
Michael Niedermayer
3f41e57fa8
Merge commit '220494ad0b2e9e980ef703b46b69308236f29be5'
...
* commit '220494ad0b2e9e980ef703b46b69308236f29be5':
dcadec: treat all 2-channel modes as Stereo in dca_downmix.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:21:34 +01:00
Michael Niedermayer
97468463a2
Merge commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48'
...
* commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48':
dca: support mixing LFE in dca_downmix.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:00:59 +01:00
Michael Niedermayer
7ea9c4a94c
Merge commit '149438cfe5d233c46bb18341b7c574fe643dd5f2'
...
* commit '149438cfe5d233c46bb18341b7c574fe643dd5f2':
dca: improve default stereo downmix coefficients.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:48:29 +01:00
Michael Niedermayer
12235a3ed2
avcodec/dcadec: print more details about errors
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:42:03 +01:00
Michael Niedermayer
43ec456320
Merge commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1'
...
* commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1':
dca: extract core substream's embedded downmix coeffcient codes, if present.
Conflicts:
libavcodec/dcadata.h
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:28:15 +01:00
Michael Niedermayer
c122e697fa
Merge commit '27245b4e1bbb7a863341db321b5bdc5792e427d9'
...
* commit '27245b4e1bbb7a863341db321b5bdc5792e427d9':
dca: remove embedded downmix coefficient extraction.
Conflicts:
libavcodec/dcadata.h
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 01:12:02 +01:00
Michael Niedermayer
a7f8817720
Merge commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d'
...
* commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d':
dca: convert dca_default_coeffs to float.
Conflicts:
libavcodec/dcadata.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:32:14 +01:00
Michael Niedermayer
e9a47896a0
Merge commit '25609b63d2e07d26d610f485a22082d32c96c0f5'
...
* commit '25609b63d2e07d26d610f485a22082d32c96c0f5':
dcadec: store the stereo downmix coefficients as float in the DCAContext.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:24:41 +01:00
Michael Niedermayer
cb751a6a96
Merge commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e'
...
* commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e':
dcadec: implement request_channel_layout.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:18:42 +01:00
Michael Niedermayer
3adb825650
Merge commit 'cf7860db608df7c76471d8b61f07abbd5aad8dd5'
...
* commit 'cf7860db608df7c76471d8b61f07abbd5aad8dd5':
x86: dsputil: Suppress deprecation warnings for XvMC bits
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 22:47:37 +01:00
Michael Niedermayer
f21ca39e81
Merge commit 'd1916d13e28b87f4b1b214231149e12e1d536b4b'
...
* commit 'd1916d13e28b87f4b1b214231149e12e1d536b4b':
dsputil/pngdsp: fix signed/unsigned type in end comparison
Conflicts:
libavcodec/dsputil.c
See: 454a11a1c9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 22:02:55 +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