Kagami Hiiragi
734d760e2f
lavc/libvpxenc: add -row-mt option
...
Signed-off-by: James Zern <jzern@google.com >
2017-03-06 11:58:33 -08:00
Michael Niedermayer
8aa4f3bb4f
avcodec/proresdec2: Do not discard frames with bad slices
...
The code previously completely discarded frames that had any error in a slice
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
Michael Niedermayer
835d9f299c
avcodec/x86/cavsdsp: Put MMX code under mmx check
...
Without this the FPU state becomes trashed and causes mysterious
fate failures with cpuflags=0
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
Michael Niedermayer
a9f9b7f5c7
avcodec/movtextdec: Call mov_text_cleanup() on close
...
Fixes memleak
Fixes: 548/clusterfuzz-testcase-5511470875934720
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
wm4
a755b725ec
avcodec: consider an error during decoder draining as EOF
...
There is no reason that draining couldn't return an error or two. But
some decoders don't handle this very well, and might always return an
error. This can lead to API users getting into an infinite loop and
burning CPU, because no progress is made and EOF is never returned.
In fact, ffmpeg.c contains a hack against such a case. It is made
unnecessary with this commit, and removed with the next one. (This
particular error case seems to have been fixed since the hack was
added, though.)
This might lose frames if decoding returns errors during draining.
2017-03-06 11:06:09 +01:00
wang-bin
3267e1703b
avcodec/videotoolbox: set kCVPixelBufferOpenGLESCompatibilityKey for iOS
...
kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey is not available in
iOS
2017-03-06 10:54:02 +01:00
Michael Niedermayer
ba15005132
avcodec/wavpack: Fix runtime error: left shift of negative value -2
...
Fixes: 723/clusterfuzz-testcase-6471394663596032
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:03:15 +01:00
Michael Niedermayer
29638d4db9
avcodec/dcadsp: Fix 2 runtime error: signed integer overflow: -1958094138 - 1078906344 cannot be represented in type 'int'
...
Fixes: 722/clusterfuzz-testcase-5711268868521984
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:48 +01:00
Michael Niedermayer
d03d386162
avcodec/wavpack: Check bitrate_acc for overflow
...
Fixes: undefined behavior in 717/clusterfuzz-testcase-5434924129583104
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:46 +01:00
Michael Niedermayer
fab13bbbcd
avcodec/mpeg4videodec: Fix runtime error: signed integer overflow: 134527392 * 16 cannot be represented in type 'int'
...
This checks the sprite delta intermediates for overflow
Fixes: 716/clusterfuzz-testcase-4890287480504320
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:41 +01:00
Michael Niedermayer
d757ddbaab
avcodec/mpeg12dec: Fix runtime error: left shift of negative value -13
...
Fixes: 709/clusterfuzz-testcase-4789836449841152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
Michael Niedermayer
ab998f4c7f
avcodec/h264_mvpred: Fix multiple runtime error: left shift of negative value
...
Fixes: 710/clusterfuzz-testcase-5091051431788544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
Michael Niedermayer
d23727e042
avcodec/adxdec: Fix runtime error: left shift of negative value -1
...
Fixes: 705/clusterfuzz-testcase-5129572590813184
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
Michael Niedermayer
eb41956636
avcodec/mpeg4videodec: Improve the overflow checks in mpeg4_decode_sprite_trajectory()
...
Also clear the state on errors
Fixes integer overflows in 701/clusterfuzz-testcase-6594719951880192
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 03:05:15 +01:00
Michael Niedermayer
2ce4f28431
avcodec/vp56: Require a correctly decoded frame before using vp56_conceal_mb()
...
Fixes timeout with 700/clusterfuzz-testcase-5660909504561152
Fixes timeout with 702/clusterfuzz-testcase-4553541576294400
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 03:05:15 +01:00
Michael Niedermayer
d8094a303b
avcodec/vp3: Do not return random positive values but the buf size
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 17:17:53 +01:00
Takayuki 'January June' Suwa
13332504c9
omx: Add support for specifying H.264 profile [v5']
...
This adds "-profile[:v] profile_name"-style option.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 17:17:53 +01:00
Paul B Mahol
6d93e7d1a3
avcodec/scpr: fix top left prediction for special case when x is 0 for keyframes
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-03-03 12:28:24 +01:00
Michael Niedermayer
6191198c21
avcodec/interplayvideo: Fix timeout from lack of bitstream end check
...
Fixes: 697/clusterfuzz-testcase-6111250582863872
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 01:03:29 +01:00
Michael Niedermayer
3b0b35150d
avcodec/mpegaudiodec_template: Fix runtime error: signed integer overflow: 2053224902 + 2053224902 cannot be represented in type 'int'
...
Fixes: 696/clusterfuzz-testcase-5853632270434304
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 01:03:29 +01:00
Michael Niedermayer
4b72d5cd6f
avcodec/mjpegdec: Fix runtime error: left shift of negative value -511
...
Fixes: 693/clusterfuzz-testcase-6109776066904064
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 01:03:29 +01:00
Carl Eugen Hoyos
46082c2b3f
lavc/sheervideo: Fix Y prediction for interlaced frames with transparency.
...
Based on 260de8a2 by Paul B Mahol.
Fixes ticket #6210 .
2017-03-02 18:11:57 +01:00
Kostya Shishkov
a63496cc88
avcodec: add ClearVideo decoder
...
Only I-frames are decoded for now.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-03-02 11:39:54 +01:00
wm4
f07492e7fb
avcodec/videotoolbox: set kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey
...
Makes sure the output can be mapped as OpenGL texture.
This is what at least video players normally want.
2017-03-02 10:32:21 +01:00
wm4
ade7c1a232
avcodec/videotoolbox: allow not setting the kCVPixelBufferPixelFormatTypeKey
...
If AVVideotoolboxContext.cv_pix_fmt_type is set to 0, don't set the
kCVPixelBufferPixelFormatTypeKey value on the VT decoder.
This makes VT output its native format, which can be much faster on
some hardware iterations (if the native format does not match with
the requested format, it will be converted, which is slow).
The default is still forcing nv12.
2017-03-02 10:32:21 +01:00
wm4
554bc4eea8
avcodec, avutil, avformat: remove AVOption requirement for some fields
...
Allow all struct fields to be accessed directly, as long as they're
public.
Before this change, many fields were "public", but could be accessed via
AVOption only. This meant they were effectively not public, but were
present for documentation purposes, which was incredibly confusing at
best.
2017-03-02 10:32:12 +01:00
Michael Niedermayer
4bed066377
avcodec/vp56: Clear dimensions in case of failure in the middle of a resolution change
...
Similar code is used elsewhere in vp56 to force a more complete reinit in the future.
Fixes null pointer dereference
Fixes: 707/clusterfuzz-testcase-4717453097566208
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-02 03:16:18 +01:00
Michael Niedermayer
f8060ab927
avcodec/wavpack: Check value before shift in wp_exp2()
...
Fixes undefined shift, all callers should be changed to check the value
they use with wp_exp2() or its return value.
Fixes: 692/clusterfuzz-testcase-5757381516460032
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-02 03:16:15 +01:00
Michael Niedermayer
12c3e120fe
avcodec/ituh263dec: Use 0xffff as error code in h263p_decode_umotion()
...
This matches ff_h263_decode_motion() both functions error codes are interpreted by the same common code
Fixes: 690/clusterfuzz-testcase-4744944981901312
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-02 03:16:12 +01:00
Michael Niedermayer
04c99c8042
avcodec/h264idct_template: Fix several runtime error: signed integer overflow
...
Fixes: 689/clusterfuzz-testcase-6029352737177600
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-02 03:16:10 +01:00
Rick Kern
70ebc05bce
lavc/videotoolboxenc: fix symbol linking
...
Removes explicit reference to symbols and fixes dereferencing issue.
Signed-off-by: Rick Kern <kernrj@gmail.com >
2017-03-01 10:43:08 -05:00
Michael Niedermayer
7b5ff7d573
avcodec/vp8: Check for bitsteam end in decode_mb_row_no_filter()
...
Fixes timeout with 686/clusterfuzz-testcase-5853946876788736
this shortcuts (i.e. speeds up) the error and
return-to-user when decoding a truncated frame
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Previous version reviewed by: "Ronald S. Bultje" <rsbultje@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-01 14:07:33 +01:00
Michael Niedermayer
4bd3f1ce3e
avcodec/h264_direct: Fix runtime error: left shift of negative value -14
...
Fixes: 682/clusterfuzz-testcase-4799120021651456
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-01 14:07:33 +01:00
Michael Niedermayer
2c00b37302
avcodec/avpacket: Check metadata key in av_packet_unpack_dictionary()
...
Fixes timeout
Fixes: 501/clusterfuzz-testcase-5672752870588416
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-01 14:07:33 +01:00
Konda Raju
5f44a4a0a9
avcodec/nvenc: add initial QP value options
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2017-03-01 13:15:34 +01:00
Ganapathy Raman Kasi
a549243b89
avcodec/nvenc: remove qmin and qmax constraints for vbr
...
qmin and qmax are not necessary for nvenc vbr.
Enforcing this constraint, doesn't allow user to use vbr 2 pass mode without explicity setting the qmin and qmax options
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org >
2017-03-01 12:20:54 +01:00
Michael Niedermayer
4c0139463c
avcodec/vp56: Factorize vp56_render_mb() out
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-28 01:13:52 +01:00
Michael Niedermayer
949d2176ef
avcodec/dca: Fix multiple runtime error: signed integer overflow
...
Fixes: 680/clusterfuzz-testcase-5416627266912256
Fixes: 681/clusterfuzz-testcase-5013323462475776
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-28 01:13:52 +01:00
Michael Niedermayer
63e400a880
avcodec/pictordec: Check plane value before doing value/mask computations
...
Fixes integer overflow
Fixes: 675/clusterfuzz-testcase-6722971232108544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-28 01:13:52 +01:00
Michael Niedermayer
25e93aacc2
avcodec/mpeg4videodec: Fix runtime error: left shift of negative value -2650
...
Fixes: 674/clusterfuzz-testcase-6713275880308736
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-28 01:13:52 +01:00
Michael Niedermayer
4ea7744859
avcodec/h264idct_template: Fix multiple runtime error: signed integer overflow
...
Fixes: 677/clusterfuzz-testcase-6635120628858880
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: Steven Liu <lingjiujianke@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-28 01:13:52 +01:00
Paul B Mahol
26a7d6a301
avcodec/qdrw: check bytes per scanline for 2bpp images
...
One byte less is read in case of small width.
Closes #6194 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-02-27 14:17:51 +01:00
Paul B Mahol
86ab6b6e08
avcodec/scpr: check if total_freq is 0 in decode0
...
Fixes SIGFPE, closes #6196 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-02-27 13:55:15 +01:00
James Darnley
33de0fee2c
avcodec/h264: enable sse2 chroma deblock/loop filter functions
...
Between 1.00 and 1.16 times faster on Intel Yorkfield Core 2 Quad.
Between 1.11 and 1.39 times faster on Intel Kaby Lake Pentium.
2017-02-27 13:22:06 +01:00
James Darnley
cd893b9307
avcodec/h264: add avx 8-bit 4:2:2 chroma h intra deblock/loop filter
...
~1.37x faster (147 vs. 108 cycles) compared to mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
0e16b3e2be
avcodec/h264: add avx 8-bit 4:2:0 chroma h intra deblock/loop filter
...
~1.10x faster (69 vs. 63 cycles) compared to mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
987ffe4b8d
avcodec/h264: add avx 8-bit chroma v intra deblock/loop filter
...
~1.14x faster (90 vs 78 cycles) compared with mmxext
2017-02-27 13:22:06 +01:00
James Darnley
88307b3eec
avcodec/h264: add avx 8-bit 4:2:2 chroma h deblock/loop filter
...
~1.21x faster (68 vs. 56 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
ac096fc82d
avcodec/h264: add avx 8-bit 4:2:0 chroma h deblock/loop filter
...
~1.14x faster (93 vs. 81 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
5c56758843
avcodec/h264: add avx 8-bit chroma v deblock/loop filter
...
~1.24x faster (101 vs. 81 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00