Commit Graph

76037 Commits

Author SHA1 Message Date
Jeremy James
6f1ccca4ae dnxhd: add better support for CIDs 1270 to 1274
These are DNxHR profiles with the following properties:
- Variable size in a profile (property added in a previous commit),
  requiring variable-sized macroblock table;
- Variable bitdepth, up to 12 bits.
- Better validation of buffer sizes and positions

Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 13:08:20 +02:00
Christophe Gisquet
66db504f03 dnxhd: add CID 1270
This a 4:4:4 10 bits profile, where image size is not fixed by the
profile, and which strays a bit outside the old frame header parsing
code.

Fixes ticket #4581 (DNxHR is not stricly supported, but that sequence is).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:58:40 +02:00
Jeremy James
118a3cd2c5 dnxhd: add decoder support for DNxHR
Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:44:10 +02:00
Christophe Gisquet
3a6a432b58 isom: add support for DNxHR codec family
This is actually similar to DNxHD.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:44:05 +02:00
Christophe Gisquet
1f4ff53aea dnxhddec: Introduce DNXHD_VARIABLE
Currently not used, but will be used to indicate that a CIDEntry field
is not set, because it is variable, and that checks should be adapted.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:44:00 +02:00
Christophe Gisquet
52256860d6 dnxhdenc: do not select 4:4:4 profiles
The encoder can only deal with 4:2:2.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:27:15 +02:00
Christophe Gisquet
4e7cba1d8a dnxhd: profile flags
Move the 'interlaced' flag to this element (arbitrarily set to 16bits).
This should allow better detection/selection of profiles.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:26:54 +02:00
Christophe Gisquet
9139a7e84f dnxhddec: cleanup frame header parsing
Rely more on the actual syntax from the specs (also seen in the
encoder code).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:26:30 +02:00
Michael Niedermayer
c0152ebb9e avcodec/mmaldec: Use av_assert0() instead of assert()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-05 12:04:40 +02:00
Hendrik Leppkes
329a0e419e Merge commit '39f01e346cab464ef6c0d4ec58cc13b7123e60d8'
* commit '39f01e346cab464ef6c0d4ec58cc13b7123e60d8':
  mmaldec: be more tolerant against MMAL not returning decoded output

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:34:11 +02:00
Hendrik Leppkes
827d4b7942 Merge commit '65db4899fa8790049bec3af16ecdb75dd81051fd'
* commit '65db4899fa8790049bec3af16ecdb75dd81051fd':
  mmaldec: refactor to have more context per MMAL input buffer

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:34:04 +02:00
Hendrik Leppkes
45ab078e35 Merge commit 'eae58428bd199f7d4670bf471f56ed204430878e'
* commit 'eae58428bd199f7d4670bf471f56ed204430878e':
  avcodec: Do not lock during open for codecs marked as having threadsafe init

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:33:43 +02:00
Hendrik Leppkes
cae02106b7 Merge commit 'abe9adfb31566c415fd830a8d4977c79512d4385'
* commit 'abe9adfb31566c415fd830a8d4977c79512d4385':
  rangecoder: Use AV_RB16 instead of bytestream_get_be16

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:30:53 +02:00
Hendrik Leppkes
c9b3524619 Merge commit 'b8b13acd70a1c1b6c044f967d78cb82f1a53887b'
* commit 'b8b13acd70a1c1b6c044f967d78cb82f1a53887b':
  hevc: Simplify logical check

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:29:22 +02:00
Hendrik Leppkes
f85e460078 Merge commit '10aa6f9db44e96977e7155fdc3e62619e0e00a15'
* commit '10aa6f9db44e96977e7155fdc3e62619e0e00a15':
  h264: Use the correct argument context in debug log

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:28:17 +02:00
Hendrik Leppkes
78d9658a4d Merge commit '4628443ca3534060888dd0015b229337eac13fd2'
* commit '4628443ca3534060888dd0015b229337eac13fd2':
  h263: Drop uninitialized variable use from log message

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:27:07 +02:00
Hendrik Leppkes
fbd71bba85 Merge commit '1da2a20763ae9ca579d5fd20763065871ddf6311'
* commit '1da2a20763ae9ca579d5fd20763065871ddf6311':
  dvbsubdec: Fix function return type

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:25:40 +02:00
Hendrik Leppkes
d0186a4ec4 Merge commit 'cab63a8b594cdc365bb2581a12b3ac8e6dd480b2'
* commit 'cab63a8b594cdc365bb2581a12b3ac8e6dd480b2':
  dv: Mark internal frame reference as const

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:21:23 +02:00
Hendrik Leppkes
fecf775624 Merge commit '4c160fa23996c05efcd952ccfac2359311d8a1bc'
* commit '4c160fa23996c05efcd952ccfac2359311d8a1bc':
  dcadec: Always initialize return variable

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:19:38 +02:00
Hendrik Leppkes
0cd8170dd2 Merge commit 'bb198c4997d5036f3bf91de51e44f807115677d0'
* commit 'bb198c4997d5036f3bf91de51e44f807115677d0':
  d3d11va: make av_d3d11va_alloc_context() available at all times

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:18:31 +02:00
Hendrik Leppkes
ac830e9b48 Merge commit 'f3202871598f59b570b31b01cfeb64b8fedbd700'
* commit 'f3202871598f59b570b31b01cfeb64b8fedbd700':
  d3d11va: check for malloc failure

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:18:08 +02:00
Hendrik Leppkes
a7322bd97f Merge commit '2c3dbff1d89bbf8300c121c06524c014cb6e0915'
* commit '2c3dbff1d89bbf8300c121c06524c014cb6e0915':
  avutil/avstring: Inline some tiny functions

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:17:24 +02:00
Hendrik Leppkes
4064d688e7 Merge commit 'f56a08559334b7eb6b3fedbc0cc741887f6067ae'
* commit 'f56a08559334b7eb6b3fedbc0cc741887f6067ae':
  matroskaenc: Don't write a track language tag

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:12:12 +02:00
Hendrik Leppkes
f83ead7691 Merge commit '8bb376cf6b4ab8645daedb8becaa7163656436a4'
* commit '8bb376cf6b4ab8645daedb8becaa7163656436a4':
  checkasm: Fix the function name sorting algorithm

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-05 11:08:29 +02:00
Reynaldo H. Verdejo Pinochet
fe95b0eb8f ffserver: avoid leaking pathname at exit
Fixes Coverity CID 1325681

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 22:31:22 -07:00
Reynaldo H. Verdejo Pinochet
84b4998dbd ffserver: fix up rate units in server messages
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 15:58:35 -07:00
Reynaldo H. Verdejo Pinochet
d8c714cb24 ffserver: wrap around bandwidth exceeded msg text
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 15:58:35 -07:00
Reynaldo H. Verdejo Pinochet
8a9089948f ffserver: wrap around too-busy message text
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 15:58:35 -07:00
Reynaldo H. Verdejo Pinochet
3388bcced4 ffserver: unify exit path in _write_index()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 15:58:35 -07:00
Reynaldo H. Verdejo Pinochet
1175bbd14f ffserver: fix line wrapping on function decls
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-10-04 15:58:35 -07:00
Ganesh Ajjanagadde
7c6dd90eed ffplay: more robust mutex creation
SDL_CreateMutex can fail:
https://wiki.libsdl.org/SDL_CreateMutex.
This patch makes creation more robust in one instance.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-10-05 00:16:42 +02:00
Marton Balint
80b6cc4214 concatdec: fix metadata memleak on error
Fixes Coverity CID 1323077.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-10-05 00:16:12 +02:00
Rodger Combs
854972b53d libavformat/tls_securetransport: fix argument evalulation order UB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 23:14:19 +02:00
Michael Niedermayer
46f3015f35 avcodec/tta: Un-break build without threads
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 23:07:44 +02:00
Paul B Mahol
0c2b37fed4 avfilter: add displace video filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-04 21:44:57 +02:00
wm4
39f01e346c mmaldec: be more tolerant against MMAL not returning decoded output
In some situations, MMAL won't return a decoded frame for certain input
frames. This can happen if a frame fails to decode, or if a packet does
not actually contain a complete frame. In these situations, we would
deadlock (or actually timeout) waiting for an expected output frame,
which is not ideal. On the other hand, there are situations where we
definitely have to block to avoid deadlocks. (This mess is a
consequence of trying to map MMAL's asynchronous and flexible
dataflow to libavcodec, which is more static and rigid.)

Solve this by doing a blocking wait only if the amount of buffered data
is too big. The whole purpose of the blocking wait is to avoid excessive
buffering of input data, so we can skip it if it appears to be low. The
consequence is that libavcodec can gracefully return no frame to the
API user.

We want to track the number of full packets to make our heuristic work.
But MMAL buffers are fixed-size, requiring splitting large packets. This
is why the previous commit is needed. We use the ..._FRAME_END flag to
remember packet boundaries, but MMAL does not preserve these buffer
flags when returning buffers to the user.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-04 19:34:04 +02:00
wm4
65db4899fa mmaldec: refactor to have more context per MMAL input buffer
The next commit needs 1 bit of additional information per MMAL buffer
sent to the MMAL input port. This information will be needed when the
buffer is recycled (i.e. returned by the input port's callback).
Normally, we could use MMAL_BUFFER_HEADER_FLAG_USER0, but that is
unexpectedly not preserved.

Do this by storing a pointer to FFBufferEntry in the MMAL buffer's
user data, instead of an AVBufferRef. This also changes the lifetime
of FFBufferEntry.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-04 19:34:04 +02:00
James Almer
b70566d6ca avcodec/alacdec: split off decorrelate_stereo and append_extra_bits as alacdsp
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-04 14:10:05 -03:00
Ganesh Ajjanagadde
2cbaa078d1 avcodec: use HAVE_THREADS header guards to silence -Wunused-function
When compiled with --disable-pthreads, e.g
http://fate.ffmpeg.org/report.cgi?time=20150917015044&slot=alpha-debian-qemu-gcc-4.7,
a bunch of -Wunused-functions are reported due to missing header guards
around threading related functions.
This patch should silence such warnings.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-04 12:47:34 -04:00
Ganesh Ajjanagadde
26e8895b73 all: add _DEFAULT_SOURCE locally wherever needed
Glibc 2.20 onwards generates a deprecation warning for usage of _BSD_SOURCE and _SVID_SOURCE.
The solution from man feature_test_macros is to define both _DEFAULT_SOURCE and the old macros.
This solution is on the lines of the one in commit af1818276e.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2015-10-04 12:15:16 -04:00
Ganesh Ajjanagadde
c3e8de1c24 ffplay: more robust thread creation
SDL_CreateThread can fail:
https://wiki.libsdl.org/SDL_CreateThread.
This patch makes thread creation more robust in one instance.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-10-04 17:40:30 +02:00
Ganesh Ajjanagadde
59594b11f9 Changelog: add note on ffplay dynamic volume control
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-10-04 17:40:30 +02:00
Henrik Gramner
ec85153f25 checkasm: Fix compilation with --disable-avcodec 2015-10-04 15:35:16 +02:00
Ching Yi, Chan
5d926d5473 avformat/flacdec: support fast-seek
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 13:23:42 +02:00
Derek Buitenhuis
eae58428bd avcodec: Do not lock during open for codecs marked as having threadsafe init
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-04 13:21:16 +02:00
Clément Bœsch
513fcd4167 avfilter/ebur128: use AV_OPT_TYPE_BOOL for video option 2015-10-04 13:10:29 +02:00
Kyle Swanson
4f721bfd46 avfilter/ebur128: add dualmono measurement option 2015-10-04 13:10:26 +02:00
Vittorio Giovara
abe9adfb31 rangecoder: Use AV_RB16 instead of bytestream_get_be16
Silence an incompatible-pointer-types-discards-qualifiers warning from clang.
rangecoder.c:58:34: warning: passing
      'uint8_t **' (aka 'unsigned char **') to parameter of type
      'const uint8_t **' (aka 'const unsigned char **') discards qualifiers in
      nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
2015-10-04 13:09:08 +02:00
Vittorio Giovara
b8b13acd70 hevc: Simplify logical check
The intended meaning is "if this block is the first block in a slice then
its left boundary is a slice boundary". Silence a logical-not-parentheses
warning from gcc.
2015-10-04 13:08:58 +02:00
Vittorio Giovara
10aa6f9db4 h264: Use the correct argument context in debug log 2015-10-04 13:07:12 +02:00