27227 Commits

Author SHA1 Message Date
Michael Niedermayer
a298f934ec Merge commit '025fd76e1a2623c858d8c686a73cc30980a314b0'
* commit '025fd76e1a2623c858d8c686a73cc30980a314b0':
  dxtory: change error code for unexpected slice configuration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 21:17:16 +01:00
Michael Niedermayer
9eb954b91d Merge commit 'e91a3f1bdba9b4945e42c191d2e35e9844625fb4'
* commit 'e91a3f1bdba9b4945e42c191d2e35e9844625fb4':
  dxtory: correctly handle YUV slices with average odd height

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 21:01:36 +01:00
Michael Niedermayer
57a0c5fa9c Merge commit 'ade4ecb42d2dacd18d04eb8df2afa8131e5ad653'
* commit 'ade4ecb42d2dacd18d04eb8df2afa8131e5ad653':
  dxva2: Use correct printf format strings

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 20:45:55 +01:00
Michael Niedermayer
075989c33c Merge commit '766df7ca89a2398e71182f5f2b46053e3aa9bd69'
* commit '766df7ca89a2398e71182f5f2b46053e3aa9bd69':
  dxva2: Add missing #includes

See: 9056d0c94af5c09478acf0e1bc129a9c539070f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 20:40:23 +01:00
Reimar Döffinger
76421982d0 lossless_videodsp.asm: fix compilation.
Fixes these errors with nasm:
libavcodec/x86/lossless_videodsp.asm:86: error: invalid combination of opcode and operands
libavcodec/x86/lossless_videodsp.asm:88: error: invalid combination of opcode and operands
I don't know whether movd or movq was meant, but either way
maskq vs. maskd must match the mov size.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-01-21 19:46:02 +01:00
Anton Khirnov
e0ab5078a7 lavc: do not force the emu edge flag
The default get_buffer2() implementation (and possibly some
user ones) does not allocate edges when this flag is set, which may
expose bugs in some decoders. Until the 10 release is out, it is safer
to remove this part.
2014-01-21 17:54:09 +01:00
Kostya Shishkov
025fd76e1a dxtory: change error code for unexpected slice configuration 2014-01-21 17:47:50 +01:00
Kostya Shishkov
e91a3f1bdb dxtory: correctly handle YUV slices with average odd height 2014-01-21 17:47:50 +01:00
Michael Niedermayer
91f4394ed3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dxva2: Log errors verbosely

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:02:13 +01:00
Michael Niedermayer
9056d0c94a Merge commit '5b2b23f2d69e05c5fcd1c933e383fe60e185574d'
* commit '5b2b23f2d69e05c5fcd1c933e383fe60e185574d':
  dxva2: Retry IDirectXVideoDecoder_BeginFrame()

This also adds a missig #include to prevent breaking building

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:56:03 +01:00
Michael Niedermayer
a69dd1163b Merge commit 'e22ebd04bcab7f86548794556c28ecca46d9c2ac'
* commit 'e22ebd04bcab7f86548794556c28ecca46d9c2ac':
  hevc: Bound check cu_qp_delta

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:42:51 +01:00
Michael Niedermayer
58f437c3f6 Merge commit '0d999333f96a34903448579bf13a3209deaee9da'
* commit '0d999333f96a34903448579bf13a3209deaee9da':
  hevc: Bound check slice_qp

Conflicts:
	libavcodec/hevc.c

See: aead772b5814142b0e530804486ff7970ecd9eef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:38:29 +01:00
Michael Niedermayer
5b93b2722d Merge commit '838740e6420538ad45982da6b1d3aa3ae91307f5'
* commit '838740e6420538ad45982da6b1d3aa3ae91307f5':
  hevc: Prevent some integer overflows

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:31:04 +01:00
Michael Niedermayer
29ba1cff2b Merge commit 'b37e796082b2d787aff3cd5631bb89c4fd374708'
* commit 'b37e796082b2d787aff3cd5631bb89c4fd374708':
  hevc: Use uint64 to check for tile dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:19:39 +01:00
Michael Niedermayer
42a29015e1 Merge commit 'a7a07cc98ac548297b5b0628cb81280e11952e3f'
* commit 'a7a07cc98ac548297b5b0628cb81280e11952e3f':
  hevc: check that VPS referenced from SPS exists

Conflicts:
	libavcodec/hevc_ps.c

See: d66bab0a69ac1860e78dd951ad8db1a507e75642
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 15:04:24 +01:00
Diego Biurrun
ade4ecb42d dxva2: Use correct printf format strings 2014-01-21 14:42:44 +01:00
Diego Biurrun
766df7ca89 dxva2: Add missing #includes 2014-01-21 14:42:23 +01:00
Sam Lantinga
9d80b1ae95 dxva2: Log errors verbosely
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 12:46:29 +01:00
Sam Lantinga
5b2b23f2d6 dxva2: Retry IDirectXVideoDecoder_BeginFrame()
If the function returns E_PENDING retry for a fixed number of times.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 12:46:28 +01:00
Luca Barbato
e22ebd04bc hevc: Bound check cu_qp_delta
The T-REC-H.265-2013044 page 91 states it has to be in the range
[-(26 + s->sps->qp_bd_offset / 2), (25 + s->sps->qp_bd_offset / 2)].
2014-01-21 11:59:54 +01:00
Luca Barbato
0d999333f9 hevc: Bound check slice_qp
The T-REC-H.265-2013044 page 79 states it has to be in the range
[-s->sps->qp_bd_offset, 51].

Sample-Id: 00001386-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-01-21 11:59:30 +01:00
Luca Barbato
838740e642 hevc: Prevent some integer overflows
get_ue_golomb_long() returns an unsigned.

Sample-Id: 00001541-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-01-21 11:59:18 +01:00
Guillaume Martres
faf03ecba0 hevc: Remove useless clip
The src buffer should only contain values in the interval
[0, (1 << BIT_DEPTH) - 1].

Since shift = (BIT_DEPTH - 5), src[x] >> shift must be in
the interval [0, 31], so no clip is needed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 11:58:52 +01:00
Guillaume Martres
a246d06fe0 hevc: clip pixels when transquant bypass is used
The reconstructed picture should always be clipped (see section 8.6.5),
previously we did not clip coding units where
cu_transquant_bypass_flag == 1.

Sample-Id: 00001325-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 11:58:37 +01:00
Luca Barbato
b37e796082 hevc: Use uint64 to check for tile dimensions
And use unsigned datatypes.

Otherwise it would overflow.

Sample-Id: 00001315-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-01-21 11:57:51 +01:00
Michael Niedermayer
d5c15ebeaf hevc: Fix modulo operations
Keep qp fields within the range.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 11:57:43 +01:00
Michael Niedermayer
a7a07cc98a hevc: check that VPS referenced from SPS exists
This matches how its done for SPS/PPS.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-01-21 11:57:36 +01:00
Michael Niedermayer
a459891e62 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: Always reset numref when parsing a new frame header.

Conflicts:
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 04:29:59 +01:00
Michael Niedermayer
3715f9e2c6 avcodec/lossless_videodsp: fix diff_int16_c on MIPS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 03:20:39 +01:00
Michael Niedermayer
83b67ca056 avcodec/x86/lossless_videodsp: Port lorens add_hfyu_left_prediction_ssse3/sse4 to 16bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 02:55:41 +01:00
Michael Niedermayer
63d2be7533 avcodec/x86/lossless_videodsp: use SPLATW in add_int16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 02:33:20 +01:00
Michael Niedermayer
dd2d0039b6 vc1: Always reset numref when parsing a new frame header.
Fixes an issue where the B-frame coding mode switches from interlaced
fields to interlaced frames, causing incorrect decisions in the motion
compensation code and resulting in visual artifacts.

CC: libav-stable@libav.org
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-01-20 23:22:30 +01:00
Michael Niedermayer
d9779d648e Move sub_hfyu_median_prediction_int16() to losslessviddsp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 23:02:58 +01:00
Michael Niedermayer
13c33c8e1f Move add_hfyu_median_prediction_int16() to losslessviddsp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 22:25:45 +01:00
Michael Niedermayer
883570e6b7 Move add_hfyu_left_prediction_int16 to losslessviddsp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 22:21:24 +01:00
Michael Niedermayer
f9c7b14c04 avcdoec/huffyuvenc: optimize sub_left_prediction()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 22:12:56 +01:00
Michael Niedermayer
f70d7eb20c Move add/diff_int16 to lossless_videodsp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 21:32:47 +01:00
Michael Niedermayer
78e39aa7ee Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid a possible overflow when reading Nikon avi files.
  Add h263dsp dependency to mpeg1video and mpeg2video encoders.
  Fix compilation with --disable-hwaccel=mpeg1_xvmc,mpeg2_xvmc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 19:54:45 +01:00
Michael Niedermayer
eef74b2e97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().

Conflicts:
	doc/APIchanges
	libavcodec/utils.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 18:55:22 +01:00
Michael Niedermayer
8001e9f7d1 avcodec/jpeg2000dec: fix error detection in pix_fmt_match()
Fixes out of array accesses with CODEC_FLAG_EMU_EDGE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 18:46:38 +01:00
Michael Niedermayer
723e7b86ea avcodec/jpeg2000dec: calculate planar and pixelsize from pixel format descriptor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 18:46:37 +01:00
Michael Niedermayer
6ba02602aa avcodec/vmnc: Check that rectangles are within the picture
Prevents out of array accesses with CODEC_FLAG_EMU_EDGE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 18:46:37 +01:00
Michael Niedermayer
7c6cf689d8 avcodec/diracdec: allocate edges internally instead of depending on CODEC_FLAG_EMU_EDGE being not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 17:52:55 +01:00
Michael Niedermayer
d83707c641 Merge commit '024db24912a39316b0ef0b7d793307d62da038f4'
* commit '024db24912a39316b0ef0b7d793307d62da038f4':
  mpegvideo: allocate edges when encoding.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 17:09:35 +01:00
Michael Niedermayer
d08dd32863 avcodec/mpegvideo_enc: disable direct mode in load_input_picture() for dimensions%16 != 0
We currently read a whole 16x16 block from the input at a few places

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 17:04:57 +01:00
Michael Niedermayer
ea4b477a1b Merge commit 'f7e85ee996b3886c2b13e928b83277382311af96'
* commit 'f7e85ee996b3886c2b13e928b83277382311af96':
  lavc: allow the caller to override dimensions in ff_get_buffer()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 15:07:45 +01:00
Anton Khirnov
93c553c71e lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width(). 2014-01-20 12:52:28 +01:00
Anton Khirnov
024db24912 mpegvideo: allocate edges when encoding.
Allocating edges will be removed from generic code, so the encoder must
handle this explicitly.
2014-01-20 12:50:14 +01:00
Anton Khirnov
f7e85ee996 lavc: allow the caller to override dimensions in ff_get_buffer()
This will be useful for allocating edges in the encoders.
2014-01-20 12:49:47 +01:00
Carl Eugen Hoyos
c892621577 Fix compilation with --disable-hwaccel=mpeg1_xvmc,mpeg2_xvmc 2014-01-20 11:20:46 +01:00