Commit Graph

32082 Commits

Author SHA1 Message Date
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
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
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
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
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
Michael Niedermayer
cf31e2df08 avcodec/mpegvideo: Fix null pointer dereference with grayscale decoding with mpeg2_field_encoding.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 17:10:26 +02:00
Michael Niedermayer
33529104e5 avcodec/mpeg12dec: Fix "-flags +gray"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 15:58:02 +02:00
Michael Niedermayer
9ba5dd37a9 avcodec/mpegvideo: Fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 12:03:36 +02:00
Michael Niedermayer
5c8809b45b avcodec/error_resilience: support grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 02:42:47 +02:00
Michael Niedermayer
82a6e18bbb avcodec/mpegvideo: Fix -flags +gray with xvid_vlc_trac7411.h263
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 01:36:53 +02:00
Michael Niedermayer
9025bc588a avcodec/h263dec: use PIX_FMT_GRAY8 when the user specified CODEC_FLAG_GRAY
Fixes Ticket4542

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 01:13:55 +02:00
Michael Niedermayer
982e7bbfa6 avcodec/vc1: Skip chroma operations if CODEC_FLAG_GRAY is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 20:32:15 +02:00
Ronald S. Bultje
c97d30f02f vp9: de-duplicate some functions that are identical between 10/12 bpp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 14:42:01 +02:00
wm4
72e7553125 pngdec: set correct range
AV_PIX_FMT_GRAY8/16 are considered YUV formats, and the color_range is
not set - so the API user will have to assume limitted range. (Unless
the API user adds a special-case for the PNG decoder.)

Just export the correct range - full range.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-08 00:44:06 +02:00
Tom Butterworth
288dc5b4a1 avcodec/s3tc: fix alpha decoding when dimensions are not a multiple of 4
Fix alpha position error for edge blocks of odd-dimensioned frames

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 23:10:56 +02:00
Michael Niedermayer
b1b0baa3d6 avcodec/g2meet: Check init_get_bits8() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:39 +02:00
Michael Niedermayer
43e94d5af4 avcodec/g2meet: Use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 22:50:23 +02:00
Michael Niedermayer
a7dd933b81 avcodec: Add av_packet_side_data_name()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 21:01:37 +02:00
Michael Niedermayer
daea320969 avcodec/txd: Fix input size checks for dxt1/3 for dimensions % 4 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 19:11:01 +02:00
Tom Butterworth
873d7e0e63 avcodec/s3tc: fix decoding when dimensions are not a multiple of 4
Image dimensions were rounded down causing rows to wrap early if dimensions were not a multiple of 4.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 18:32:36 +02:00
Andreas Cadhalpun
584cc1ade1 aacsbr: break infinite loop in sbr_hf_calc_npatches
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 17:32:23 +02:00
Shivraj Patil
7174df44fe avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC uni copy, uni horizontal and uni vertical mc functions
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 16:47:34 +02:00
Michael Niedermayer
cc77bb09e4 avcodec/x86/vp9dsp_init: Fix mix of declaration and statement
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 14:33:10 +02:00
Michael Niedermayer
a6153977df avcodec/vp9dsp: Replace assert by av_assert0()
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 14:32:50 +02:00
Michael Niedermayer
b28d5c49f7 Merge remote-tracking branch 'rbultje/vp9-profile23-wip'
* rbultje/vp9-profile23-wip:
  libvpxdec: add 440 pixfmts.
  vp9: add profile 2/3 fate tests.
  vp9: add inter-frame profile 2/3 suport.
  vp9: add keyframe profile 2/3 support.
  vp9: parse profile 2/3 bitdepth in frame header.
  vp9: add profile 2/3 to exported profiles.
  fate: add/update reference files for 440 addition.
  swscale: add yuv440p10/12 pixfmts.
  lavc: add yuv440p10/12 formats to aligned pixfmt list.
  lavu: add yuv440p10/12 pixfmts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 13:22:04 +02:00
Ronald S. Bultje
2293ec6ab3 libvpxdec: add 440 pixfmts. 2015-05-07 07:19:52 -04:00
Michael Niedermayer
9253cc496a avcodec/diracdec: Replace default_bsep[] by multiplication
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 05:07:55 +02:00
Carl Eugen Hoyos
b453e76842 lavc/qdrw: Also support real-world qdraw images. 2015-05-07 01:21:08 +02:00
Michael Niedermayer
0c015aa95c avcodec/tableprint_vlc: Do not define functions to nothing
This avoids potential warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 00:52:47 +02:00
Michael Niedermayer
1caff5731d Merge commit '04070dbca0688ab1e24528ce5c135254a9a79c47'
* commit '04070dbca0688ab1e24528ce5c135254a9a79c47':
  libx265: Fix 'braces around scalar initializer' warning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 21:46:52 +02:00
Ronald S. Bultje
23ba4538f9 vp9: add inter-frame profile 2/3 suport. 2015-05-06 15:10:41 -04:00
Ronald S. Bultje
b224b165cb vp9: add keyframe profile 2/3 support. 2015-05-06 15:10:41 -04:00
Ronald S. Bultje
346ce5da19 vp9: parse profile 2/3 bitdepth in frame header. 2015-05-06 15:10:40 -04:00
Ronald S. Bultje
01e59d48ed vp9: add profile 2/3 to exported profiles. 2015-05-06 15:10:40 -04:00
Michael Niedermayer
39e89f5211 Merge commit '34efb8a169e4551326e069be47125c6c2cb7ab90'
* commit '34efb8a169e4551326e069be47125c6c2cb7ab90':
  quickdraw: Support direct pixel blocks

Conflicts:
	Changelog
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:40:26 +02:00
Michael Niedermayer
251f9dcf22 Merge commit 'bb2cb0a66d86ec4ad9f43a488e8b6ab894c22d2f'
* commit 'bb2cb0a66d86ec4ad9f43a488e8b6ab894c22d2f':
  quickdraw: Switch to greedy parsing

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:32:52 +02:00
Michael Niedermayer
d423fc12e6 Merge commit 'd00f1e0fc10bb945cdf140a6c320eb0c9cd25162'
* commit 'd00f1e0fc10bb945cdf140a6c320eb0c9cd25162':
  quickdraw: Convert to bytestream2

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 20:23:54 +02:00
Ronald S. Bultje
57f970a704 lavc: add yuv440p10/12 formats to aligned pixfmt list. 2015-05-06 12:04:31 -04:00
Andreas Cadhalpun
75fc81c831 diracdec: check that block length is valid
In init_planes p->xblen and p->yblen are set to:
            p->xblen = s->plane[0].xblen >> s->chroma_x_shift;
            p->yblen = s->plane[0].yblen >> s->chroma_y_shift;

These are later used as block_w and block_h arguments of
s->vdsp.emulated_edge_mc. If one of them is 0 it triggers an av_assert2
in emulated_edge_mc:
    av_assert2(start_x < end_x && block_w > 0);
    av_assert2(start_y < end_y && block_h > 0);

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 18:02:35 +02:00
Andreas Cadhalpun
4b13a542a2 dirac: use and forward error codes
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 17:50:09 +02:00
Michael Niedermayer
0a6b410edf avcodec/vp8: Suppress empty body warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 16:03:56 +02:00