Commit Graph

76877 Commits

Author SHA1 Message Date
Marton Balint
8f60663c8b concatdec: calculate duration early if outpoint is known
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-11-25 00:34:29 +01:00
Michael Niedermayer
4ea4d2f438 avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
Fixes out of array access
Fixes: 1430e9c43fae47a24c179c7c54f94918/signal_sigsegv_421427_2049_f2192b6829ab6e0eefcb035329c03c60.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-24 22:17:36 +01:00
Derek Buitenhuis
9c35b8e219 Merge commit 'fb8753ada23189076bdf903c1c001c0ca8287fae'
* commit 'fb8753ada23189076bdf903c1c001c0ca8287fae':
  qsvenc: factor out common options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-24 13:48:28 +00:00
Timothy Gu
12a419dacb avformat/v210: Check width and height
Fixes a floating point exception when width and height are not supplied
(and therefore are zero).
2015-11-23 18:34:52 -08:00
Timothy Gu
e1a214cadf avformat/rawvideodec: Rework packet size calculation
Calculate packet size only once, and propagate errors earlier in the chain.

Also remove use of the deprecated av_image_get_buffer_size().
2015-11-23 18:33:48 -08:00
Timothy Gu
7c91b3021c imgutils: Use designated initializers for AVClass
More readable and less breakable.
2015-11-23 18:30:25 -08:00
Michael Niedermayer
e4bfc726cd avfilter/vsrc_mandelbrot: Fix speed regression
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-24 03:17:32 +01:00
Carl Eugen Hoyos
66378f70ab lavf/rawenc: Recognize more extensions to encode raw hevc.
Requested-by: Mike Brown, brown at mrvideo vidiot com
2015-11-24 02:17:54 +01:00
Michael Niedermayer
13834c1016 avcodec/mpegvideo_enc: Remove slice structured mode from H.263 as well as the code automatically enabing it
There is no such thing as a slice structured mode in the original version 1  H.263,
that mode was added in H.263+ in 1998. Also the headers for slice structured mode
are not part of the older version 1 and this would result in unplayable files

An alternative to this patch would be to merge the H263 and H263P AVCodecs and use
other means to distinguish the older and newer versions.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-23 22:47:41 +01:00
Michael Niedermayer
188a1a17a6 avformat/movenc-test: Fix integer overflows
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-23 15:45:44 +01:00
Matthieu Bouron
46feb66972 swscale/arm: add ff_nv{12,21}_to_{argb,rgba,abgr,bgra}_neon
Signed-off-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
Signed-off-by: Clément Bœsch <clement@stupeflix.com>
2015-11-23 14:47:12 +01:00
Matt Oliver
e9ec28c95e avutil/x86/bswap: Remove warning about bswap intrinsics with msvc.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2015-11-23 23:03:32 +11:00
Clément Bœsch
56bdf61baa avutil/motion_vector: export subpel motion information
FATE test changes because of the switch from shift to division.
2015-11-23 10:55:15 +01:00
Paul B Mahol
c7b9338853 doc/filters: mention afifo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-11-23 10:42:23 +01:00
Paul B Mahol
04a7ce1a8c avfilter/af_afade: add missing fifo write for second stream
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-11-23 10:37:51 +01:00
Hagen Schmidt
59494863ff patcheck: Fix false detection of 'mergeable calls' when line is removed
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-23 00:34:14 +01:00
Ganesh Ajjanagadde
90ccfdb65b Revert "avcodec/dct32_template: fix typo"
This reverts commit 82c5f31789.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 17:01:42 -05:00
Ganesh Ajjanagadde
82c5f31789 avcodec/dct32_template: fix typo
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:56:49 -05:00
Ganesh Ajjanagadde
61a1ca13ea avcodec/ppc/fdctdsp: use M_SQRT2 instead of ad-hoc SQRT2
This actually fixes an incorrect float literal. It is believed by
examining the precision that the literals were all pre-computed as
floats, resulting in this needless loss of precision. There is no
benefit to keeping such reduced precision:
1. These constants are used for static array computation, hence
compile-time.
2. They will be treated as doubles anyway, since f specifier was not
present.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:16:16 -05:00
Ganesh Ajjanagadde
ccf3c69403 avcodec/dct32_template: use M_SQRT1_2 instead of actual literal
Fixed point value remains unchanged.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:16:16 -05:00
Ganesh Ajjanagadde
824ba897bd avcodec/cos_tablegen: use M_PI instead of actual literal
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:16:16 -05:00
Ganesh Ajjanagadde
94565f3791 avcodec/ac3: use M_SQRT1_2, M_SQRT2
This uses M_SQRT1_2, M_SQRT2 instead of the actual literals. This yields
greater precision in some places in avcodec/ac3, while fixed point
values remain unchanged.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:16:16 -05:00
Ganesh Ajjanagadde
18b4016431 avfilter/vf_fspp: use M_SQRT1_2, M_SQRT2
This uses M_SQRT1_2, M_SQRT2 instead of the actual literals. Fixed point
values remain unchanged.
Patch tested with FATE on x86.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:16:16 -05:00
Ganesh Ajjanagadde
7324af651f avformat/mov: use hypot()
This simplifies the code.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-22 16:14:47 -05:00
Michael Niedermayer
764900d645 avcodec/dvdsubdec: Fix types for offset1/2 in ff_dlog()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-22 19:26:05 +01:00
Derek Buitenhuis
4613b4df31 Merge commit '3edac01f79a08635d8d2c08e9410651d9a330d61'
* commit '3edac01f79a08635d8d2c08e9410651d9a330d61':
  qsvenc: fix setting maxrate for VBR

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:47:21 +00:00
Derek Buitenhuis
98540a2c7d Merge commit '4d8f536b535487063a08609636e712ad86d2ad54'
* commit '4d8f536b535487063a08609636e712ad86d2ad54':
  qsvenc: print the actual video parameters used by MSDK

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:46:57 +00:00
Derek Buitenhuis
09f9ef8536 Merge commit 'f6c94457b44f41d900cd0991857f54e1f0ccedd6'
* commit 'f6c94457b44f41d900cd0991857f54e1f0ccedd6':
  mpegvideo_enc: enable rtp_mode when multiple slices are used

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:46:26 +00:00
Derek Buitenhuis
819a99ef21 Merge commit 'd80f0a4ad634b3949b91b85f21fd608c0cddeef7'
* commit 'd80f0a4ad634b3949b91b85f21fd608c0cddeef7':
  mpevideo_enc: disallow multiple slices for h261 and flv

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:43:26 +00:00
Derek Buitenhuis
64db3639af Merge commit 'ca489564ae150bc41764f175b88151d883e69ae0'
* commit 'ca489564ae150bc41764f175b88151d883e69ae0':
  movenc: add fallback audio track tref support

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:41:51 +00:00
Derek Buitenhuis
fe20e34b13 Merge commit '79ae1e630b476889c251fc905687a3831b43ab5e'
* commit '79ae1e630b476889c251fc905687a3831b43ab5e':
  avcodec: Define side data type for fallback track

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:41:27 +00:00
Derek Buitenhuis
ad317c94c5 Merge commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e'
* commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e':
  avformat: expose av_stream_new_side_data helper

  Conflicts:
      libavformat/internal.h

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:19:10 +00:00
Derek Buitenhuis
2bf93dfd96 Merge commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a'
* commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a':
  lavf: document that passing valid timestamps to muxers is now mandatory

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:16:13 +00:00
Derek Buitenhuis
cde68661bf Merge commit '5c30ae1a09b66179e16694f6137658023ed1fef3'
* commit '5c30ae1a09b66179e16694f6137658023ed1fef3':
  dvdsubdec: Validate the RLE offsets

  Conflicts:
      libavcodec/dvdsubdec.c

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:15:21 +00:00
Derek Buitenhuis
df8e24be5d Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec'
* commit 'eda183287489b2c705843aa373a19c4e46fb2fec':
  travis: Enable OSX integration

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:12:24 +00:00
Derek Buitenhuis
5ebaf1e1cb Merge commit '79d89cf2f4b62eeb653fd8139041c87e75f7ca65'
* commit '79d89cf2f4b62eeb653fd8139041c87e75f7ca65':
  flacenc: Clamp user-supplied min/max prediction orders

  Conflicts:
      libavcodec/flacenc.c

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 17:10:42 +00:00
Derek Buitenhuis
bba2488f07 Merge commit '4bb1070c154e49d35805fbcdac9c9e92f702ef96'
* commit '4bb1070c154e49d35805fbcdac9c9e92f702ef96':
  ffv1: Explicitly name the coder type

  Conflicts:
      libavcodec/ffv1.h
      libavcodec/ffv1dec.c
      libavcodec/ffv1enc.c

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 16:57:43 +00:00
Derek Buitenhuis
3c110b009b Merge commit '9fd2bf09dbc630484d9e88a1d27f7e8508b70a2c'
These are all no-ops.

* commit '9fd2bf09dbc630484d9e88a1d27f7e8508b70a2c':
  hqx: correct type and size check of info_offset
  dds: disable palette flag for compressed images
  segafilm: Fix current_sample after seeking and avio_seek return type

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 14:38:57 +00:00
Derek Buitenhuis
5b4be0c039 Merge commit '62b4a6f1b9aa83d56701af226adda98faa5ede09'
* commit '62b4a6f1b9aa83d56701af226adda98faa5ede09':
  rtmpcrypt: Provide the xtea keys in little endian format for consistency

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 14:38:11 +00:00
Derek Buitenhuis
e12f403678 Merge commit '588b6215b4c74945994eb9636b0699028c069ed2'
* commit '588b6215b4c74945994eb9636b0699028c069ed2':
  rtmpcrypt: Do the xtea decryption in little endian mode
  xtea: Add functions for little endian mode

  Conflicts:
      libavutil/xtea.c

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-11-22 14:29:09 +00:00
Carl Eugen Hoyos
ced39dc5ed lavc/opusdec: Fix a memleak when reading invalid files.
Reviewed-by: James Almer
2015-11-22 01:49:18 +01:00
Carl Eugen Hoyos
f5074dd39c lavc/rscc: Fix colourspace for codec_tag RSCC. 2015-11-22 01:44:18 +01:00
Paul B Mahol
16195aad75 avformat/vpk: check samples_per_block size
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-11-21 21:58:24 +01:00
Paul B Mahol
8b1bc2b075 avformat: add FSB demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-11-21 21:03:51 +01:00
Ganesh Ajjanagadde
401c93ddb7 avutil/eval: change sqrt to hypot
This improves the mathematical behavior of hypotenuse computation.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-21 08:51:49 -05:00
Ganesh Ajjanagadde
275aca8fba configure+libm.h: add hypot emulation
It is known that the naive sqrt(x*x + y*y) approach for computing the
hypotenuse suffers from overflow and accuracy issues, see e.g
http://www.johndcook.com/blog/2010/06/02/whats-so-hard-about-finding-a-hypotenuse/.
This adds hypot support to FFmpeg, a C99 function.

On platforms without hypot, this patch does a reaonable workaround, that
although not as accurate as GNU libm, is readable and does not suffer
from the overflow issue. Improvements can be made separately.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-21 08:51:49 -05:00
Ganesh Ajjanagadde
14ea4151d7 avutil/libm: correct isnan, isinf compat hacks
isnan and isinf are actually macros as per the standard. In particular,
the existing implementation has incorrect signature. Furthermore, this
results in undefined behavior for e.g double values outside float range
as per the standard.

This patch corrects the undefined behavior for all usage within FFmpeg.

Note that long double is not handled as it is not used in FFmpeg.
Furthermore, even if at some point long double gets used, it is likely
not needed to modify the macro in practice for usage in FFmpeg. See
below for analysis.

Getting long double to work strictly per the spec is significantly harder
since a long double may be an IEEE 128 bit quad (very rare), 80 bit
extended precision value (on GCC/Clang), or simply double (on recent Microsoft).
On the other hand, any potential future usage of long double is likely
for precision (when a platform offers extra precision) and not for range, since
the range anyway varies and is not as portable as IEEE 754 single/double
precision. In such cases, the implicit cast to a double is well defined
and isinf and isnan should work as intended.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-21 08:51:49 -05:00
Ganesh Ajjanagadde
8ffb3f08c6 avcodec/amr: replace #define by typedef
See e.g https://stackoverflow.com/questions/1666353/are-typedef-and-define-the-same-in-c
for rationale.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-21 08:51:49 -05:00
Daniil Cherednik
6662ca28d4 avcodec/atrac1: fix decoder: QMF delay compensation should be 39 samples
This also adds a new fate test

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-21 11:38:45 +01:00
Timothy Gu
f2d9ae6e49 avformat/utils: Fix indentation 2015-11-20 21:33:46 -08:00