Commit Graph

32174 Commits

Author SHA1 Message Date
Michael Niedermayer
c6bf27d59b avcodec/hevc_cabac: Rename ff_hevc_transform_skip_flag_decode() to hevc_transform_skip_flag_decode()
The function is static and used once in the file its defined in

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 13:28:49 +02:00
Michael Niedermayer
451be676f3 Merge remote-tracking branch 'rbultje/vp9-bugfixes'
* rbultje/vp9-bugfixes:
  vp9: match another find_ref_mvs() bug in libvpx.
  vp9: fix scaled motion vector clipping for sub8x8 blocks.
  vp9: improve signbias check.
  vp9: don't allow compound references if error_resilience is enabled.
  vp9: clamp segmented lflvl before applying ref/mode deltas.
  vp9: reset loopfilter mode/ref deltas on keyframe.
  vp9: fix crash when playing back 440/440 content with width%64<56.
  vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422.
  vp9: clip motion vectors in the same way as libvpx does.
  vp9: set skip flag if the block had no coded coefficients.
  vp9: apply mv scaling workaround only when subsampling is enabled.
  vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability.
  vp9: fix segmentation map referencing upon framesize change.
  vp9: disable more pmulhrsw optimizations in idct16/32.
  vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 02:35:16 +02:00
Michael Niedermayer
14c4b25158 avcodec/golomb: fix reading huge signed rice golomb values
No testcase is known, nor any case where such huge values would occur

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 19:36:38 +02:00
Michael Niedermayer
c720b9ce98 avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 19:36:32 +02:00
Michael Niedermayer
b6fcb2bb6d avcodec/flacdec: Attempt to auto-detect old buggy flac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 13:42:32 +02:00
Carl Eugen Hoyos
83356cf6cc lavc/vc1: Never decode vc1 as gray if gray decoding was not enabled. 2015-05-17 12:58:44 +02:00
Carl Eugen Hoyos
70c0433525 lavc: Print a warning if gray decoding was requested but not enabled. 2015-05-17 10:22:03 +02:00
Carl Eugen Hoyos
101f26e758 lavc/h263: Set color_range for gray decoding. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
4d8bd60ac6 lavc/vc1: Set color_range for gray decoding. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
1eda55510a lavc/qdrw: Fix overwrite when reading invalid Quickdraw images. 2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
e609cfd697 lavc/flac: Fix encoding and decoding with high lpc.
Based on an analysis by trac user lvqcl.

Fixes ticket #4421, reported by Chase Walker.
2015-05-17 02:08:58 +02:00
Carl Eugen Hoyos
38f5a266ee lavc/flacdec: Sanitize FLACSTREAMINFO usage. 2015-05-17 02:08:58 +02:00
Michael Niedermayer
3fb726c6b4 avcodec/aacenc: use < 0 instead of != 0 for error checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 19:07:31 +02:00
Michael Niedermayer
2580bae54a avcodec/j2kenc: Use ret < 0 instead of ret != 0 for error checks
This is how most code in FFmpeg checks for failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 18:47:14 +02:00
Ronald S. Bultje
900e3af857 vp9: match another find_ref_mvs() bug in libvpx.
If we find a second non-sub8x8 motion vector for a non-first sub8x8
block, and the clamped value is identical to the first non-sub8x8
motion vector, then the resulting nearmv motion vector is forced to
zero.
2015-05-16 11:59:01 -04:00
Ronald S. Bultje
ccfb03ecc4 vp9: fix scaled motion vector clipping for sub8x8 blocks.
To match the obscure clipping bug behaviour in libvpx.
2015-05-16 08:36:19 -04:00
Ronald S. Bultje
68c1e91316 vp9: improve signbias check.
Otherwise it will still scale motion vectors, which leads to corrupted
prediction.
2015-05-15 21:14:08 -04:00
Michael Niedermayer
3051e7fa71 avcodec/hevc: Fix typo in num_entry_point_offsets check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:46:10 +02:00
Michael Niedermayer
c64b2d480b avcodec/libtheoraenc: Check for av_malloc failure
Fixes CID1257799

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:46:10 +02:00
Ronald S. Bultje
32b6d31ef3 vp9: don't allow compound references if error_resilience is enabled.
libvpx (probably accidentally) clears the bits if error_res is set,
along with keyframe/intraonly. This probably wasn't the intention
(since it's local data), but it's behaviour we have to copy...
2015-05-15 15:43:24 -04:00
Ronald S. Bultje
5de142d316 vp9: clamp segmented lflvl before applying ref/mode deltas. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
c81677e9b7 vp9: reset loopfilter mode/ref deltas on keyframe. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
88126916c8 vp9: fix crash when playing back 440/440 content with width%64<56. 2015-05-15 15:43:23 -04:00
Ronald S. Bultje
3e634e3e98 vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422. 2015-05-15 15:43:20 -04:00
Michael Niedermayer
ff1d85b0ed avcodec/svq1dec: Remove duplicate buf_size check
Fixes CID1297573

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 20:06:24 +02:00
Michael Niedermayer
fc624ec9ba avcodec/dcadec: Check active_bands
Fixes CID1297594 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 18:29:40 +02:00
Michael Niedermayer
0f3e6959bf avcodec/dcadec: Check scale table index
Fixes CID1297594 part 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 18:27:49 +02:00
Michael Niedermayer
ade8a46154 avcodec/sonic: More completely check sample_rate_index and channels
Fixes CID1271783

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:31:58 +02:00
Michael Niedermayer
c131a9fead avcodec/sonic: check memory allocations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:26:54 +02:00
Michael Niedermayer
cdd25f9a3d avcodec/smvjpegdec: check avcodec_decode_video2() return code
Fixes CID1271810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:21:48 +02:00
Michael Niedermayer
294469416d avcodec/shorten: More complete pred_order check
Fixes CID1239055

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:02:28 +02:00
Michael Niedermayer
2d15588124 avcodec/shorten: Fix code depending on signed overflow behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:58:51 +02:00
Michael Niedermayer
d201becfc0 avcodec/shorten: Check skip_bytes()
Fixes CID1210526

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:48:31 +02:00
Michael Niedermayer
c347f75d6b avcodec/put_bits: Remove dead code in put_bits()
Fixes CID1297574

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:19:53 +02:00
Michael Niedermayer
c4c6aea397 avcodec/proresdec2: Reset slice_count on deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 15:23:32 +02:00
Michael Niedermayer
5e1d530f91 avcodec/vp9: Use separate memset for counts.eob
Makes no real difference, but maybe scares coverity less (CID1297578)

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 13:03:52 +02:00
Michael Niedermayer
3793caa5e2 avcodec/acelp_vectors: Assert that x is within the array in ff_set_fixed_vector()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 12:17:40 +02:00
Michael Niedermayer
dc4a621e9c avcodec/vp3: Cleanup order of operations for current_run check
This shouldnt make a difference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 11:12:13 +02:00
Ronald S. Bultje
29045fbfd4 vp9: clip motion vectors in the same way as libvpx does.
The practical effect of this is that the scaling will wrongly not be
applied to the interpolation edge (the 3/4 constants in this patch).
In other words, we clip to the pre-scaling interpolation, even though
these should be clipped post-scaling. The resulting out-of-frame MVs
are thus automatically clipped within the visible portion of the frame,
which is probably not the intention, but is unfortunately what libvpx
does, so we need to copy that behaviour.
2015-05-14 22:13:46 -04:00
Ronald S. Bultje
96a58a8daa vp9: set skip flag if the block had no coded coefficients.
This reproduces libvpx behaviour. It seems like it originally only
targeted loopfilter behaviour, but this unfortunately effects following
block contexting and thus directs bitstream sync.
2015-05-14 20:13:43 -04:00
Michael Niedermayer
47cbcf20d6 avcodec/h264_slice: Fix ranges in assert
Fixes CID1297592, CID1297593

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 00:30:32 +02:00
Michael Niedermayer
9f0b898e82 avcodec/dvbsubdec: Clear w/h/size on region buffer allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 23:25:39 +02:00
Michael Niedermayer
8f1afde11d avcodec/diracdec: Make data_unit_size unsigned
Fixes CID1271788

with this change the value is more explicitly checked, it was fully checked
before though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 23:18:49 +02:00
Ronald S. Bultje
1e4a77d001 vp9: apply mv scaling workaround only when subsampling is enabled. 2015-05-14 17:05:18 -04:00
Ronald S. Bultje
dc96c0f9fc vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability. 2015-05-14 16:38:53 -04:00
Ronald S. Bultje
e12188e143 vp9: fix segmentation map referencing upon framesize change. 2015-05-14 16:37:49 -04:00
Michael Niedermayer
a9bf628bfd avcodec/dcadec: Check subsubframes
Fixes: CID1239152

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 21:29:19 +02:00
Michael Niedermayer
a6a45774d0 avcodec/dcadec: Check nchans
Fixes CID1239110

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 20:55:59 +02:00
Ronald S. Bultje
d32d0593f1 vp9: disable more pmulhrsw optimizations in idct16/32.
For idct16, only when called from a adst16x16 variant, so impact is
minor. For idct32, for all, so relatively major impact.
2015-05-14 14:15:27 -04:00
Ronald S. Bultje
96d30c3495 vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.
They all overflow in various samples that are considered valid input.
2015-05-14 13:39:37 -04:00