Andreas Cadhalpun
699e68371e
rawdec: only exempt BIT0 with need_copy from buffer sanity check
...
Otherwise the too small buffer is directly used in the frame, causing
segmentation faults, when trying to use the frame.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-20 12:15:56 +01:00
Michael Niedermayer
70f13abb4f
avcodec/mpeg4videodec: also for empty partitioned slices
...
Fixes assertion failure
Fixes: id_acf3e47f864e1ee4c7b86c0653e0ff31e5bde56e.m4v
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-19 23:54:10 +01:00
James Almer
0f520e489a
avcodec/Makefile: add missing dep for g723_1 encoder
...
Signed-off-by: James Almer <jamrial@gmail.com>
2015-12-19 18:50:47 -03:00
Michael Niedermayer
b92b4775a0
avcodec/h264_refs: Fix long_idx check
...
Fixes out of array read
Fixes mozilla bug 1233606
Found-by: Tyson Smith
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-19 22:17:54 +01:00
Michael Niedermayer
2d2b41d169
avcodec/ffv1enc: Fix 2 pass mode with the default rc table
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-19 20:42:54 +01:00
Ganesh Ajjanagadde
def3c83e1b
lavc/aacsbr: sbr_dequant optimization
...
This uses ff_exp2fi to get a speedup (~ 6x).
sample benchmark (Haswell, GNU/Linux):
old:
19102 decicycles in sbr_dequant, 1023 runs, 1 skips
19002 decicycles in sbr_dequant, 2045 runs, 3 skips
17638 decicycles in sbr_dequant, 4093 runs, 3 skips
15825 decicycles in sbr_dequant, 8189 runs, 3 skips
16404 decicycles in sbr_dequant, 16379 runs, 5 skips
new:
3063 decicycles in sbr_dequant, 1024 runs, 0 skips
3049 decicycles in sbr_dequant, 2048 runs, 0 skips
2968 decicycles in sbr_dequant, 4096 runs, 0 skips
2818 decicycles in sbr_dequant, 8191 runs, 1 skips
2853 decicycles in sbr_dequant, 16383 runs, 1 skips
Reviewed-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-19 09:32:53 -08:00
Andreas Cadhalpun
9d38f06d05
xwddec: prevent overflow of lsize * avctx->height
...
This is used to check if the input buffer is large enough, so if this
overflows it can cause a false negative leading to a segmentation fault
in bytestream2_get_bufferu.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-19 14:28:51 +01:00
Janne Grunau
2dba0407fd
avcodec/arm64: fix inverted register order in transpose_4x4H
...
Fix related register order issue in ff_h264_idct_add_neon.
Found-by: zjh8890 <243186085@qq.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-19 03:58:46 +01:00
Michael Niedermayer
1c878474fb
avcodec/ffv1enc: unbreak -coder option
...
This fixes a segfault caused by moving the coder option and changing its semantics
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-18 18:08:00 +01:00
Andreas Cadhalpun
90b99a8107
exr: fix out of bounds read in get_code
...
This macro unconditionally used out[-1], which causes an out of bounds
read, if out is the very beginning of the buffer.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-18 15:30:04 +01:00
Andreas Cadhalpun
4d5c3b02e9
on2avc: limit number of bits to 30 in get_egolomb
...
More don't fit into the integer output.
Also use get_bits_long, since get_bits only supports reading up to 25
bits, while get_bits_long supports the full integer range.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-18 15:29:57 +01:00
Rostislav Pehlivanov
4386f17bbd
acenc: remove deprecated avctx->frame_bits use
...
The type of last_frame_pb_count was chosen to be an int since overflow
is impossible (the spec says the maximum bits per frame is 6144 per
channel and the encoder checks for that).
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 14:28:40 +00:00
Hendrik Leppkes
06d69a2d22
Merge commit ' 458e53f51f'
...
* commit '458e53f51f ':
mpegvideo_enc: actually add the side data with vbv_delay to the packet
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:53:19 +01:00
Hendrik Leppkes
4a80f0bdb0
Merge commit ' 81c95eb8ee'
...
* commit '81c95eb8ee ':
openh264: Directly include the deprecation guards header
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:52:18 +01:00
Hendrik Leppkes
a38b50c3ff
Merge commit ' 34138ece23'
...
* commit '34138ece23 ':
log: Use a do {} while (0) for tlog
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:50:54 +01:00
Hendrik Leppkes
67ebc88fb5
lavc/sunrastenc: fix private codec options
...
The options were not actually hooked up.
2015-12-18 14:47:19 +01:00
Hendrik Leppkes
ef9ae0e748
Merge commit ' c34df42262'
...
* commit 'c34df42262 ':
sgienc: Make sure to initialize skipped header portions
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:39:59 +01:00
Hendrik Leppkes
362028cac9
Merge commit ' 16216b713f'
...
* commit '16216b713f ':
lavc: Drop exporting 2-pass encoding stats
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:39:15 +01:00
Hendrik Leppkes
2630f7f709
Merge commit ' be00ec832c'
...
* commit 'be00ec832c ':
lavc: Deprecate coder_type and its symbols
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:27:41 +01:00
Michael Niedermayer
c8ea57664f
avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
...
Fixes ubsan warning
Fixes Mozilla bug 1230276
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-18 00:54:37 +01:00
Michael Niedermayer
ef8f6464a5
avcodec/h264_slice: Simplify ref2frm indexing
...
This also suppresses a ubsan warning
Fixes Mozilla bug 1230247
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-18 00:54:28 +01:00
Ganesh Ajjanagadde
97d2c2d678
lavc/opus_celt: replace pow by exp2
...
exp2 is faster.
It may be possible to optimize further; e.g the exponents seem to be
multiples of 0.25. This requires study though.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-17 14:06:46 -08:00
Michael Niedermayer
95b59bfb9d
Revert "avcodec/aarch64/neon.S: Update neon.s for transpose_4x4H"
...
The change was not correct and broke H264
This reverts commit cd83f899c9 .
2015-12-17 21:26:37 +01:00
Andreas Cadhalpun
9637c2531f
sonic: make sure num_taps * channels is not larger than frame_size
...
If that is the case, the loop setting predictor_state in
sonic_decode_frame causes out of bounds reads of int_samples, which has
only frame_size number of elements.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-17 19:55:09 +01:00
Michael Niedermayer
73840bbe4e
avcodec/diracdec: Check ff_set_dimensions() for failure
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17 19:00:33 +01:00
Michael Niedermayer
ffad6f6b89
avcodec/diracdec: fix aspect ratio (it was lost after efcc8fddd6)
...
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17 19:00:18 +01:00
Ganesh Ajjanagadde
07a8fbaa55
lavc/nellymoserenc: avoid wasteful pow
...
exp2 suffices here. Some trivial speedup is done in addition here by
reusing results.
This retains accuracy, and in particular results in identical values
with GNU libm + gcc/clang.
sample benchmark (Haswell, GNU/Linux):
proposed : 424160 decicycles in pow_table, 512 runs, 0 skips
exp2 only: 1262093 decicycles in pow_table, 512 runs, 0 skips
old : 2849085 decicycles in pow_table, 512 runs, 0 skips
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-17 08:12:41 -08:00
Hendrik Leppkes
74b8fa103d
Merge commit ' 68e547ae8b'
...
* commit '68e547ae8b ':
avpacket: use ERANGE instead of EOVERFLOW
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 14:52:28 +01:00
Hendrik Leppkes
efcc8fddd6
Merge commit ' e02de9df4b'
...
* commit 'e02de9df4b ':
lavc: export Dirac parsing API used by the ogg demuxer as public
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 14:48:46 +01:00
Hendrik Leppkes
b2d8b91cf0
Merge commit ' 825900248b'
...
* commit '825900248b ':
qsvenc: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:42:53 +01:00
Hendrik Leppkes
5fc17edc7d
Merge commit ' 1520c6ff05'
...
* commit '1520c6ff05 ':
nvenc: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:41:29 +01:00
Hendrik Leppkes
31ae2308b3
Merge commit ' 2507b5dd67'
...
* commit '2507b5dd67 ':
mpegvideo_enc: export vbv_delay in side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:36:09 +01:00
Hendrik Leppkes
b799619f48
Merge commit ' 3f5c99fcbb'
...
* commit '3f5c99fcbb ':
mpegvideo_enc: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:35:34 +01:00
Hendrik Leppkes
b77061b5ca
Merge commit ' 732a37d146'
...
* commit '732a37d146 ':
libx264: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:34:51 +01:00
Hendrik Leppkes
d6322710c5
Merge commit ' 03afb62e83'
...
* commit '03afb62e83 ':
libvpxenc: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:33:20 +01:00
Hendrik Leppkes
f49264a1c5
Merge commit ' 11c9bd633f'
...
* commit '11c9bd633f ':
libopenh264enc: export CPB props side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:31:21 +01:00
Hendrik Leppkes
dd6ee019ea
Merge commit ' f0b769c16d'
...
* commit 'f0b769c16d ':
lavc: add a packet side data type for VBV-like parameters
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:25:52 +01:00
Hendrik Leppkes
a7d5b9f1c3
Merge commit ' 84adab333c'
...
* commit '84adab333c ':
lavc: add stream-global packet side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:18:18 +01:00
Hendrik Leppkes
30833d121e
Merge commit ' 31c51f7441'
...
* commit '31c51f7441 ':
avpacket: add a function for wrapping existing data as side data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:12:07 +01:00
Hendrik Leppkes
10e55bd658
Merge commit ' b09ad37c83'
...
* commit 'b09ad37c83 ':
h264: derive the delay from the level when it's not present
Merged without changing the strict_std_compliance check, as it breaks FATE
and changes decoding behavior.
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 13:07:08 +01:00
Hendrik Leppkes
c6f1f334cb
Merge commit ' 792b9c9dfc'
...
* commit '792b9c9dfc ':
h264: set frame_num in start_frame(), not decode_slice_header()
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 12:59:25 +01:00
Hendrik Leppkes
bc66451e5e
Merge commit ' 741b494fa8'
...
* commit '741b494fa8 ':
h264: eliminate default_ref_list
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 12:45:28 +01:00
Kieran Kunhya
25f6ccccd6
diracdec: Fix codeblock parameters reading
2015-12-16 23:26:03 +00:00
Kieran Kunhya
a349a10edf
diracdec: Add support for HQ profile
2015-12-16 21:35:12 +00:00
Kieran Kunhya
0379603632
diracdec: Add 10-bits to pix_fmt table
2015-12-16 21:35:12 +00:00
Andreas Cadhalpun
f61d44b74a
opus_silk: fix typo causing overflow in silk_stabilize_lsf
...
Due to this typo max_center can be too large, causing nlsf to be set to
too large values, which in turn can cause nlsf[i - 1] + min_delta[i] to
overflow to a negative value, which is not allowed for nlsf and can
cause an out of bounds read in silk_lsf2lpc.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-16 19:29:17 +01:00
Ganesh Ajjanagadde
83a04f103d
lavc: move exp2fi to ff_exp2fi in internal.h
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-16 07:57:26 -05:00
Stefano Sabatini
6e891d51f4
lavc/libopenh264: apply minor options text consistency fixes
2015-12-16 10:48:28 +01:00
Ganesh Ajjanagadde
65877ab935
lavc: typo fix uncliped -> unclipped
...
Untested due to lack of ppc.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-15 22:45:15 -05:00
Matthieu Bouron
ae1c750cb4
lavc/utils: use AVPixFmtDescriptor to probe palette formats
...
Also use the input frame format instead of the AVCodecContext one according
to the documentation of AVCodecContext.get_buffer2().
2015-12-15 10:35:47 +01:00