Commit Graph

77611 Commits

Author SHA1 Message Date
Ganesh Ajjanagadde
641cb77f50 lavfi/vf_idet: replace round and cast by lrint
lrint is faster and conveys the intent better here. It is safe as long int has
at least 32 bits.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-19 09:33:32 -08: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
ce10f572c1 nutdec: reject negative value_len in read_sm_data
If it is negative, it can cause the byte position to move backwards in
avio_skip, which in turn makes sm_size negative and thus size larger
than the size of the packet buffer, causing invalid writes in avio_read.

Also fix potential overflow of avio_tell(bc) + value_len.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-19 17:57:56 +01: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
Marton Balint
c413d9e635 ffplay: remove existing AVPicture usage
It is deprecated.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-12-19 14:09:26 +01:00
Andreas Cadhalpun
9f82506c79 nutdec: only copy the header if it exists
Fixes ubsan runtime error: null pointer passed as argument 2, which is
declared to never be null

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-12-19 12:30:59 +01:00
Reynaldo H. Verdejo Pinochet
ae2ed20b59 ffserver: refactor build_feed_streams()
* Avoid excesive nesting that made it really hard to follow
* Drop unneeded vars
* Factor out codec compatibility check routine
* Ensure inputs are closed and contexts are freed as needed
  before returning

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-12-19 01:52:20 -08:00
Reynaldo H. Verdejo Pinochet
4ba148a6ea ffserver: refactor build_file_streams()
Avoid unneeded nesting, drop redundant var

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-12-19 01:52:20 -08:00
Reynaldo H. Verdejo Pinochet
532a283383 ffserver: unify exit path from build_feed_streams()
Exit from main on build_feed_streams() failures & use
standard EXIT_ codes on error out/normal exit.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-12-19 01:52:20 -08:00
Matthieu Bouron
c2ad248321 swscale/arm/yuv2rgb: simplify process_16px_* macro call 2015-12-19 10:42:33 +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
Jean Delvare
47b2ba9878 avfilter/vf_delogo: change the definition of logo_x2 and logo_y2
In the code we keep using logo_x2-1 and logo_y2-1 rather than logo_x2
and logo_y2 themselves. Define them to be what we need instead, to avoid
the repeated subtractions.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-19 03:12:31 +01:00
Rostislav Pehlivanov
591b240ed4 oggparsedaala: sync with current bitstream syntax
Since the parser was merged back almost 2 months ago this is the first
time the bitstream of the container has been updated.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-12-18 22:54:38 +00:00
Paul B Mahol
8d6b1ffba0 avfilter/vf_stereo3d: fix interleaved columns output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 22:04:19 +01:00
Paul B Mahol
aefcc77b90 avfilter/vf_stereo3d: multiply linesize only once for interleaved row to mono
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 19:44:01 +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
Clément Bœsch
91b4afd58d swscale/arm/yuv2rgb: fix slicing 2015-12-18 16:21:49 +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
Paul B Mahol
f6d1c15b64 doc/filters: copy all input modes to output modes.
For people who cant read.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 15:15:45 +01:00
Paul B Mahol
620b47576d avfilter/vf_stereo3d: add fast path for interleave rows to mono
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 15:15:45 +01:00
Hendrik Leppkes
06d69a2d22 Merge commit '458e53f51fc75d08df884f8e9eb3d7ded23e97b3'
* commit '458e53f51fc75d08df884f8e9eb3d7ded23e97b3':
  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
3564dfd535 Merge commit 'b0b133b8c02984ba0a50448f632a5dd8a50c9045'
* commit 'b0b133b8c02984ba0a50448f632a5dd8a50c9045':
  hevcdsp: use a macro for .rodata section

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:53:00 +01:00
Hendrik Leppkes
4a80f0bdb0 Merge commit '81c95eb8eee856d98d4ac37367dbc761f2faf875'
* commit '81c95eb8eee856d98d4ac37367dbc761f2faf875':
  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 '34138ece23c8ddae543269212a051c00d49e67d7'
* commit '34138ece23c8ddae543269212a051c00d49e67d7':
  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
5242cc878a Merge commit 'febfb49a70e82f5ac46dc7ea34dabd4d56b19b31'
* commit 'febfb49a70e82f5ac46dc7ea34dabd4d56b19b31':
  matroskadec: Fix sample_aspect_ratio for stereo matroska content

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:49:56 +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 'c34df422628e6b7b657faee241fe7bb2629e0f57'
* commit 'c34df422628e6b7b657faee241fe7bb2629e0f57':
  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 '16216b713f9a21865cc07993961cf5d0ece24916'
* commit '16216b713f9a21865cc07993961cf5d0ece24916':
  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 'be00ec832c519427cd92218abac77dafdc1d5487'
* commit 'be00ec832c519427cd92218abac77dafdc1d5487':
  lavc: Deprecate coder_type and its symbols

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-18 14:27:41 +01:00
Paul B Mahol
ec1b95dda4 avfilter/vf_stereo3d: fix interleave rows output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 10:56:33 +01:00
Paul B Mahol
a2a217b351 avfilter/vf_stereo3d: add fast path for interleave rows to alternating
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-12-18 10:56:16 +01:00
Marton Balint
752ab408b4 lavu/error: add missing error messages for errors supported on all platforms
We need these if we have no strerror_r.

Descriptions are taken from doc/errno.txt except for ENOMEM.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-12-18 04:04:14 +01:00
Marton Balint
b25adbaaf6 doc/errno: fix description typo for ENAMETOOLONG
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-12-18 04:04:14 +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
c67cf84d7c avfilter/af_sofalizer: Fix occured typo
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17 19:00:33 +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
e839db2288 avformat/oggparsedirac: Export sample aspect ratio
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-17 19:00:26 +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
rsn8887
02e9ba42eb avformat/xmv: Add *.xmv to the recognized extensions for the XMV format. 2015-12-17 17:50:42 +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
Ganesh Ajjanagadde
39f8c7961d lavu/random_seed: use arc4random() when available
arc4random() was designed as a superior interface for system random
number generation, designed for OpenBSD and subsequently incorporated by
other BSD's, Mac OS X, and some non-standard libc's. It is thus an improvement to
use it whenever available.

As a side note, this may or may not get included in glibc, and there is
a proposal to create a posix_random family based on these ideas:
http://austingroupbugs.net/view.php?id=859.

Tested on Mac OS X.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-17 08:12:41 -08:00
Hendrik Leppkes
7b880464cb Merge commit 'f1ccd076801444ab7f524cb13e0886faaf10fd50'
* commit 'f1ccd076801444ab7f524cb13e0886faaf10fd50':
  h264: do not call frame_start() for missing frames

Not merged, FFmpeg does a lot more in frame_start to setup missing frames
as well (like coloring them), and the overhead of the other setup is
minimal.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 15:03:50 +01:00
Hendrik Leppkes
49507f1d17 Merge commit 'd6dc5d15af0d8617611281a34a2c3f9ced149ccf'
* commit 'd6dc5d15af0d8617611281a34a2c3f9ced149ccf':
  aacdec: fix aac_static_table_init() prototype

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 14:53:37 +01:00
Hendrik Leppkes
74b8fa103d Merge commit '68e547ae8b455e5e2b60839f35c359d77a6d94bc'
* commit '68e547ae8b455e5e2b60839f35c359d77a6d94bc':
  avpacket: use ERANGE instead of EOVERFLOW

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-12-17 14:52:28 +01:00