Commit Graph

27088 Commits

Author SHA1 Message Date
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
Michael Niedermayer
a493f8541d avcodec/x86/dsp: add_int16_mmx / add_int16_sse2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 04:06:46 +01:00
Michael Niedermayer
da0684820a avcodec/dsputil/huffyuv: move diff int16 and add int16 to dsputil
This also fixes masking the bits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 04:06:04 +01:00
Peter Ross
f29cdbe1b5 vp8: remove redundant "equals 1" test
mb_layout is either zero or non-zero.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 22:26:43 +01:00
Michael Niedermayer
fde2afd9fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  eac3: cosmetics, re-indent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:53:25 +01:00
Michael Niedermayer
10f1ee2f92 Merge commit 'ade75fb811500f3e3f284737f123938d83be728f'
* commit 'ade75fb811500f3e3f284737f123938d83be728f':
  (e)ac3: clip surround mix level indexes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:46:32 +01:00
Michael Niedermayer
3a5a039ade Merge commit 'c229f571fd3c7d7b567c27c87b2bbcdaee1b0e9f'
* commit 'c229f571fd3c7d7b567c27c87b2bbcdaee1b0e9f':
  (e)ac3: parse and store the Lt/Rt and LFE mix levels.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:37:06 +01:00
Michael Niedermayer
c3d1215683 Merge commit '1f604f96ea70503caa642f68a85be6074a5b3f46'
* commit '1f604f96ea70503caa642f68a85be6074a5b3f46':
  ac3: set default matrix encoding modes in parse_frame_header.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 21:18:18 +01:00
Tim Walker
0d43b114cc eac3: cosmetics, re-indent. 2014-01-19 19:12:58 +01:00
Tim Walker
ade75fb811 (e)ac3: clip surround mix level indexes.
Values 0-2 are reserved, 3 (-1.5dB) should be used instead.
2014-01-19 19:12:52 +01:00
Tim Walker
c229f571fd (e)ac3: parse and store the Lt/Rt and LFE mix levels. 2014-01-19 19:12:42 +01:00
Tim Walker
1f604f96ea ac3: set default matrix encoding modes in parse_frame_header.
Deduplicates some code.
2014-01-19 19:12:33 +01:00
Michael Niedermayer
ad8d063f23 avcodec/mjpegdec: Dont skip picture allocation if theres no picture allocated
Fixes Ticket 3245
2014-01-19 17:30:22 +01:00
Michael Niedermayer
676a395ab9 avcodec/aacdec: Dont fail if channels arent known yet
Fixes Ticket3312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 06:20:46 +01:00
Michael Niedermayer
31e703e899 avcodec/mjpegdec: Dont treat the lack of a startcode differently from end of the bitstream
Fixes Ticket3303

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 05:03:16 +01:00
Michael Niedermayer
361e27a3d8 avcodec/mjpegdec: only run EOI emulation code when there was a scan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 04:57:03 +01:00
Michael Niedermayer
8893f31e20 avcodec/mjpegdec: update cur_scan also for non-LS jpeg
This should make no difference but the variable will be used in a subsequent commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 04:57:03 +01:00
Timothy Gu
b9bedb0b28 avcodec/dnxhdenc: return meaningful return codes
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 00:09:36 +01:00
Michael Niedermayer
a52fbe5119 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: check that an IDR NAL only contains I slices

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 23:13:33 +01:00
Michael Niedermayer
2510e820c4 Merge commit '9ecabd7892ff073ae60ded3fc0a1290f5914ed5c'
* commit '9ecabd7892ff073ae60ded3fc0a1290f5914ed5c':
  h264: reset num_reorder_frames if it is invalid

Note, num_reorder_frames is not used in the failure case

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 22:59:46 +01:00
Michael Niedermayer
87e46dd5fb Merge commit '0652e024c680420d298cdf3719d0a0c030173fe3'
* commit '0652e024c680420d298cdf3719d0a0c030173fe3':
  h264: reset ref count if decoding the slice header fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 22:51:59 +01:00
Michael Niedermayer
59fb3c4be8 Merge commit '98cc9efc5f6b4dc847ed3b9b60b1c3bcd14e6791'
* commit '98cc9efc5f6b4dc847ed3b9b60b1c3bcd14e6791':
  h264: prevent two matching fields from being both a short/long ref combination

See: 92002db3eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 22:41:49 +01:00
Michael Niedermayer
329610303a Merge commit '00dbff4c3e048b4abd01bf805725aabff0fa5ee1'
* commit '00dbff4c3e048b4abd01bf805725aabff0fa5ee1':
  h264: do not call field_end if we do not have a current picture

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 21:51:40 +01:00
Michael Niedermayer
f2cb3b36ac Merge commit '7f0e81db3c4ee6f8ce15058bafa72ce928a89f3f'
* commit '7f0e81db3c4ee6f8ce15058bafa72ce928a89f3f':
  h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3

Conflicts:
	libavcodec/h264.c

See: d6a33f5d20
See: 2005fddcbb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 21:44:18 +01:00
Michael Niedermayer
357a733f91 Merge commit 'd1b3fabe6945e511bb20fc9ca52b47eb952526ee'
* commit 'd1b3fabe6945e511bb20fc9ca52b47eb952526ee':
  h264: reset first_field if frame_start() fails for missing refs

See: d7599bd8e2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 21:29:37 +01:00
Anton Khirnov
8b2e5e42bb h264: check that an IDR NAL only contains I slices
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:53:31 +01:00
Anton Khirnov
9ecabd7892 h264: reset num_reorder_frames if it is invalid
An invalid VUI is not considered a fatal error, so the SPS containing it
may still be used. Leaving an invalid value of num_reorder_frames there
can result in writing over the bounds of H264Context.delayed_pic.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:53:06 +01:00
Anton Khirnov
0652e024c6 h264: reset ref count if decoding the slice header fails
Otherwise the ER code might try to use some already freed references.

Fixes possible access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:51:04 +01:00
Anton Khirnov
98cc9efc5f h264: prevent two matching fields from being both a short/long ref combination
Fixes possible access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:42:39 +01:00
Anton Khirnov
00dbff4c3e h264: do not call field_end if we do not have a current picture
Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:42:21 +01:00
Anton Khirnov
7f0e81db3c h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3
Higher modes are not allowed for 16x16/chroma, which is what this
function is used for. Otherwise this function would return 0 (vertical
prediction) for invalid higher modes, which could result in invalid
reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:41:59 +01:00
Anton Khirnov
d1b3fabe69 h264: reset first_field if frame_start() fails for missing refs
In this case we may not have a current frame, while first_field being
set implies we do.

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-18 20:41:24 +01:00
James Almer
26800e3864 vp9/x86: rename ff_avg[48]_sse to ff_avg[48]_mmxext
pavgb is an sse integer instruction, so the mmxext flag is enough

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 17:08:25 +01:00
Michael Niedermayer
0117ba5594 avcodec/mpegvideo_enc: fix custom matrixes with jpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 06:33:45 +01:00
Michael Niedermayer
19df5dcb47 avcodec/dnxhdenc: check that qmax is within the supported range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 20:58:43 +01:00
Michael Niedermayer
f1caaa1c61 dnxhdenc: fix mb_rc size
Fixes out of array access with RC_VARIANCE set to 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 20:24:36 +01:00
Carl Eugen Hoyos
ee3fc8aa86 Fix libxvid crash on failing initialisation.
Fixes ticket #3297.
2014-01-17 14:52:55 +01:00
James Almer
d2a7314f1e vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_sse2().
Similar gains in performance as the SSSE3 version

Signed-off-by: James Almer <jamrial@gmail.com>
2014-01-17 14:16:38 +01:00
Michael Niedermayer
3ca7085ae2 avcodec: make "bitrate tolerance too small for bitrate" error more verbose
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 03:10:42 +01:00
Michael Niedermayer
d0004a1959 avcodec/kgv1dec: fix memleak, reintroduce lost decode_flush() call
fixes regression since 80d44190c4 and 1a0370ad94
this reverts the buggy changes in these 2 commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 02:50:50 +01:00