Commit graph

39095 commits

Author SHA1 Message Date
Martin Vignali
7480f232d2 libavcodec/texturedspenc : indent after add rgtc1u_alpha func
Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:35:04 +01:00
Martin Vignali
92500c7bc5 libavcodec/texturedsp : indent after add rgtc1u_alpha func
Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:56 +01:00
Martin Vignali
50a20de6b9 libavcodec/texturedspenc : add rgtc1_u_alpha encoding func
this func encode the alpha channel of the rgba input
to an rgtc1u block

Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:14 +01:00
Martin Vignali
d4d4629dfe libavcodec/texturedsp : add rgtc1u_alpha decoding func
this func decode an rgtc1 texture and overwrite only the alpha channel
of the dest RGBA picture

Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:03 +01:00
Michael Niedermayer
963247b5f3 avcodec/dvbsubdec: Split best score computation out of loop in compute_default_clut()
3% faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
cd2f69cdd6 avcodec/dvbsubdec: Factor a few expressions out of compute_default_clut()
32% faster loop

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
393d6fc739 avcodec/snowdec: Check mv_scale
Fixes: runtime error: signed integer overflow: 2 * -1094995530 cannot be represented in type 'int'
Fixes: 3512/clusterfuzz-testcase-minimized-4812747210489856

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
9c85329cd0 avcodec/pafvideo: Check for bitstream end in decode_0()
Fixes: Timeout
Fixes: 3529/clusterfuzz-testcase-5057068371279872

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Kaustubh Raste
e5439e272e avcodec/mips: Improve hevc uni weighted vert mc msa functions
Pack the data to half word before clipping.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Kaustubh Raste
6ca821a3e7 avcodec/mips: Improve hevc uni horiz mc msa functions
Update macros to remove adds.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Kaustubh Raste
e63758468c avcodec/mips: Improve hevc bi copy mc msa functions
Load the specific destination bytes instead of MSA load and pack.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Kaustubh Raste
e549933a27 avcodec/mips: Improve avc put mc 12, 32 and 22 msa functions
Remove loops and unroll as block sizes are known.
Removed unused functions.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Kaustubh Raste
27a0a83880 avcodec/mips: Improve avc chroma avg horiz mc msa functions
Replace generic with block size specific function.
Load the specific destination bytes instead of MSA load and pack.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Clément Bœsch
d1aef7d08a lavc/pixlet: remove unecessary intermediate nb_levels variable
This is a change imported from Libav.
2017-10-13 00:25:14 +02:00
Clément Bœsch
368fb74831 lavc/pixlet: reduce diff with Libav (cosmetics only) 2017-10-13 00:25:14 +02:00
Ivan Kalvachev
3a6ded7cfc Fix crash if av_vdpau_bind_context() is not used.
The public functions av_alloc_vdpaucontext() and
av_vdpau_alloc_context() are allocating AVVDPAUContext
structure that is supposed to be placed in avctx->hwaccel_context.

However the rest of libavcodec/vdpau.c uses avctx->hwaccel_context
as struct VDPAUHWContext, that is bigger and does contain
AVVDPAUContext as first member.

The usage includes write to the new variables in the bigger stuct,
without checking for block size.

Fix by always allocating the bigger structure.

Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
2017-10-13 00:13:17 +02:00
Carl Eugen Hoyos
c87bb9c04a lavc/ppc/fft_init: Fix compilation on ppc64le with --disable-vsx. 2017-10-12 23:14:55 +02:00
James Almer
b78bb51a7c Merge commit '6eef263aca'
* commit '6eef263aca':
  x86: Merge align directives into SECTION_RODATA declarations where possible

Merged-by: James Almer <jamrial@gmail.com>
2017-10-12 13:48:35 -03:00
Carl Eugen Hoyos
ce508f0bcc lavc/proresdec2: Do not mix variable declaration and statement.
Fixes ticket #6728.
2017-10-12 12:43:09 +02:00
Ivan Kalvachev
9054439bad Fix visual glitch with XvMC, caused by wrong idct permutation.
In the past XvMC forced simple_idct since
it was using FF_IDCT_PERM_NONE.
However now we have SIMD variants of simple_idct that
are using FF_IDCT_PERM_TRANSPOSE and if they are selected
XvMC would get coefficients in the wrong order.

The patch creates new FF_IDCT_NONE that
is used only for this kind of hardware decoding
and that fallbacks to the old C only simple idct.

Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-12 01:27:52 +02:00
Michael Niedermayer
80154b1b3a Bump version for master after 3.4 branchpoint
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 02:45:37 +02:00
Michael Niedermayer
7bec3f78da avcodec/rkmppdec: check wether typo
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 02:15:21 +02:00
Michael Niedermayer
74d2bbb70d avcodec/opusenc_psy: Fix mixed declaration and statement
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 02:13:16 +02:00
Michael Niedermayer
e1de9eab3a Bump minor versions for branching 3.4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 01:23:47 +02:00
Kaustubh Raste
ff53f4dc2d avcodec/mips: Improve avc uni copy mc msa functions
Load the specific bytes instead of MSA load.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Kaustubh Raste
eadb911643 avcodec/mips: Improve hevc uni-w horiz mc msa functions
Load the specific destination bytes instead of MSA load and pack.
Pack the data to half word before clipping.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Kaustubh Raste
662234a9a2 avcodec/mips: Improve avc put mc 21, 23 and 02 msa functions
Remove loops and unroll as block sizes are known.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Kaustubh Raste
b59323cb72 avcodec/mips: Improve avc chroma hv mc msa functions
Replace generic with block size specific function.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Kaustubh Raste
af9433b1d6 avcodec/mips: Improve avc bi-weighted mc msa functions
Replace generic with block size specific function.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Kaustubh Raste
56822b074b avcodec/mips: preload data in hevc sao edge 135 degree filter msa functions
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Michael Niedermayer
c20f4fcb74 avcodec/ffv1dec: Fix out of array read in slice counting
Fixes: test-201710.mp4

Found-by: 连一汉 <lianyihan@360.cn> and Zhibin Hu
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:41 +02:00
Michael Niedermayer
bdee75a4e7 avcodec/dirac_dwt: Fix integer overflow in COMPOSE_53iL0()
Fixes: runtime error: signed integer overflow: 2147483646 + 2 cannot be represented in type 'int'
Fixes: 3485/clusterfuzz-testcase-minimized-4940429332054016

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:40 +02:00
Michael Niedermayer
127a362630 avcodec/mpeg_er: Clear mcsel in mpeg_er_decode_mb()
Fixes out of array read
Should fix: 3516/clusterfuzz-testcase-minimized-4608518562775040 (not reprodoceable)

Found-by: Insu Yun, Georgia Tech.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:40 +02:00
Michael Niedermayer
e38f280fec avcodec/mpeg4videodec: Use 64 bit intermediates for sprite delta
Fixes: runtime error: signed integer overflow: -104713 * 65536 cannot be represented in type 'int'
Fixes: 3453/clusterfuzz-testcase-minimized-5555554657239040
Fixes: 3528/clusterfuzz-testcase-minimized-6283628420005888

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-10 23:58:40 +02:00
Jun Zhao
217a723b4e lavc/vaapi_decode: fix profile search when profile mismatch is allowed
When profile mismatch is allowed, use the highest supported profile for
VAAPI decoding.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-10-09 23:08:49 +01:00
Jun Zhao
71e2ec017a lavc: enable hwaccel_flags option
Enable per-stream hwaccel_flags.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-10-09 23:05:12 +01:00
bnnm
1954e625b1 avcodec/wmaprodec: support multichannel XMA stream configurations
Signed-off-by: bnnm <bananaman255@gmail.com>

Now accepts any combination of 1/2ch streams, described in the RIFF chunks/extradata
2017-10-09 17:06:19 +02:00
foo86
73789b85a7 avcodec/dca_core: always limit frame size to data size
Silences pointless error message when decoding DTS-in-WAV stream with
excessive frame size stored in header.
2017-10-09 16:53:23 +03:00
foo86
23990950e3 avcodec/dca_parser: revert to conservative sync distance estimation
Fixes regression introduced by commit a0349ae27c
when parsing 14-bit streams with excessive frame size stored in header.

Fixes ticket #6723.
2017-10-09 16:12:19 +03:00
Mark Thompson
e339411691 vaapi: Always free parameter buffers after vaEndPicture() with libva2
This is an ABI change in libva2: previously the Intel driver had this
behaviour and it was implemented as a driver quirk, but now it is part
of the specification so all drivers must do it.
2017-10-09 00:11:53 +01:00
Mark Thompson
bd211bb866 vaapi: Remove H.264 baseline profile
This has been deprecated in libva2 because hardware does not and will not
support it.  Therefore never consider it for decode, and for encode assume
the user meant constrained baseline profile instead.
2017-10-09 00:11:53 +01:00
Michael Bradshaw
41d6d62702 lavc: add support for OpenJPEG 2.3.0
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2017-10-08 08:13:02 -07:00
Jorge Ramirez-Ortiz
2a31ad7d60 avcodec/v4l2: fix single plane decoding 2017-10-06 23:36:21 +01:00
Kaustubh Raste
51ebce7d7d avcodec/mips: Cleanup unused functions
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-06 02:42:49 +02:00
Mark Thompson
e01a270762 lavc/v4l2: Fix printf format for int64_t 2017-10-05 08:58:36 +01:00
James Almer
18279738f9 x86/blockdsp: use three operand form for an instruction
Fixes assembling with old yasm.
2017-10-04 23:51:44 -03:00
Michael Niedermayer
26ea142658 avcodec/x86/lossless_videoencdsp: Fix warning: signed dword value exceeds bounds
Add () to regsize define

Suggested-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-05 01:22:44 +02:00
Michael Niedermayer
df62b70de8 avcodec/x86/lossless_videoencdsp: Fix handling of small widths
Fixes out of array access
Fixes: crash-huf.avi

Regression since: 6b41b44149

This could also be fixed by adding checks in the C code that calls the dsp

Found-by: Zhibin Hu and 连一汉 <lianyihan@360.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-05 01:22:44 +02:00
Jorge Ramirez-Ortiz
44188993a1 avcodec/v4l2: set sizeimage param for non-raw buffers [fixes #6716]
Some V4L2 drivers fail to allocate buffers when sizeimage is not set
to a max value. This is indeed the case for s5p-mfc [1]

Most drivers should be able to calculate this value from the frame
dimensions and format - or at least have their own default.

However since this work around should not impact those drivers doing
the "right thing" this commit just provides such a default.

The calculations were extracted from the v4l2 driver used to develop
the ffmpeg v4l2_m2m support [2]. See venc.c and vdec.c

[1] linux.git/drivers/media/platform/s5p-mfc
[2] linux.git/drivers/media/platform/qcom/venus/
2017-10-04 23:14:37 +01:00
Mark Thompson
8da5af2584 lavc/v4l2: Mark static const tables as such 2017-10-04 23:14:37 +01:00