James Almer
121ccc3365
hevcdsp: further simplify sao_edge_filter
...
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:52:59 -03:00
Seppo Tomperi
4386e1fd94
hevcdsp: simplified sao_edge_filter
...
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:54 -03:00
Seppo Tomperi
74d7faf400
hevcdsp: separated sao edge filter and pixel restore funcs
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:49 -03:00
Michael Niedermayer
fabbfaa095
avcodec/mjpegdec: Check number of components for JPEG-LS
...
Fixes out of array accesses
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 20:49:12 +01:00
Michael Niedermayer
afa92907f3
avcodec/mjpegdec: Check escape sequence validity
...
Fixes assertion failure
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 20:14:18 +01:00
Hendrik Leppkes
b11994593a
dxva2_hevc: properly fill the scaling list structure
...
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied in the decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 16:31:49 +01:00
Paul B Mahol
9f1a5dbc26
avcodec/cdxl: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:40:04 +00:00
Michael Niedermayer
ba4fba8f48
Merge commit ' d615187f74'
...
* commit 'd615187f74 ':
aacdec: Support for ER AAC ELD 480.
Conflicts:
libavcodec/aacdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:49:17 +01:00
Michael Niedermayer
dd72e26d0c
Merge commit ' 7640c4a371'
...
* commit '7640c4a371 ':
aacdec: Tables for length 480 AAC ELD.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:40:23 +01:00
Michael Niedermayer
f53aa3f4f3
Merge commit ' 0ee2573347'
...
* commit '0ee2573347 ':
aacdec: Support for ER AAC in LATM
Conflicts:
libavcodec/aacdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:31:24 +01:00
Michael Niedermayer
5348d7b605
Merge commit ' edd9ea3ffb'
...
* commit 'edd9ea3ffb ':
aacdec: Refactor aac_er_decode_frame.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:18:51 +01:00
Michael Niedermayer
0afc26d330
Merge commit ' 82bd8a5769'
...
* commit '82bd8a5769 ':
aacdec: Refactor decode_ics_info.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:09:52 +01:00
Paul B Mahol
cecc4ea1fc
avcodec/evrcdec: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:42 +00:00
Paul B Mahol
63cb546f0a
avcodec/wnv1: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
1634d2bcd1
avcodec/on2avc: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
49f8257135
avcodec/tak_parser: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
c93a7b264f
avcodec/ac3dec: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
e9eb94ac5a
avcodec/qcelpdec: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
6e7ac5ee55
avcodec/webp: use init_get_bits8()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Alex Converse
d615187f74
aacdec: Support for ER AAC ELD 480.
...
Based in part on work from Niel van der Westhuizen <espes@pequalsnp.com>.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
7640c4a371
aacdec: Tables for length 480 AAC ELD.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
0ee2573347
aacdec: Support for ER AAC in LATM
2015-02-03 20:32:16 -08:00
Alex Converse
edd9ea3ffb
aacdec: Refactor aac_er_decode_frame.
2015-02-03 20:32:15 -08:00
Alex Converse
82bd8a5769
aacdec: Refactor decode_ics_info.
2015-02-03 20:32:15 -08:00
Christophe Gisquet
52f2adc015
avcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment requirements in FFmpeg
...
Use edge emu buffers
And enable the code unconditionally
Speed difference without USE_SAO_SMALL_BUFFER and with the new code:
Decicycles: 26772->26220 (BO32), 83803->80942 (BO64)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:22 +01:00
Christophe Gisquet
00fe77855b
avcodec/hevc: Do not zero is_pcm on allocation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:13 +01:00
Fabrice Bellard
da81cc38e8
avcodec/hevc: reduce memory for SAO
...
cherry picked from commit 5d9f79edef2c11b915bdac3a025b59a32082f409
SAO edge filter uses pre-SAO pixel data on the left and top of the ctb, so
this data must be kept available. This was done previously by having 2
copies of the frame, one before and one after SAO.
This commit reduces the storage to just that, instead of the previous whole
frame.
Commit message taken from patch by Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:01 +01:00
Michael Niedermayer
741b56fcee
avcodec/svq1dec: Add assert to ensure "stages >= 0"
...
This is currently always true, the assert protects against
future changes to the code breaking this assumtation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:38 +01:00
Michael Niedermayer
cba3a46e93
Merge commit ' 9b8c8a9395'
...
* commit '9b8c8a9395 ':
svq1dec: Validate the stages value strictly
Not merged, this is wrong, the condition is not possible
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:19 +01:00
Michael Niedermayer
acfb4ede2f
Merge commit ' 6f7a32839d'
...
* commit '6f7a32839d ':
svq1enc: correctly handle memory error and allocations
Conflicts:
libavcodec/svq1enc.c
See: 79888388e7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:40:46 +01:00
Luca Barbato
9b8c8a9395
svq1dec: Validate the stages value strictly
...
It can be less than -1.
Bug-Id: CID 1194397 / CID 1194398
CC: libav-stable@libav.org
2015-02-03 15:23:21 +00:00
Michael Niedermayer
6f7a32839d
svq1enc: correctly handle memory error and allocations
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Rong Yan
fc35df8931
avcodec/ppc/idctdsp.c: POWER LE support in idct_add_altivec()
...
also add GET_TMP2() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 06:16:39 +01:00
Michael Niedermayer
7b32b35bf5
Merge commit ' 3d5d46233c'
...
* commit '3d5d46233c ':
opus: Factor out imdct15 into a standalone component
Conflicts:
configure
libavcodec/opus_celt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:43:13 +01:00
Michael Niedermayer
aab902e646
Merge commit ' 28df0151b6'
...
* commit '28df0151b6 ':
configure: Add a dependency on vc1_decoder from vc1_parser
See: 6ac3c8c6a0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:32:05 +01:00
Michael Niedermayer
d525b45fde
avcodec/hevc_filter: Fix indention
...
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 19:56:44 +01:00
Mickaël Raulet
7cf6a67ef9
avcodec/hevc: adding support for monochrome sequences in hevc
...
cherry picked from commit 8e50557707d2ec11ccad657470b2e140f314348e
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 18:10:57 +01:00
Jean First
ecc92ee717
lavc/libopenjpegenc: move opj_create_compress, opj_cio_open and opj_set_event_mgr to libopenjpeg_encode_frame
...
libopenjpegenc crashes with "pointer being freed was not allocated" when threading
is enabled with:
ffmpeg -i tests/vsynth1/01.pgm -vcodec libopenjpeg file.j2k
this appears to be a bug in libopenjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:54:05 +01:00
Jean First
6d1d036e2c
lavc/libopenjpegenc: factorize cinema parameters to it's own function
...
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:32:54 +01:00
Diego Biurrun
3d5d46233c
opus: Factor out imdct15 into a standalone component
...
It will be reused by the AAC decoder.
2015-02-02 16:07:33 +01:00
Martin Storsjö
28df0151b6
configure: Add a dependency on vc1_decoder from vc1_parser
...
This fixes builds with vc1_parser enabled without vc1_decoder. All
the vc1_decoder object files were included in the vc1_parser line
in libavcodec/Makefile before, but architecture specific object files
for vc1_decoder were not.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-02 15:30:54 +02:00
Michael Niedermayer
6e95c67330
avcodec/wavpackenc: remove unneeded L suffixes
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 13:34:31 +01:00
James Almer
aa945dc112
x86/hevcdsp: add missing vzeroupper in ff_hevc_sao_band_filter_48_*_avx2
...
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-02 00:01:35 -03:00
Ben Boeckel
1fe94ea79e
vorbis: parse out setup headers as well
...
Prevents an 'Invalid packet' message. Currently mid-stream setup packets
are ignored. Theoretically, they could, based on the specification, be used to
reinitialize the stream if parameters change, but I don't expect that to be
common (and no one seems to have asked for it).
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 03:11:49 +01:00
James Almer
71e2cb4706
x86/hevcdsp: add missing guards to ff_hevc_sao_band_filter_avx2
...
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 21:45:52 -03:00
Christophe Gisquet
6a6aeb538b
hevc/sao: use aligned copies
...
For band filter, source and destination are aligned (except for 16x16 ctbs),
and otherwise, they are most often aligned. Overall, the total width is also
too small for amortizing memcpy.
Timings (using an intrinsic version of edge filters):
B/32 B/64 E/32 E/64
Before: 32045 93952 38925 126896
After: 26772 83803 33942 117182
2015-02-01 20:23:03 -03:00
Christophe Gisquet
bff7feb328
x86: hevc/sao: aligned source buffers
...
Usefull for at least band filter, for which:
- Band filter call only:
32 64
Before: 16556 54015
After: 16497 52355
- Whole case:
32 64
Before: 37031 103008
After: 32045 93952
2015-02-01 20:22:54 -03:00
James Almer
fa3eccb4f9
x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2}
...
Original x86 intrinsics code and initial 8bit yasm port by Pierre-Edouard Lepere.
10/12bit yasm ports, refactoring and optimizations by James Almer
Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U
width 32
40338 decicycles in sao_band_filter_0_8, 2048 runs, 0 skips
8056 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 2048 runs, 0 skips
7458 decicycles in ff_hevc_sao_band_filter_8_32_avx, 2048 runs, 0 skips
4504 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 2048 runs, 0 skips
width 64
136046 decicycles in sao_band_filter_0_8, 16384 runs, 0 skips
28576 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 16384 runs, 0 skips
26707 decicycles in ff_hevc_sao_band_filter_8_32_avx, 16384 runs, 0 skips
14387 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 16384 runs, 0 skips
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 20:22:35 -03:00
Michael Niedermayer
4531e2c489
avcodec/mpegvideo_enc: Fix number suffixes in rc_buffer_size calculation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
592ba6ec10
avcodec/h264_cabac: use int instead of long for mbb_xy
...
The mb address fits in int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00