Commit graph

39033 commits

Author SHA1 Message Date
James Almer
5678b2a820 Merge commit '984736dd9e'
* commit '984736dd9e':
  lavc: make sure not to return EAGAIN from codecs

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 20:52:44 -03:00
James Almer
cb222d7322 Merge commit 'b2788fe934'
* commit 'b2788fe934':
  svq3: fix the slice size check

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 20:28:51 -03:00
James Almer
73c85d3af2 Merge commit '248dc5c164'
* commit '248dc5c164':
  h264dec: fix dropped initial SEI recovery point

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 20:09:46 -03:00
Martin Vignali
cbbec68847 libavcodec/blockdsp : add AVX version
Also modify the required alignment, to 32 instead of 16
for several codecs

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-03 19:47:37 -03:00
Michael Niedermayer
4ee77cefae avcodec/proresdec2: Use LAST_SKIP_BITS where possible
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-03 20:34:35 +02:00
Michael Niedermayer
c37138e01a avcodec/proresdec2: SKIP_BITS() does not work with len=32
Fixes: invalid shift
Fixes: 3482/clusterfuzz-testcase-minimized-5446915875405824

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-03 20:34:35 +02:00
Michael Niedermayer
fbdab6eca7 avcodec/hevcdsp_template: Fix undefined shift
Fixes: runtime error: left shift of negative value -255
Fixes: 3373/clusterfuzz-testcase-minimized-5604083912146944

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-03 20:34:35 +02:00
James Almer
87e625c263 avcodec/encode: do proper cleanup on failure
Fixes the last remaining memleaks introduced by a22c6a4796.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-03 14:00:27 -03:00
James Almer
712ee85816 avcodec/encode: free non-referenced packets' side data in the old encode API functions
Fixes memleaks introduced by a22c6a4796.
2017-10-02 18:58:53 -03:00
James Almer
a22c6a4796 avcodec/encode: remove usage of av_dup_packet()
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-02 11:14:57 -03:00
James Almer
cf3d2d52b5 avcodec/avpacket: deprecate av_copy_packet_side_data()
It leaks memory and destroys the dst packet in case of failure, and it
ultimately duplicates functionality already existing in the saner
av_packet_copy_props().

Reviewed-by: wm4
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-01 19:19:22 -03:00
Martin Vignali
ac5908b13f libavcodec/exr : add x86 SIMD for predictor
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-01 17:35:30 -03:00
Michael Niedermayer
b81b8a76b5 avcodec/v4l2_context: Reduce spelling variations
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-01 02:37:57 +02:00
Michael Niedermayer
4bb8013335 avcodec/v4l2_buffers: More clear return code documentation
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-01 02:35:15 +02:00
Michael Niedermayer
64e034da95 avcodec/jpeg2000: Check that codsty->log2_prec_widths/heights has been initialized
Fixes: OOM
Fixes: 2225/clusterfuzz-testcase-minimized-5505632079708160

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-30 23:35:45 +02:00
Brian Matherly
876dada0b5 avcodec/hevc_sei: Support HEVC paired fields.
Correctly set the interlaced_frame and top_field_first fields when pic_struct
indicates paired fields.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-30 03:44:59 +02:00
Aman Gupta
3d4f8b9184 avcodec/videotoolbox: add hevc support
Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-09-28 16:47:47 -07:00
Aman Gupta
c32077c0ee avcodec/hevc_ps: extract SPS fields required for hvcC construction
Signed-off-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-28 16:47:46 -07:00
Rostislav Pehlivanov
05dfa21d47 opus_pvq: make max_den a float
Prevents int->float conversions on every loop.
Performance gain on synthetic benchmarks: 13%.
Suggested by kamedo2.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-09-28 22:41:08 +01:00
Karthick J
f7b7d51a37 avcodec/decode: Pass on the Closed Captions Side Data
Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-28 21:12:08 +02:00
Karthick J
b6cf66ae1c avdevice/decklink_dec: Added Closed caption decode from VANC
Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-28 21:06:12 +02:00
James Almer
93dfc4f174 avcodec/libopenh264dec: check for ff_set_dimensions() return value
Was removed by accident in e9b6212de2.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-28 00:49:05 -03:00
James Almer
e9b6212de2 Merge commit '030de53e9c'
* commit '030de53e9c':
  libopenh264dec: Let the framework use the h264_mp4toannexb bitstream filter

Merged-by: James Almer <jamrial@gmail.com>
2017-09-28 00:44:11 -03:00
James Almer
e9a3880613 Merge commit 'ba30b74686'
* commit 'ba30b74686':
  aac: Validate the sbr sample rate before using the value

See cf5f4c5169

Merged-by: James Almer <jamrial@gmail.com>
2017-09-27 23:49:06 -03:00
Mark Thompson
c1f22c2959 lavc: Move V4L2 encoders lower in the list
Their previous positioning would cause them to chosen before software
encoders like libx264 or libvpx.
2017-09-27 23:47:32 +01:00
Mark Thompson
da53c424b9 lavc/v4l2: Add missing header include
Fixes checkheaders.
2017-09-27 23:10:03 +01:00
James Almer
f1cdfd2959 Merge commit '57ec83e424'
* commit '57ec83e424':
  omx: Use the EOS flag to handle flushing at the end

Merged-by: James Almer <jamrial@gmail.com>
2017-09-27 19:06:12 -03:00
Lionel CHAZALLON
f3aefb3e1c lavc: Add support for RockChip Media Process Platform
This adds hardware decoding for H.264 / HEVC / VP8 / VP9 using the MPP
Rockchip API.  It returns frames holding an AVDRMFrameDescriptor struct
in buf[0] that allows drm / dmabuf usage.  Tested on RK3288 (TinkerBoard)
and RK3328.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-09-27 22:43:58 +01:00
Kaustubh Raste
6796a1dd8c avcodec/mips: Improve avc put mc 20, 01 and 03 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-09-27 21:15:57 +02:00
Kaustubh Raste
b8854e2439 avcodec/mips: Improve avc chroma vert 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-09-27 21:15:57 +02:00
Kaustubh Raste
10ab5534e0 avcodec/mips: Improve avc 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-09-27 21:15:57 +02:00
Kaustubh Raste
ed1586b921 avcodec/mips: Removed generic function call in avc intra 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-09-27 21:15:57 +02:00
Kaustubh Raste
deeaaba1ab avcodec/mips: preload data in hevc sao edge 45 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-09-27 21:15:57 +02:00
James Almer
0c005fa86f Merge commit '7abdd026df'
* commit '7abdd026df':
  asm: Consistently uppercase SECTION markers

Merged-by: James Almer <jamrial@gmail.com>
2017-09-26 18:48:06 -03:00
James Almer
b1cf151c4d Merge commit '577326d430'
* commit '577326d430':
  lavc: deprecate refcounted_frames field

Merged-by: James Almer <jamrial@gmail.com>
2017-09-26 16:42:18 -03:00
James Almer
318778de9e Merge commit 'fd9212f2ed'
* commit 'fd9212f2ed':
  Mark some arrays that never change as const.

Merged-by: James Almer <jamrial@gmail.com>
2017-09-26 16:02:40 -03:00
Frédéric Devernay
eec67f2522 avcodec/dnxhdenc: fix DNxHR 444 encoding crashes
Fixes #6649.
2017-09-26 10:00:51 +02:00
James Almer
ecb9741ba2 avcodec/avpacket: deprecate av_copy_packet()
It does the same thing as av_packet_ref().

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-25 21:22:06 -03:00
Martin Vignali
cab71e4e4e libavcodec/hapdec : add support HapAlphaOnly
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 21:54:13 +02:00
Michael Niedermayer
5d31f03a02 avcodec/takdec: Fix integer overflow in decode_lpc()
Fixes: runtime error: signed integer overflow: 16748560 + 2143729712 cannot be represented in type 'int'
Fixes: 3202/clusterfuzz-testcase-minimized-4988291642294272

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 21:54:13 +02:00
Michael Niedermayer
4f5eaf0b59 avcodec/proresdec2: Check bits in DECODE_CODEWORD(), fixes invalid shift
Fixes: runtime error: shift exponent 42 is too large for 32-bit type 'unsigned int'
Fixes: 3410/clusterfuzz-testcase-minimized-5313377960198144

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 21:54:13 +02:00
Michael Niedermayer
3dabb9c69d avcodec/takdec: Fix integer overflows in decode_subframe()
Fixes: runtime error: signed integer overflow: -1562477869 + -691460395 cannot be represented in type 'int'
Fixes: 3196/clusterfuzz-testcase-minimized-4528307146063872

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 21:54:13 +02:00
Kaustubh Raste
16adbfe60c avcodec/mips: Improve avc chroma horiz 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-09-24 02:33:48 +02:00
Kaustubh Raste
d6737539e7 avcodec/mips: Unrolled loops avc intra 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-09-24 02:33:48 +02:00
Kaustubh Raste
7f8417f226 avcodec/mips: Improve hevc uni-w copy 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-09-24 02:33:48 +02:00
Michael Niedermayer
d8ef5a47bb avcodec/flacenc: Replace "return -1" by named constant
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 02:33:48 +02:00
Michael Niedermayer
9cec174247 avcodec/snowenc: Replace "return -1" by named constants
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-24 02:33:48 +02:00
James Almer
d1e7e4fbe2 avcodec/v4l2_m2m: add missing header inclusions
Should fix checkheaders on systems where v4l2_m2m is enabled.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 18:13:01 -03:00
James Almer
ff7f859c25 avcodec/Makefile: skip v4l2_m2m headers if needed
Fixes checkheaders on systems where v4l2_m2m is unavailable.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 18:08:07 -03:00
James Almer
015f976aae avcodec/frame_thread_encoder: use av_packet_alloc()
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 17:52:32 -03:00