Commit Graph

31377 Commits

Author SHA1 Message Date
Michael Niedermayer
27216bf314 avcodec/libtheoraenc: Check for stats allocation failure
Fixes CID1257785

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:11:27 +01:00
Michael Niedermayer
dedbefee60 Merge commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a'
* commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a':
  mpegaudio_parser: add MP3 ADU headers parser

Conflicts:
	libavcodec/mpegaudio_parser.c
	libavcodec/mpegaudiodecheader.c
	libavcodec/version.h

See: 8ca098f444
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:08:28 +01:00
Gilles Chanteperdrix
5cbae5651d mpegaudio_parser: add MP3 ADU headers parser
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:42 +02:00
Michael Niedermayer
f848a66009 avcodec/adpcm: use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:41:36 +01:00
Michael Niedermayer
d1c705087f avcodec/hevc_mvs: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:40:17 +01:00
Michael Niedermayer
d74c8d3ada avcodec/adxenc: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:38:13 +01:00
Michael Niedermayer
03f39fbb2a avcodec/x86/mlpdsp_init: Simplify mlp_filter_channel_x86()
Based on patch by Francisco Blas Izquierdo Riera
Commit message partly taken from carl

fixes a compilation
error in mlpdsp_init.c with -fstack-check and some gcc compilers (I
reproduced the issue with gcc 4.7.3) by simplifying the code.

See also https://bugs.gentoo.org/show_bug.cgi?id=471756

$ make libavcodec/x86/mlpdsp_init.o
libavcodec/x86/mlpdsp_init.c: In function ‘mlp_filter_channel_x86’:
libavcodec/x86/mlpdsp_init.c:142:5: error: can’t find a register in
class ‘GENERAL_REGS’ while reloading ‘asm’
libavcodec/x86/mlpdsp_init.c:142:5: error: ‘asm’ operand has impossible
constraints

4551 -> 4509 dezicycles

Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 16:05:41 +01:00
Michael Niedermayer
fbae0ac3e4 avcodec/ffv1enc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:19 +01:00
Michael Niedermayer
114a2eb272 avcodec: Use av_clip_uintp2() where possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:03 +01:00
Michael Niedermayer
d301a13427 avcodec/snowenc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:44:34 +01:00
Michael Niedermayer
4b55a7e1ce Merge commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5'
* commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5':
  h264: initialize H264Context.avctx in init_thread_copy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:53:00 +01:00
Michael Niedermayer
6458e4750f Merge commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40'
* commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40':
  h264: only ref cur_pic in update_thread_context if it is initialized

Conflicts:
	libavcodec/h264_slice.c

See: 0fc01ae33c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:45:42 +01:00
Michael Niedermayer
66d79aa2e1 Merge commit '9abc80f1ed673141326341e26a05c3e1f78576d0'
* commit '9abc80f1ed673141326341e26a05c3e1f78576d0':
  libavcodec: Make use of av_clip functions

Conflicts:
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:27:24 +01:00
Anton Khirnov
a06b0b1295 h264: initialize H264Context.avctx in init_thread_copy
This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.
2015-02-21 09:29:48 +01:00
Anton Khirnov
0dea4c77cc h264: only ref cur_pic in update_thread_context if it is initialized
It may be empty if the previous thread's decode call did not contain a
valid frame.
2015-02-21 09:29:27 +01:00
Peter Meerwald
9abc80f1ed libavcodec: Make use of av_clip functions
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Michael Niedermayer
0a1146a59a Merge commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b'
* commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b':
  libavcodec: Don't use av_cold annotation in twinvq header file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:24:43 +01:00
Peter Meerwald
b8d18a9437 libavcodec: Don't use av_cold annotation in twinvq header file
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Michael Niedermayer
588361dd26 avcodec/dca: move remaining tables to dcadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 11:11:33 +01:00
Michael Niedermayer
6c91afe497 avcodec/snowdec: Fix avmv_index increment
Fixes reading uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 03:31:14 +01:00
Michael Niedermayer
b11edbd289 avcodec/dss_sp: Avoid a slow division and modulo in the pitch_lag calculation
Also check the combined_pitch for validity (which is needed to keep the behavior
identical in the error case)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:53:35 +01:00
Michael Niedermayer
31fb029f2d avcodec/dss_sp: de-obfuscate index inversion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:41:41 +01:00
Michael Niedermayer
4f1c1b26f2 avcodec/dss_sp: Protect DSS_SP_FORMULA() with a set of outside brackets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:29:02 +01:00
Michael Niedermayer
dfe5a9f022 Merge commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b'
* commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b':
  lavc: Add DSS SP decoder

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:31:26 +01:00
Michael Niedermayer
99bcfe6227 Merge commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23'
* commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23':
  qsv_api: fix building with libmfx disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:33 +01:00
Michael Niedermayer
841e9f431c Merge commit '4e08c821106fc1d6d358864abf0d8488b12f38c6'
* commit '4e08c821106fc1d6d358864abf0d8488b12f38c6':
  lavc: add an Intel libmfx-based H.264 decoder

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:04 +01:00
Michael Niedermayer
560eb7179a Merge commit '31d2039cb42668ebcf08248bc48bbad44aa05f49'
* commit '31d2039cb42668ebcf08248bc48bbad44aa05f49':
  h264_parser: export video format and dimensions

Conflicts:
	libavcodec/h264_parser.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:39:04 +01:00
Oleksij Rempel
c56b9b1eb2 lavc: Add DSS SP decoder
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Anton Khirnov
0fbb271318 qsv_api: fix building with libmfx disabled 2015-02-19 17:35:34 +01:00
Anton Khirnov
4e08c82110 lavc: add an Intel libmfx-based H.264 decoder
Based on the code by Luca Barbato <lu_zero@gentoo.org> and Yukinori
Yamazoe <drocon11@gmail.com>.
2015-02-19 15:08:49 +01:00
Anton Khirnov
31d2039cb4 h264_parser: export video format and dimensions 2015-02-19 15:07:52 +01:00
Michael Niedermayer
c1ff2cdbca Merge commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5'
* commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5':
  rv40: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 10:54:07 +01:00
Himangi Saraogi
0f532fd3f9 rv40: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-19 08:39:29 +01:00
Michael Niedermayer
f144e4ddff avcodec/wmalosslessdec: use sizeof() instead of a literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 03:14:50 +01:00
Derek Buitenhuis
8b96e8dd28 libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:56 -05:00
Derek Buitenhuis
b920db6731 libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:54 -05:00
Derek Buitenhuis
d617e77cec libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:18:12 -05:00
Derek Buitenhuis
2de887e45b libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:16:50 -05:00
Michael Niedermayer
424ed1a83e avcodec/faxcompr: Fix memleak
Fixes CID1270816

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 11:38:00 +01:00
Paul B Mahol
956bd71eeb avcodec/opusdec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-18 09:58:16 +00:00
Michael Niedermayer
b7c19aee6c avcodec/wavpack: Add () to protect the arguments of UPDATE_WEIGHT_CLIP()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer
dfc2a3982f avcodec/wmalosslessdec: Add () to protect the arguments of WMASIGN()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:28 +01:00
Michael Niedermayer
d06dce21a4 Merge commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd'
* commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd':
  wmv2: Return meaningful error codes

Conflicts:
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:34:36 +01:00
Michael Niedermayer
41572ac698 Merge commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2'
* commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2':
  qdm2: Return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:26:56 +01:00
Michael Niedermayer
d128794fbc Merge commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012'
* commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012':
  libxvid: Return meaningful error messages

Conflicts:
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c

See: 2a89afb376 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:13:12 +01:00
Michael Niedermayer
2e786bc498 avcodec/aac_adtstoasc_bsf: Clear extradata_size on allocation failure
This keeps the fields consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:58:31 +01:00
Michael Niedermayer
38e867f6c0 Merge commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d'
* commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d':
  aac_adtstoasc_bsf: Check extradata memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:55:27 +01:00
Michael Niedermayer
62aec0c2d5 Merge commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc'
* commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc':
  avpacket: Check buffer reference

Conflicts:
	libavcodec/avpacket.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:47:36 +01:00
Michael Niedermayer
7a7b77e6c9 Merge commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46'
* commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46':
  vorbisdec: Check memory allocations

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:39:32 +01:00
Michael Niedermayer
3d5c0ba816 Merge commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11'
* commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11':
  dvdsubdec: Check memory allocations

Conflicts:
	libavcodec/dvdsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:31:26 +01:00
Michael Niedermayer
2980c8e7d3 Merge commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4'
* commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4':
  lavc: Document interaction between avcodec_open2() and decoding routines

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:25:07 +01:00
Michael Niedermayer
d2668ae472 Merge commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86'
* commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86':
  dca: Remove separate header for DCA ExSS

Conflicts:
	libavcodec/dca.h
	libavcodec/dca_exss.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:18:19 +01:00
Michael Niedermayer
03dab49a12 avcodec/vp56: Add () to protect TRANSPOSE()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 19:13:26 +01:00
Himangi Saraogi
42c8f92e2f wmv2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
f3e045263e qdm2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
a1e2c47cd4 libxvid: Return meaningful error messages 2015-02-17 12:18:20 -05:00
Himangi Saraogi
18f4fa251b aac_adtstoasc_bsf: Check extradata memory allocation
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:10 -05:00
Vittorio Giovara
fe0f4e5657 avpacket: Check buffer reference
CC: libav-stable@libav.org
Bug-Id: CID 1267889
2015-02-17 12:16:43 -05:00
Vittorio Giovara
31dc73e92a vorbisdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Vittorio Giovara
ec17782e17 dvdsubdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Vittorio Giovara
cb70a93ca1 lavc: Document interaction between avcodec_open2() and decoding routines 2015-02-17 11:27:42 -05:00
Vittorio Giovara
d89e58f539 dct-test: Fix initialization syntax
Related to "warning: suggest braces around initialization of subobject".
2015-02-17 11:27:42 -05:00
Christophe Gisquet
398f531915 x86: hevc_mc: fewer xmm regs used in epel h/v
11 xmm regs seem only required for avx2.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 15:19:19 +01:00
Michael Niedermayer
e3f7142306 avcodec/vc1dsp: add () to protect the arguments of the op* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:02:40 +01:00
Michael Niedermayer
cb9d40451c avcodec/ac3: add () to protect the macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:59:39 +01:00
Michael Niedermayer
235782260d avcodec/me_cmp: add () to protect avg*s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:13:00 +01:00
Michael Niedermayer
17a62cbcb9 avcodec/bmvvideo: Add () to protect NEXT_BYTE() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
James Almer
6e3651983c avcodec/hevcdsp: add missing () to CMP macro
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 18:56:16 -03:00
Christophe Gisquet
89cb4995fa x86: hevc_mc: save 1 gpr in epel filter loading
The 3*stride value stored in r3src can be loaded much later,
so use r3src instead of a dedicated gpr when possible.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 21:53:51 +01:00
James Almer
22596383f3 avcodec/hevcdsp: optimize pixel comparison in sao_edge_filter
GCC 4.9.2 on a Core i5-4200U @ 1.60GHz, Linux x86_64

Before
715487 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

After
672104 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 17:47:47 -03:00
zhaoxiu.zeng
bf99068089 avcodec/vc1_mc: factor out helper functions for scaling blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 19:44:46 +01:00
Clément Bœsch
f9240ec01a avcodec/gif: fix off by one in column offsetting finding 2015-02-16 17:47:35 +01:00
Seppo Tomperi
e40e446efd hevcdsp: HEVC deblocking ARM NEON register clobber fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 13:27:41 +01:00
zhaoxiu.zeng
0f83415569 avcodec/vc1_mc: move median4() to mathops.h
Needed for architecture specific optimizations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 11:41:00 +01:00
Diego Biurrun
f8c1719771 dca: Remove separate header for DCA ExSS
There is no point in having a separate header for a single declaration.
2015-02-16 10:44:56 +01:00
James Almer
03adafb318 x86/g722dsp: add ff_g722_apply_qmf_sse2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 00:41:21 -03:00
Michael Niedermayer
815daf1607 Merge commit '3a651f599a18b023602370b67a77eb0efa309b20'
* commit '3a651f599a18b023602370b67a77eb0efa309b20':
  dca: Move data tables from a header to an object file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:49:22 +01:00
Michael Niedermayer
9d4f836627 Merge commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda'
* commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda':
  dca: Add array sizes to array declarations

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:29:41 +01:00
Michael Niedermayer
e86f754b1c Merge commit '702458538d4e52809bcef460d39baabf061b16b5'
* commit '702458538d4e52809bcef460d39baabf061b16b5':
  g722: Add ARM NEON implementation for g722_apply_qmf()

Conflicts:
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:16:29 +01:00
Michael Niedermayer
39b40be2a1 Merge commit '73ae0a9d12857852222363f9a7c14d07058ebfd3'
* commit '73ae0a9d12857852222363f9a7c14d07058ebfd3':
  g722: Split out computation of band->s_zero and unroll code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:07:42 +01:00
Michael Niedermayer
9e0a1bd2b9 Merge commit 'b16057b5fe9f02442c52388037891c2e381205fc'
* commit 'b16057b5fe9f02442c52388037891c2e381205fc':
  g722: Unroll g722_apply_qmf()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:00:53 +01:00
Michael Niedermayer
9f1792982e Merge commit '10f160768b824f00933f33bc69f1fae89a25dfc8'
* commit '10f160768b824f00933f33bc69f1fae89a25dfc8':
  g722: Reduce number of pointers passed to g722_apply_qmf() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:54:19 +01:00
Michael Niedermayer
47df21e172 Merge commit '67690683130faf37dd9d969ced15eba2a1940ade'
* commit '67690683130faf37dd9d969ced15eba2a1940ade':
  g722: Split out g722_qmf_apply() function into g722dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:46:35 +01:00
Diego Biurrun
3a651f599a dca: Move data tables from a header to an object file
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Diego Biurrun
65df9904ce dca: Add array sizes to array declarations 2015-02-15 13:34:04 -08:00
Peter Meerwald
702458538d g722: Add ARM NEON implementation for g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:21 +02:00
Peter Meerwald
73ae0a9d12 g722: Split out computation of band->s_zero and unroll code
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:19 +02:00
Peter Meerwald
b16057b5fe g722: Unroll g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:16 +02:00
Peter Meerwald
10f160768b g722: Reduce number of pointers passed to g722_apply_qmf() function
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:14 +02:00
Peter Meerwald
6769068313 g722: Split out g722_qmf_apply() function into g722dsp.c
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:10 +02:00
zhaoxiu.zeng
38c619c1ed avcodec/vc1: cleanup and simplification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 17:28:02 +01:00
Michael Niedermayer
8123e19e61 avcodec/dcadec: Move remaining tables to dcadata.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 11:35:40 +01:00
Zhaoxiu Zeng
2a72b1664d avcodec/h264: use avpriv_find_start_code() in h264_split()
This also allows replacing several literal numbers by named constants
And it should be faster, the function is not speed relevant though as it is
generally only called a few times at the streams start.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:13:32 +01:00
Michael Niedermayer
e33b084ee9 Merge commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f'
* commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f':
  vdpau: Adjust necessary #includes for vdpau_internal.h

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:59:16 +01:00
Michael Niedermayer
d2223ec2bd Merge commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664'
* commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664':
  dca: Move all tables into dcadata.h

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:40:35 +01:00
Michael Niedermayer
6c44dd6c6e Merge commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3'
* commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3':
  dca: Remove trace debugging code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:32:23 +01:00
Michael Niedermayer
877c038a9d Merge commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa'
* commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa':
  dca: Return more informative error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:26:00 +01:00
Michael Niedermayer
ad0be70382 avcodec/dcaenc: rename DCA_SUBBANDS
Fixes "warning: DCA_SUBBANDS redefined"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:13:28 +01:00
Michael Niedermayer
d8901c2f01 Merge commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0'
* commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0':
  dca: Split code for handling the EXSS extension off into a separate file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:02:41 +01:00
Michael Niedermayer
a94eba6f0c Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
* commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0':
  avcodec: Don't anonymously typedef structs

Conflicts:
	libavcodec/alac.c
	libavcodec/cinepak.c
	libavcodec/cscd.c
	libavcodec/dcadec.c
	libavcodec/g723_1.c
	libavcodec/gif.c
	libavcodec/iff.c
	libavcodec/kgv1dec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:18:17 +01:00
Clément Bœsch
3cab173e23 avcodec/gif: support crop and transparency with PAL8 2015-02-14 20:48:50 +01:00
Paul B Mahol
088dfd3ff1 avcodec/dxtory: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 19:45:23 +00:00
Michael Niedermayer
4177f501b4 Merge commit '7769be590c7aeb2aad26ca723d105cf5203e33d2'
* commit '7769be590c7aeb2aad26ca723d105cf5203e33d2':
  vp56: Return meaningful error codes

Conflicts:
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:29:34 +01:00
Diego Biurrun
ecbcebde34 vdpau: Adjust necessary #includes for vdpau_internal.h 2015-02-14 10:56:01 -08:00
Gilles Chanteperdrix
8ca098f444 avcocdec/mpegaudio_parser: add MP3 ADU headers parser
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 19:32:42 +01:00
Diego Biurrun
2a9c6fae92 dca: Move all tables into dcadata.h 2015-02-14 10:13:49 -08:00
Diego Biurrun
8a213179af dca: Remove trace debugging code 2015-02-14 10:13:49 -08:00
Diego Biurrun
a96f51f29a dca: Return more informative error codes 2015-02-14 10:13:49 -08:00
Diego Biurrun
b339019de4 dca: Split code for handling the EXSS extension off into a separate file 2015-02-14 10:13:49 -08:00
Diego Biurrun
7f9f771eac avcodec: Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Himangi Saraogi
7769be590c vp56: Return meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-14 09:24:13 -08:00
Christophe Gisquet
b533949813 x86: hevc: remove a parameter to WP internals
The second stride is always the internal buffer one, MAX_PB_SIZE (times 2 to
get the value in bytes).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:22:50 +01:00
zhaoxiu.zeng
a196e0c66d avcodec/vc1_pred: few branchless optimizations
This is also simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:13:16 +01:00
Zhaoxiu Zeng
3b5ad8fbf7 avcodec/parser: optimize ff_mpeg4video_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 14:54:39 +01:00
Paul B Mahol
ba22295e76 lavc: deprecate VIMA decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 12:48:41 +00:00
zhaoxiu.zeng
ac7fc444ee avcodec/apedec: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 01:09:44 +01:00
zhaoxiu.zeng
b11a187575 avcodec/golomb: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 00:41:45 +01:00
zhaoxiu.zeng
0073c8e345 avcodec/apedec: move 'coeffs[256] and delay[256]' into, long_filter_high_3800
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:23:27 +01:00
zhaoxiu.zeng
9e6198f0a4 avcodec/wmalosslessdec: simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:08:00 +01:00
zhaoxiu.zeng
80f1378005 avcodec/wmalosslessdec: optimize sign operation
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:34:29 +01:00
zhaoxiu.zeng
bc0a440e88 avcodec/wmalosslessdec: change type of acfilter_coeffs from int64_t to int16_t
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:20:46 +01:00
zhaoxiu.zeng
e4ea84e12e avcodec/wmv2: simplify cbp_table_index calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 15:55:12 +01:00
zhaoxiu.zeng
b4b9a64bdb avcodec/vc1: simplify vc1_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:47:58 +01:00
zhaoxiu.zeng
b39ac9d210 avcodec/vc1: simplify find_next_marker()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:01:45 +01:00
Michael Niedermayer
3e2714992b Merge commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc'
* commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc':
  hevc: Use generic av_clip function, not C implementation

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_filter.c
	libavcodec/hevc_mvs.c

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 12:34:18 +01:00
Peter Meerwald
eea769df32 hevc: Use generic av_clip function, not C implementation
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-13 08:37:13 +01:00
James Almer
1679d68dbf x86/hevc_mc: optimize AVX2 mc functions
Before
40766 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

After
37975 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:58 -03:00
James Almer
14b44c1614 x86/hevc_sao: make sao_edge_filter_{10,12} work on x86_32
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:30 -03:00
Michael Niedermayer
cab6302534 avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
Tested-by: Andreas Haupt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 16:35:29 +01:00
Michael Niedermayer
9843746570 avcodec/mpegvideo_enc: correctly initialize chroma_intra_matrix for MPEG1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 00:19:22 +01:00
Michael Niedermayer
0bcb040a2e avcodec/mpegvideo_enc: Consider chroma_intra_matrix in dct_quantize_trellis_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 23:58:22 +01:00
Michael Niedermayer
7cac568b39 avcodec/mjpegenc: support trellis quantization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:52:55 +01:00
Michael Niedermayer
7366bb38f1 avcodec/mpegvideo_enc: Add intra_chroma_ac_vlc_length, it will be needed for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:35:53 +01:00
Michael Niedermayer
08509c8f86 avcodec/mjpegdec: Skip blocks which are outside the visible area
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash.avi

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 03:53:30 +01:00
Paul B Mahol
392d975efe avcodec: fix clobbered ff_get_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 14:20:32 +00:00
Paul B Mahol
e4eba9e21d avcodec/mss4: use av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
fd6768a4b8 avcodec/huffman: check if map was allocated too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
a5398aa56c avcodec/hevc_parser: check for av_mallocz() failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
James Almer
06fe6dfe12 x86/hevc_sao: make sao_band_filter work on x86_32
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-09 20:41:21 -03:00
Paul B Mahol
238247b622 avcodec/sgienc: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-09 14:07:54 +00:00
Michael Niedermayer
d80fe5d4bc avcodec/vb: Check for av_mallocz() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 09:27:16 +01:00
Seppo Tomperi
03cecf45c1 hevcdsp: ARM NEON optimized transforms
cherry picked from commit b153f55935969c794de4640f8d34e01c58e027ae

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 23:29:35 +01:00
Christophe Gisquet
b61b9e4919 x86: hevc_mc: remove lea in EPEL_LOAD
The second parameter to the macro is always an immediate address,
so no lea is needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:35 +01:00
Christophe Gisquet
4919b38421 x86: hevc_mc: fewer gpr autoloads for _v filters
In that case, it's just to load my, but mx/r3src is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:34 +01:00
James Almer
92d903afaa x86/vp9dsp: fix clobbering of xmm6 on IDCT sse2 functions
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-08 00:50:39 -03:00
Michael Niedermayer
7c148f30f3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support decoding yuv dpx images.
  Do not use -mdynamic-no-pic on OSX x86_64.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:36:23 +01:00
Michael Niedermayer
2048126ea7 avcodec/utils: Assert that dst->progress is clear before ff_thread_ref_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
de6df46120 avcodec/h264: Setup decoder to have matching reference to the EC code
Also move EC ref initialization to where the EC code is called.
Fixes out of array read
Fixes: asan_heap-uaf_143f420_142_20110805_112659_ch0.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
ecfd48dc06 avcodec/h264: Move COPY_PICTURE() to h264.h so it can be used from other parts of the h264 decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Carl Eugen Hoyos
2efaaf9476 Support decoding yuv dpx images. 2015-02-08 00:12:46 +01:00
Christophe Gisquet
626d6184ce x86: lavc/hevc_mc: fix comments
The width parameter is now completely at the back, and actually
never used. This helps understanding the actual parameter list.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 20:52:03 +01:00
Paul B Mahol
134e8c73ea avcodec/faxcompr: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 17:16:14 +00:00
Christophe Gisquet
97996eff4f hevc/sao: do in-place band filtering when possible
The copies are only needed when data must be restored, so skip them
when it must not be.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 18:04:25 +01:00
Christophe Gisquet
ed450d4acf x86: lavc: share more constant through defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 17:48:14 +01:00
Paul B Mahol
ec8ec999f4 avcodec/twinvqdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 15:19:03 +00:00
Christophe Gisquet
691b7f5e9e lavc/lossless_audiodsp: revert various commits
Their intent was to make the DSP work with wmalossless pro.
The later was fixed to work with the DSP.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:15:19 +01:00
Christophe Gisquet
46e2afa4dc wmalossless: reset lms_update
It may contain garbage at the end, and zeroing allows using DSP
with longer loops.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:14:32 +01:00
Hendrik Leppkes
8029af586f 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: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 14:33:29 +01:00
Anshul Maheshwari
f05efd42af avcodec/ccaption_dec: Added Debug logs
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 06:01:31 +01:00
Anshul Maheshwari
5647286e67 avcodec/ccaption_dec: handle error from ass_sub api
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:17 +01:00
Anshul Maheshwari
bf30161a8d avcodec/ccaption_dec: Added Roll up functionality
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:10 +01:00
Michael Niedermayer
2fd9ce92af avcodec/h264_slice: assert that reinit does not occur after the first slice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
38d5241b7f avcodec/h264_slice: ignore SAR changes in slices after the first
Fixes race condition and null pointer dereference
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
f111831ed6 avcodec/h264_slice: Check picture structure before setting the related fields
This might fix a hypothetical race condition

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
f906982c94 avcodec/h264_slice: Do not change frame_num after the first slice
Fixes potential race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 02:20:14 +01:00
Christophe Gisquet
9dc45d1f42 x86: lavc: share more constants
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 23:35:02 +01:00
Michael Niedermayer
bfb988b1fa Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/tscc: Make 32bit output opaque.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:31:32 +01:00
Mickaël Raulet
6ecc3fd612 x86/hevc_mc: use aligned loads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 21:38:00 +01:00
James Almer
383fddeec6 x86/lossless_audiodsp: fix compilation with --disable-yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 17:30:17 -03:00
Carl Eugen Hoyos
d45fadb6df lavc/tscc: Make 32bit output opaque.
Found-by: wm4
2015-02-06 21:02:08 +01:00
Michael Niedermayer
9bc7ee8a98 avcodec/avfft: Add simple self test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
Timothy Gu
5081012eb8 audioconvert: Add missing include for FF_API_AUDIO_CONVERT
Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
James Almer
aea29a891f x86/hevc_sao: fix loading of RIP address
pb_eo must be handled as a rip relative address for MSVC64, so an
intermediate register is needed. Should fix link failures.

Suggested by Hendrik Leppkes and Christophe Gisquet.

Tested-By: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 15:06:15 -03:00
Mickaël Raulet
bcb0925115 x86/hevc: use CLIPW macro when possible
Conflicts:
	libavcodec/x86/hevc_mc.asm

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:38:47 +01:00
Christophe Gisquet
5eedd36df1 x86: hevc_mc: use epel_hv 16-wide function
The epel_hv functions were still relying on only epel_hv 8-wide
being the maximum width instanciated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:37:56 +01:00
Pierre Edouard Lepere
a0d1300f71 x86: hevc_mc: add AVX2 optimizations
before
33304 decicycles in luma_bi_1, 523066 runs, 1222 skips
38138 decicycles in luma_bi_2, 523427 runs, 861 skips
13490 decicycles in luma_uni, 516138 runs, 8150 skips
after
20185 decicycles in luma_bi_1, 519970 runs, 4318 skips
24620 decicycles in luma_bi_2, 521024 runs, 3264 skips
10397 decicycles in luma_uni, 515715 runs, 8573 skips

Conflicts:
	libavcodec/x86/hevc_mc.asm
	libavcodec/x86/hevcdsp_init.c

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:20:47 +01:00
Michael Niedermayer
6fafc62b0b avcodec/h264: Be more strict on rejecting pps/sps changes
Fixes race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 15:22:51 +01:00
Michael Niedermayer
31cc9c04ca avcodec/h264: Be more strict on rejecting pps_id changes
Fixes race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 15:22:51 +01:00
Michael Niedermayer
69aa79365c avcodec/h264_ps: More completely check the bit depths
Fixes out of array read
Fixes: asan_static-oob_30328b6_719_cov_3325483287_H264_artifacts_motion.h264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 04:32:14 +01:00
Michael Niedermayer
a6c2c8fe3f Revert "avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar"
This reverts commit 3b4ffba3af.

Unbreaks the SSSE3 code on mingw32

Conflicts:

	libavcodec/x86/lossless_audiodsp.asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:31:45 +01:00
Michael Niedermayer
f1214763af avcodec/x86/lossless_audiodsp: Move order&8 fallback into C code
This is simpler and more robust, and fixes mismatching XMM save restore
mismatches

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:18:54 +01:00
Michael Niedermayer
d41b66a1a2 avcodec/vp3: pass correct context to av_log()
Fixes null pointer dereference
Fixes: signal_sigsegv_000_3694_cov_1050071691_theora.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:34:09 +01:00
Michael Niedermayer
3b4ffba3af avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar
This is needed as the mmx code is used as fallback from the ssse3 code

Suggested-by: jamrial
Tested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:20:59 +01:00
Michael Niedermayer
43b1fd5bb4 avcodec/hevc: drop redundant ifs()
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:29:55 +01:00
Seppo Tomperi
0c494114cc hevcdsp: ARM NEON optimized deblocking filter
cherry picked from commit 1b9ee47d2f43b0a029a9468233626102eb1473b8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:01:52 +01:00
Christophe Gisquet
9a2f5d825a hevc: free sao buffers when receiving a new SPS
The buffer pointers would be otherwise overwritten, causing a
leak on e.g. PERSIST_RPARAM_A_RExt_Sony_1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:50:35 +01:00
wm4
a83b6b077c vp9: assign PTS to visible instead of invisible frames
All the webm/vp9 files I have seen so far can have packets that contain
1 invisible and 1 visible frame. The vp9 parser separates them. Since
the invisible frame is always (?) the first sub-packet, the new packet
is assigned the PTS of the original packet, while the packet containing
the visible frame has no PTS.

This patch essentially reassigns the PTS from the invisible to the
visible frame.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:16:26 +01:00
James Almer
15574c505b x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:33 -03:00
James Almer
042c1159fc x86/hevcdsp: add ff_hevc_sao_edge_filter_8_{ssse3,avx2}
Original x86 intrinsics code and initial yasm port by Pierre-Edouard Lepere.
Refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
158583 decicycles in edge, sao_edge_filter_8 runs, 0 skips
5205 decicycles in ff_hevc_sao_edge_filter_32_8_ssse3, 32767 runs, 1 skips
2942 decicycles in ff_hevc_sao_edge_filter_32_8_avx2, 32767 runs, 1 skips

Width 64
705639 decicycles in sao_edge_filter_8, 262144 runs, 0 skips
19224 decicycles in ff_hevc_sao_edge_filter_64_8_ssse3, 262111 runs, 33 skips
10433 decicycles in ff_hevc_sao_edge_filter_64_8_avx2, 262115 runs, 29 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:27 -03:00
James Almer
1f1c7c8a57 hevcdsp: remove compilation-time-fixed parameter from sao_edge_filter
The stride_src parameter is always 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:22 -03:00
Michael Niedermayer
e09ad5bd0d avcodec/h264_refs: set last_pic_for_ec only if it has not been set previously
This ensures we do not loose the frame in case or multiple clears
Fixes out of array read
Fixes: asan_heap-oob_2fa47ea_2100_cov_1278768963_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 14:57:42 +01:00
Paul B Mahol
dccd648f9f avcodec/alsdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Paul B Mahol
57bca64b3f avcodec/cllc: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Philip Langdale
d20df2601f avcodec/nvenc: De-compensate aspect ratio compensation of DVD-like content.
For reasons we are not privy to, nvidia decided that the nvenc encoder
should apply aspect ratio compensation to 'DVD like' content, assuming that
the content is not bt.601 compliant, but needs to be bt.601 compliant. In
this context, that means that they make the following, questionable,
assumptions:

1) If the input dimensions are 720x480 or 720x576, assume the content has
an active area of 704x480 or 704x576.

2) Assume that whatever the input sample aspect ratio is, it does not account
for the difference between 'physical' and 'active' dimensions.

From, these assumptions, they then conclude that they can 'help', by adjusting
the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to
display only the 704 wide active area with the same aspect ratio as the full
720 wide image - this would be the correct adjustment factor, but what if you
don't? And more importantly, what if you're used to ffmpeg not making this kind
of adjustment at encode time - because none of the other encoders do this!

And, what if you had already accounted for bt.601 and your input had the
correct attributes? Well, it's going to apply the compensation anyway!
So, if you take some content, and feed it through nvenc repeatedly, it
will keep scaling the aspect ratio every time, stretching your video out
more and more and more.

So, clearly, regardless of whether you want to apply bt.601 aspect ratio
adjustments or not, this is not the way to do it. With any other ffmpeg
encoder, you would do it as part of defining your input paramters or
do the adjustment at playback time, and there's no reason by nvenc
should be any different.

This change adds some logic to undo the compensation that nvenc would
otherwise do.

nvidia engineers have told us that they will work to make this
compensation mechanism optional in a future release of the nvenc
SDK. At that point, we can adapt accordingly.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 02:32:33 +01:00
Michael Niedermayer
fd52d2d3d1 avcodec/mpegvideo_motion: Fix gmc chroma dimensions
Fixes integer overflow and out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 00:33:50 +01:00
James Almer
7457afc64d hevcdsp: replace the SAOParams struct parameter from sao_edge_filter
As with sao_band_filter, pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:53:04 -03:00
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