ffmpeg.git
20 months agoMerge commit 'a1a143adb0fd11c474221431417cff25db7d920f'
James Almer [Tue, 26 Sep 2017 21:08:25 +0000 (18:08 -0300)]
Merge commit 'a1a143adb0fd11c474221431417cff25db7d920f'

* commit 'a1a143adb0fd11c474221431417cff25db7d920f':
  rtmp: Rename packet types to closer match the spec

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'bcaedef1189a3531aa4dfb020627eb0133ffa89c'
James Almer [Tue, 26 Sep 2017 20:42:19 +0000 (17:42 -0300)]
Merge commit 'bcaedef1189a3531aa4dfb020627eb0133ffa89c'

* commit 'bcaedef1189a3531aa4dfb020627eb0133ffa89c':
  configure: Add require_cpp_condition() convenience function

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'aba7fdcc8baaed35e804c7882b70a848a0e566c7'
James Almer [Tue, 26 Sep 2017 20:29:57 +0000 (17:29 -0300)]
Merge commit 'aba7fdcc8baaed35e804c7882b70a848a0e566c7'

* commit 'aba7fdcc8baaed35e804c7882b70a848a0e566c7':
  configure: Add require_header() convenience function

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'a97563c889fefd81ad6b3758471434d8c2e2e550'
James Almer [Tue, 26 Sep 2017 20:23:16 +0000 (17:23 -0300)]
Merge commit 'a97563c889fefd81ad6b3758471434d8c2e2e550'

* commit 'a97563c889fefd81ad6b3758471434d8c2e2e550':
  configure: Simplify libxcb check

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'c29da01ac95ea2c8c5c4b3a312a33aaaa8fb7068'
James Almer [Tue, 26 Sep 2017 20:13:46 +0000 (17:13 -0300)]
Merge commit 'c29da01ac95ea2c8c5c4b3a312a33aaaa8fb7068'

* commit 'c29da01ac95ea2c8c5c4b3a312a33aaaa8fb7068':
  svq3: Convert to the new bitstream reader

This commit is a noop, see
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'acfa7a2178f08fd81b66279959cd55ec3ae237e2'
James Almer [Tue, 26 Sep 2017 20:11:48 +0000 (17:11 -0300)]
Merge commit 'acfa7a2178f08fd81b66279959cd55ec3ae237e2'

* commit 'acfa7a2178f08fd81b66279959cd55ec3ae237e2':
  configure: Drop weak dependencies on external libraries for webm muxer

This commit is a noop.

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '66988320794a107f2a460eaa71dbd9fab8056842'
James Almer [Tue, 26 Sep 2017 20:08:29 +0000 (17:08 -0300)]
Merge commit '66988320794a107f2a460eaa71dbd9fab8056842'

* commit '66988320794a107f2a460eaa71dbd9fab8056842':
  configure: Add proper weak dependency of drawtext filter on libfontconfig

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '24d5680bbc01fc124709d522d348572ad4672563'
James Almer [Tue, 26 Sep 2017 20:01:21 +0000 (17:01 -0300)]
Merge commit '24d5680bbc01fc124709d522d348572ad4672563'

* commit '24d5680bbc01fc124709d522d348572ad4672563':
  configure: Simplify inline asm check with appropriate helper function

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'b3825723dceffc64240da7b0e562bd1fd024da26'
James Almer [Tue, 26 Sep 2017 19:49:59 +0000 (16:49 -0300)]
Merge commit 'b3825723dceffc64240da7b0e562bd1fd024da26'

* commit 'b3825723dceffc64240da7b0e562bd1fd024da26':
  configure: Merge compiler/libc/os hacks sections

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '577326d430593a25456393a75212b95d1cd94131'
James Almer [Tue, 26 Sep 2017 19:38:55 +0000 (16:38 -0300)]
Merge commit '577326d430593a25456393a75212b95d1cd94131'

* commit '577326d430593a25456393a75212b95d1cd94131':
  lavc: deprecate refcounted_frames field

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '3ad825793a43253154bed05827f27425fc0757df'
James Almer [Tue, 26 Sep 2017 19:27:43 +0000 (16:27 -0300)]
Merge commit '3ad825793a43253154bed05827f27425fc0757df'

* commit '3ad825793a43253154bed05827f27425fc0757df':
  hwcontext_cuda: implement frames_get_constraints

This commit is a noop, c16fe1432d88f87a96be9e943e0f1229543ad61d

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3'
James Almer [Tue, 26 Sep 2017 18:58:40 +0000 (15:58 -0300)]
Merge commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3'

* commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3':
  Mark some arrays that never change as const.

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'b420a27e74750b60d2e064236afb10be06a38ace'
James Almer [Tue, 26 Sep 2017 18:44:19 +0000 (15:44 -0300)]
Merge commit 'b420a27e74750b60d2e064236afb10be06a38ace'

* commit 'b420a27e74750b60d2e064236afb10be06a38ace':
  avconv: allow -b to be used with streamcopy

This commit is a noop. We already have this functionality.

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'ab2539bd374fe7ddbc6e2f058b62645cd5076192'
James Almer [Tue, 26 Sep 2017 18:06:10 +0000 (15:06 -0300)]
Merge commit 'ab2539bd374fe7ddbc6e2f058b62645cd5076192'

* commit 'ab2539bd374fe7ddbc6e2f058b62645cd5076192':
  ffv1: Convert to the new bitstream reader
  h261dec: Convert to the new bitstream reader
  shorten: Convert to the new bitstream reader
  ralf: Convert to the new bitstream reader
  loco: Convert to the new bitstream reader
  fic: Convert to the new bitstream reader
  dirac: Convert to the new bitstream reader
  cavs: Convert to the new bitstream reader
  aic: Convert to the new bitstream reader
  golomb: Convert to the new bitstream reader

This commit is a noop, see
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'ab87af41636b081dd3562423999351b5444fa09e'
James Almer [Tue, 26 Sep 2017 18:03:21 +0000 (15:03 -0300)]
Merge commit 'ab87af41636b081dd3562423999351b5444fa09e'

* commit 'ab87af41636b081dd3562423999351b5444fa09e':
  configure: Add proper weak dependency of avformat on network

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '612cc0712836af2f025b0c68b11da29b9f259d5a'
James Almer [Tue, 26 Sep 2017 17:59:58 +0000 (14:59 -0300)]
Merge commit '612cc0712836af2f025b0c68b11da29b9f259d5a'

* commit '612cc0712836af2f025b0c68b11da29b9f259d5a':
  pgssubdec: reset rle_data_len/rle_remaining_len on allocation error

This commit is a noop, see 842e98b4d83d8cf297e2bc2761f1f47eb89e49e4

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit '708e84cda1bdbffb92847f3d6ccf6fbeb26d9948'
James Almer [Tue, 26 Sep 2017 17:48:22 +0000 (14:48 -0300)]
Merge commit '708e84cda1bdbffb92847f3d6ccf6fbeb26d9948'

* commit '708e84cda1bdbffb92847f3d6ccf6fbeb26d9948':
  mov: Avoid memcmp of uninitialised data

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'ca62236a89f47bd871eaf69d8d9e837c93c55a6c'
James Almer [Tue, 26 Sep 2017 17:43:29 +0000 (14:43 -0300)]
Merge commit 'ca62236a89f47bd871eaf69d8d9e837c93c55a6c'

* commit 'ca62236a89f47bd871eaf69d8d9e837c93c55a6c':
  vaapi_encode: Add VP8 support
  vaapi_encode: Pass framerate parameters to driver
  vaapi_h264: Enable VBR mode
  vaapi_encode: Support VBR mode

This commit is a noop, see
ceb28c3cc4c7921935b48904db3c559eed1597fe
2201c02e6dc9f9652a8e27dec194915f05954ad0
be6546a4ff592785d039df6cbdd7659781d30b2c
d1acab8293054151157910eb081d5edcc7496e13

Merged-by: James Almer <jamrial@gmail.com>
20 months agoMerge commit 'c5c663541739cb813a2a5668ee8339b535b35d7d'
Rodger Combs [Tue, 26 Sep 2017 17:13:54 +0000 (14:13 -0300)]
Merge commit 'c5c663541739cb813a2a5668ee8339b535b35d7d'

* commit 'c5c663541739cb813a2a5668ee8339b535b35d7d':
  doc: add dash muxer

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit '7295b7373862ee54903b33d6ef3335531dfa93ad'
Rodger Combs [Tue, 26 Sep 2017 17:13:09 +0000 (14:13 -0300)]
Merge commit '7295b7373862ee54903b33d6ef3335531dfa93ad'

* commit '7295b7373862ee54903b33d6ef3335531dfa93ad':
  dashenc: add webm support

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit '01f1f017d831cf14617aaaeafcec3ae3a81efce7'
Rodger Combs [Tue, 26 Sep 2017 17:12:19 +0000 (14:12 -0300)]
Merge commit '01f1f017d831cf14617aaaeafcec3ae3a81efce7'

* commit '01f1f017d831cf14617aaaeafcec3ae3a81efce7':
  dashenc: use avio_dynbuf instead of packet_write callback

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit 'dce2929efa8e82b0832a828f7e8cb81ff8c20a4e'
Rodger Combs [Tue, 26 Sep 2017 17:11:50 +0000 (14:11 -0300)]
Merge commit 'dce2929efa8e82b0832a828f7e8cb81ff8c20a4e'

* commit 'dce2929efa8e82b0832a828f7e8cb81ff8c20a4e':
  dashenc: copy language and role metadata from streams assigned to sets

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit 'ca9bc9de690258d4761a19b0df6e9c9113b80115'
Rodger Combs [Tue, 26 Sep 2017 17:11:25 +0000 (14:11 -0300)]
Merge commit 'ca9bc9de690258d4761a19b0df6e9c9113b80115'

* commit 'ca9bc9de690258d4761a19b0df6e9c9113b80115':
  dashenc: default to one AdaptationSet per stream

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit 'efd2fc41b3f0749f9715d50b581f22bbaa8c5b99'
Rodger Combs [Tue, 26 Sep 2017 17:11:02 +0000 (14:11 -0300)]
Merge commit 'efd2fc41b3f0749f9715d50b581f22bbaa8c5b99'

* commit 'efd2fc41b3f0749f9715d50b581f22bbaa8c5b99':
  dashenc: allow assigning all streams of a media type to an AdaptationSet

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit '3d23a5f96ad72961c14ba3a0c2add8f2ab374b61'
Rodger Combs [Tue, 26 Sep 2017 17:10:30 +0000 (14:10 -0300)]
Merge commit '3d23a5f96ad72961c14ba3a0c2add8f2ab374b61'

* commit '3d23a5f96ad72961c14ba3a0c2add8f2ab374b61':
  dashenc: add support for assigning streams to AdaptationSets

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoMerge commit '9df9309d233f59d9706444a1e24ac24139f2640d'
Rodger Combs [Tue, 26 Sep 2017 17:02:44 +0000 (14:02 -0300)]
Merge commit '9df9309d233f59d9706444a1e24ac24139f2640d'

* commit '9df9309d233f59d9706444a1e24ac24139f2640d':
  dashenc: calculate stream bitrate from first segment if not available

Merged-by: Rodger Combs <rodger.combs@gmail.com>
20 months agoRevert "lavf/dashenc: update bitrates on dash_write_trailer"
James Almer [Tue, 26 Sep 2017 16:59:56 +0000 (13:59 -0300)]
Revert "lavf/dashenc: update bitrates on dash_write_trailer"

This reverts commit 89c0fda5f43d8a3d3a1c538ff8d72e6737bc7d8e.

A different solution will be committed instead.

Signed-off-by: James Almer <jamrial@gmail.com>
20 months agolavf/tls_gnutls: fix warnings from version check
Moritz Barsnick [Tue, 26 Sep 2017 11:25:54 +0000 (13:25 +0200)]
lavf/tls_gnutls: fix warnings from version check

The GnuTLS version is checked through the macro GNUTLS_VERSION_NUMBER,
but this wasn't introduced before 2.7.2. Building with older versions
of GnuTLS (using icc) warns:

src/libavformat/tls_gnutls.c(38): warning #193: zero used for undefined preprocessing identifier "GNUTLS_VERSION_NUMBER"
  #if HAVE_THREADS && GNUTLS_VERSION_NUMBER <= 0x020b00

This adds a fallback to the older, deprecated LIBGNUTLS_VERSION_NUMBER
macro.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
20 months agolavf/tls_gnutls: fix compilation with GnuTLS 2.x
Moritz Barsnick [Tue, 26 Sep 2017 11:25:53 +0000 (13:25 +0200)]
lavf/tls_gnutls: fix compilation with GnuTLS 2.x

Commit 598e41684066feba701d19ca7443d24b9e5efa77 added use of
GNUTLS_E_PREMATURE_TERMINATION, which wasn't introduced to GnuTLS
before 2.99.x / 3.x. This fixes compilation with older versions.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
20 months agoavcodec/dnxhdenc: fix DNxHR 444 encoding crashes
Frédéric Devernay [Tue, 12 Sep 2017 13:26:15 +0000 (15:26 +0200)]
avcodec/dnxhdenc: fix DNxHR 444 encoding crashes

Fixes #6649.

20 months agoavformat/img2enc: remove av_dup_packet() call
James Almer [Tue, 26 Sep 2017 02:14:14 +0000 (23:14 -0300)]
avformat/img2enc: remove av_dup_packet() call

It's unnecessary after a call to av_packet_ref().

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoffplay: replace use of av_copy_packet()
James Almer [Sat, 23 Sep 2017 23:32:42 +0000 (20:32 -0300)]
ffplay: replace use of av_copy_packet()

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavformat: replace all uses of av_copy_packet()
James Almer [Sat, 23 Sep 2017 23:30:13 +0000 (20:30 -0300)]
avformat: replace all uses of av_copy_packet()

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/avpacket: deprecate av_copy_packet()
James Almer [Sat, 23 Sep 2017 18:59:56 +0000 (15:59 -0300)]
avcodec/avpacket: deprecate av_copy_packet()

It does the same thing as av_packet_ref().

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavfilter/interlace: rename two variables for consistency
Thomas Mundt [Tue, 19 Sep 2017 20:49:09 +0000 (22:49 +0200)]
avfilter/interlace: rename two variables for consistency

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
21 months agoavfilter/af_headphone: increase max ir length
Paul B Mahol [Mon, 25 Sep 2017 10:12:13 +0000 (12:12 +0200)]
avfilter/af_headphone: increase max ir length

Signed-off-by: Paul B Mahol <onemda@gmail.com>
21 months agofate/fits: add missing png & gif dependencies
Paras Chadha [Fri, 15 Sep 2017 21:54:07 +0000 (03:24 +0530)]
fate/fits: add missing png & gif dependencies

Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agolibavcodec/hapdec : add support HapAlphaOnly
Martin Vignali [Sat, 23 Sep 2017 19:50:54 +0000 (21:50 +0200)]
libavcodec/hapdec : add support HapAlphaOnly

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agolibavformat : add mov dataformat tag for HapAlphaOnly and HapQAlpha
Martin Vignali [Sat, 23 Sep 2017 19:43:44 +0000 (21:43 +0200)]
libavformat : add mov dataformat tag for HapAlphaOnly and HapQAlpha

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/takdec: Fix integer overflow in decode_lpc()
Michael Niedermayer [Fri, 22 Sep 2017 18:45:27 +0000 (20:45 +0200)]
avcodec/takdec: Fix integer overflow in decode_lpc()

Fixes: runtime error: signed integer overflow: 16748560 + 2143729712 cannot be represented in type 'int'
Fixes: 3202/clusterfuzz-testcase-minimized-4988291642294272

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/proresdec2: Check bits in DECODE_CODEWORD(), fixes invalid shift
Michael Niedermayer [Fri, 22 Sep 2017 18:45:28 +0000 (20:45 +0200)]
avcodec/proresdec2: Check bits in DECODE_CODEWORD(), fixes invalid shift

Fixes: runtime error: shift exponent 42 is too large for 32-bit type 'unsigned int'
Fixes: 3410/clusterfuzz-testcase-minimized-5313377960198144

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/takdec: Fix integer overflows in decode_subframe()
Michael Niedermayer [Fri, 22 Sep 2017 18:45:26 +0000 (20:45 +0200)]
avcodec/takdec: Fix integer overflows in decode_subframe()

Fixes: runtime error: signed integer overflow: -1562477869 + -691460395 cannot be represented in type 'int'
Fixes: 3196/clusterfuzz-testcase-minimized-4528307146063872

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavformat/libopenmpt: Query duration and metadata after selecting subsong
Jörn Heusipp [Sun, 17 Sep 2017 13:35:50 +0000 (15:35 +0200)]
avformat/libopenmpt: Query duration and metadata after selecting subsong

Duration depends on the selected subsong and thus must be queried after
selecting the subsong. There is no compelling reason to query other
metadata earlier either.

Tested with libopenmpt version: 0.2.8760-beta27
Libopenmpt configure options: --without-ogg --without-vorbis
--without-vorbisfile --without-portaudio --without-portaudiocpp
--without-mpg123 --without-pulseaudio --without-sndfile --without-flac

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Josh de Kock <josh@itanimul.li>
21 months agoavcodec/mips: Improve avc chroma horiz mc msa functions
Kaustubh Raste [Thu, 21 Sep 2017 13:59:39 +0000 (19:29 +0530)]
avcodec/mips: Improve avc chroma horiz mc msa functions

Replace generic with block size specific function.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: Unrolled loops avc intra msa functions
Kaustubh Raste [Thu, 21 Sep 2017 13:32:30 +0000 (19:02 +0530)]
avcodec/mips: Unrolled loops avc intra msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: Improve hevc uni-w copy mc msa functions
Kaustubh Raste [Thu, 21 Sep 2017 08:15:34 +0000 (13:45 +0530)]
avcodec/mips: Improve hevc uni-w copy mc msa functions

Load the specific destination bytes instead of MSA load and pack.
Pack the data to half word before clipping.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/flacenc: Replace "return -1" by named constant
Michael Niedermayer [Fri, 22 Sep 2017 23:44:27 +0000 (01:44 +0200)]
avcodec/flacenc: Replace "return -1" by named constant

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/snowenc: Replace "return -1" by named constants
Michael Niedermayer [Sat, 23 Sep 2017 00:19:25 +0000 (02:19 +0200)]
avcodec/snowenc: Replace "return -1" by named constants

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agolibavdevice/v4l2: fix invalid access to struct v4l2_buffer
Jaroslav Beran [Wed, 20 Sep 2017 13:14:54 +0000 (15:14 +0200)]
libavdevice/v4l2: fix invalid access to struct v4l2_buffer

In case we are short of queued buffers, at first v4l2_buffer was enqueued to kernel so it's not owned by
user-space anymore. After that it's timestamp field was read, but it might be overwritten by driver at
that moment. It resulted in invalid timestamp sometimes.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoffplay: zero initialize copy avpacket
James Almer [Sat, 23 Sep 2017 23:13:58 +0000 (20:13 -0300)]
ffplay: zero initialize copy avpacket

Prevents potential use of uninitialized stack.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavformat/mpeg: zero initialize idx_pkt
James Almer [Sat, 23 Sep 2017 22:37:21 +0000 (19:37 -0300)]
avformat/mpeg: zero initialize idx_pkt

Prevents use of uninitialized stack.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/v4l2_m2m: add missing header inclusions
James Almer [Sat, 23 Sep 2017 21:12:56 +0000 (18:12 -0300)]
avcodec/v4l2_m2m: add missing header inclusions

Should fix checkheaders on systems where v4l2_m2m is enabled.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/Makefile: skip v4l2_m2m headers if needed
James Almer [Sat, 23 Sep 2017 21:08:07 +0000 (18:08 -0300)]
avcodec/Makefile: skip v4l2_m2m headers if needed

Fixes checkheaders on systems where v4l2_m2m is unavailable.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/frame_thread_encoder: use av_packet_alloc()
James Almer [Sat, 23 Sep 2017 20:50:58 +0000 (17:50 -0300)]
avcodec/frame_thread_encoder: use av_packet_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavfilter/interlace: add support for 10 and 12 bit
Thomas Mundt [Tue, 19 Sep 2017 20:23:23 +0000 (22:23 +0200)]
avfilter/interlace: add support for 10 and 12 bit

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavfilter/tinterlace: use drawutils for pad mode
Thomas Mundt [Mon, 18 Sep 2017 21:57:17 +0000 (23:57 +0200)]
avfilter/tinterlace: use drawutils for pad mode

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavformat/mxfdec: use the common packet pts setter function for opatom files
Marton Balint [Thu, 7 Sep 2017 14:17:59 +0000 (16:17 +0200)]
avformat/mxfdec: use the common packet pts setter function for opatom files

Fixes ticket #6631.

Signed-off-by: Marton Balint <cus@passwd.hu>
21 months agoavformat/mxfdec: factorize packet pts setter function
Marton Balint [Thu, 7 Sep 2017 14:09:13 +0000 (16:09 +0200)]
avformat/mxfdec: factorize packet pts setter function

Signed-off-by: Marton Balint <cus@passwd.hu>
21 months agoavcodec/opusenc_psy: use av_clip_uintp2()
James Almer [Sat, 23 Sep 2017 16:23:27 +0000 (13:23 -0300)]
avcodec/opusenc_psy: use av_clip_uintp2()

Fixes fate-source.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/opusenc_utils: add missing preprocessor guards
James Almer [Sat, 23 Sep 2017 16:22:51 +0000 (13:22 -0300)]
avcodec/opusenc_utils: add missing preprocessor guards

Fixes fate-source.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agolavfi: make window_func an inline function
Rostislav Pehlivanov [Sat, 23 Sep 2017 13:21:22 +0000 (14:21 +0100)]
lavfi: make window_func an inline function

Eliminate lavc->lavfi dependency. The function isn't big and doesn't
deserve its own file.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
21 months agoopusenc: implement a psychoacoustic system
Rostislav Pehlivanov [Fri, 22 Sep 2017 23:38:37 +0000 (00:38 +0100)]
opusenc: implement a psychoacoustic system

This commit implements a psychoacoustic system for the native Opus
encoder. Its unlike any other psychoacoustic system known since its
capable of using a lookahead to make better choices on how to treat the
current frame and how many bits to allocate for it (and future frames).

Also, whilst the main bulk of the analysis function has to run in a
single thread, the per-frame anaylsis functions does not modify the main
psychoacoustic context, so in the future it will be fairly trivial to
run those as slice threads.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
21 months agolibavcodec: v4l2: add support for v4l2 mem2mem codecs
Jorge Ramirez-Ortiz [Thu, 21 Sep 2017 01:55:40 +0000 (18:55 -0700)]
libavcodec: v4l2: add support for v4l2 mem2mem codecs

    This patchset enhances Alexis Ballier's original patch and validates
    it using Qualcomm's Venus hardware (driver recently landed upstream
    [1]).

    This has been tested on Qualcomm's DragonBoard 410c and 820c
    Configure/make scripts have been validated on Ubuntu 10.04 and
    16.04.

    Tested decoders:
           - h264
           - h263
           - mpeg4
           - vp8
           - vp9
           - hevc

    Tested encoders:
           - h264
           - h263
           - mpeg4

    Tested transcoding (concurrent encoding/decoding)

    Some of the changes introduced:
        - v4l2: code cleanup and abstractions added
        - v4l2: follow the new encode/decode api.
        - v4l2: fix display size for NV12 output pool.
        - v4l2: handle EOS (EPIPE and draining)
        - v4l2: vp8 and mpeg4 decoding and encoding.
        - v4l2: hevc and vp9 support.
        - v4l2: generate EOF on dequeue errors.
        - v4l2: h264_mp4toannexb filtering.
        - v4l2: fixed make install and fate issues.
        - v4l2: codecs enabled/disabled depending on pixfmt defined
        - v4l2: pass timebase/framerate to the context
        - v4l2: runtime decoder reconfiguration.
        - v4l2: add more frame information
        - v4l2: free hardware resources on last reference being released
        - v4l2: encoding: disable b-frames for upstreaming (patch required)

    [1] https://lwn.net/Articles/697956/

    System Level view:
        v42l_m2m_enc/dec --> v4l2_m2m --> v4l2_context --> v4l2_buffers

Reviewed-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org>
Reviewed-by: Alexis Ballier <aballier@gentoo.org>
Tested-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
21 months agoavformat/gif: use av_packet_alloc()
James Almer [Sat, 23 Sep 2017 05:18:47 +0000 (02:18 -0300)]
avformat/gif: use av_packet_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavformat/apngenc: use av_packet_alloc()
James Almer [Sat, 23 Sep 2017 05:15:16 +0000 (02:15 -0300)]
avformat/apngenc: use av_packet_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavcodec/dirac_dwt: Fix integer overflow in COMPOSE_FIDELITYi*()
Michael Niedermayer [Mon, 18 Sep 2017 00:53:25 +0000 (02:53 +0200)]
avcodec/dirac_dwt: Fix integer overflow in COMPOSE_FIDELITYi*()

Fixes: runtime error: signed integer overflow: 161 * 13872281 cannot be represented in type 'int'

Fixes: 3295/clusterfuzz-testcase-minimized-4738998142500864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/ffv1dec: Fix integer overflow in read_quant_table()
Michael Niedermayer [Mon, 18 Sep 2017 15:26:09 +0000 (17:26 +0200)]
avcodec/ffv1dec: Fix integer overflow in read_quant_table()

Fixes: runtime error: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
Fixes: 3361/clusterfuzz-testcase-minimized-5065842955911168

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/svq3: Fix overflow in svq3_add_idct_c()
Michael Niedermayer [Mon, 18 Sep 2017 15:03:55 +0000 (17:03 +0200)]
avcodec/svq3: Fix overflow in svq3_add_idct_c()

Fixes: runtime error: signed integer overflow: 2147392585 + 524288 cannot be represented in type 'int'
Fixes: 3348/clusterfuzz-testcase-minimized-4809500517203968

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: Remove generic func use in hevc non-uni copy mc msa functions
Kaustubh Raste [Thu, 21 Sep 2017 07:15:28 +0000 (12:45 +0530)]
avcodec/mips: Remove generic func use in hevc non-uni copy mc msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: preload data in hevc sao edge 90 degree filter msa functions
Kaustubh Raste [Thu, 21 Sep 2017 06:47:40 +0000 (12:17 +0530)]
avcodec/mips: preload data in hevc sao edge 90 degree filter msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavfilter/thumbnail_cuda: add cuda thumbnail filter
Yogender Gupta [Mon, 4 Sep 2017 12:48:16 +0000 (18:18 +0530)]
avfilter/thumbnail_cuda: add cuda thumbnail filter

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
21 months agoFix several typos
Lou Logan [Thu, 21 Sep 2017 23:10:56 +0000 (15:10 -0800)]
Fix several typos

"apix_fmts" found by Marc Péchaud.
"speedloss" found by Mikhail V.

Signed-off-by: Lou Logan <lou@lrcd.com>
21 months agoRemove some unneeded casts of bit_rate.
Carl Eugen Hoyos [Thu, 21 Sep 2017 23:33:22 +0000 (01:33 +0200)]
Remove some unneeded casts of bit_rate.

21 months agoavformat/hlsenc: support http method for hls fmp4 init file
Steven Liu [Thu, 21 Sep 2017 15:10:57 +0000 (23:10 +0800)]
avformat/hlsenc: support http method for hls fmp4 init file

Signed-off-by: Steven Liu <lq@onvideo.cn>
21 months agoMAINTAINERS: modify the hlsenc description
Steven Liu [Thu, 21 Sep 2017 15:08:55 +0000 (23:08 +0800)]
MAINTAINERS: modify the hlsenc description

change the hlsenc from hls encryption to hlsenc

Suggested-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
21 months agoavformat/hlsenc: fix CID 1418106
Steven Liu [Thu, 21 Sep 2017 15:08:00 +0000 (23:08 +0800)]
avformat/hlsenc: fix CID 1418106

fix the "Uninitialized scalar variable (UNINIT)" problem.

Signed-off-by: Steven Liu <lq@onvideo.cn>
21 months agopixdesc: Add API to map color property names to enum values
Vittorio Giovara [Wed, 20 Sep 2017 11:27:10 +0000 (13:27 +0200)]
pixdesc: Add API to map color property names to enum values

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
21 months agoavcodec/mips: Reduced conditional cases in avc inter lpf msa functions
Kaustubh Raste [Mon, 18 Sep 2017 08:38:37 +0000 (14:08 +0530)]
avcodec/mips: Reduced conditional cases in avc inter lpf msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: Unrolled loops and expanded functions in avc put mc 10 & 30 msa functions
Kaustubh Raste [Mon, 18 Sep 2017 08:30:13 +0000 (14:00 +0530)]
avcodec/mips: Unrolled loops and expanded functions in avc put mc 10 & 30 msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoGnuTLS: eat PREMATURE_TERMINATION error
Tatsuyuki Ishi [Fri, 15 Sep 2017 08:04:38 +0000 (17:04 +0900)]
GnuTLS: eat PREMATURE_TERMINATION error

GnuTLS is too strict on the SSL shutdown alert, and it's neither
mandatory in the spec or critical. As it's ignored in OpenSSL, we
should also suppress it in GnuTLS as well.

Ticket: #6667

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavformat/cafdec: reject multichannel Opus streams
Anton Khirnov [Wed, 20 Sep 2017 02:04:55 +0000 (23:04 -0300)]
avformat/cafdec: reject multichannel Opus streams

Multichannel Opus streams require channel mapping information in extradata.

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agolavf/caf: Support demuxing Opus.
Carl Eugen Hoyos [Wed, 20 Sep 2017 01:31:48 +0000 (03:31 +0200)]
lavf/caf: Support demuxing Opus.

Introduced in macOS High Sierra and iOS 11.

21 months agoavcodec/mips: preload data in hevc sao edge 0 degree filter msa functions
Kaustubh Raste [Mon, 18 Sep 2017 08:24:40 +0000 (13:54 +0530)]
avcodec/mips: preload data in hevc sao edge 0 degree filter msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/mips: Fixed rnd_val variable to 6 in hevc uni mc msa functions
Kaustubh Raste [Mon, 18 Sep 2017 08:18:48 +0000 (13:48 +0530)]
avcodec/mips: Fixed rnd_val variable to 6 in hevc uni mc msa functions

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoMAINTAINERS: add myself for bwdif and (t)interlace
Thomas Mundt [Fri, 15 Sep 2017 23:57:27 +0000 (01:57 +0200)]
MAINTAINERS: add myself for bwdif and (t)interlace

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agoavcodec/pngdec: Clean up on av_frame_ref() failure
Michael Niedermayer [Sun, 17 Sep 2017 00:42:11 +0000 (02:42 +0200)]
avcodec/pngdec: Clean up on av_frame_ref() failure

Fixes: memleak
Fixes: 3203/clusterfuzz-testcase-minimized-4514553595428864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
21 months agolavf/mpegts: Consider stream_type 0x0f just a hint towards AAC.
Carl Eugen Hoyos [Wed, 13 Sep 2017 17:05:10 +0000 (19:05 +0200)]
lavf/mpegts: Consider stream_type 0x0f just a hint towards AAC.

It is also used in the wild to signal latm.

Fixes ticket #6657.

21 months agolavfi/stereo3d: Set SAR for every output frame.
Carl Eugen Hoyos [Mon, 18 Sep 2017 21:10:06 +0000 (23:10 +0200)]
lavfi/stereo3d: Set SAR for every output frame.

Fixes ticket #6672.

21 months agolavf/utils: Do not force chapter end time before chapter start.
Carl Eugen Hoyos [Sun, 17 Sep 2017 21:34:58 +0000 (23:34 +0200)]
lavf/utils: Do not force chapter end time before chapter start.

Fixes ticket #6671.

21 months agolavd/kmsgrab: Remove the mapping for AV_PIX_FMT_RGB8.
Carl Eugen Hoyos [Tue, 19 Sep 2017 22:56:29 +0000 (00:56 +0200)]
lavd/kmsgrab: Remove the mapping for AV_PIX_FMT_RGB8.

The definitions are different: 3:3:2 vs 2:3:3.

21 months agoavutil/hwcontext_dxva2: return an error when buffer allocation fails
James Almer [Sun, 17 Sep 2017 03:17:42 +0000 (00:17 -0300)]
avutil/hwcontext_dxva2: return an error when buffer allocation fails

This also prevents the use of an uninitialized variable.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
21 months agokmsgrab: Add more DRM plane formats
Carl Eugen Hoyos [Fri, 15 Sep 2017 20:24:48 +0000 (21:24 +0100)]
kmsgrab: Add more DRM plane formats

21 months agohwcontext_vaapi: Fix DRM format mapping
Mark Thompson [Fri, 15 Sep 2017 20:05:49 +0000 (21:05 +0100)]
hwcontext_vaapi: Fix DRM format mapping

21 months agokmsgrab: Remove multiple-plane formats
Mark Thompson [Fri, 15 Sep 2017 19:54:26 +0000 (20:54 +0100)]
kmsgrab: Remove multiple-plane formats

The planes are unlikely to be contiguous, assuming they are results in
very broken output.  (Tested with NV12/NV16 on Rockchip.)

21 months agokmsgrab: Fix DRM format definitions
Mark Thompson [Fri, 15 Sep 2017 19:48:18 +0000 (20:48 +0100)]
kmsgrab: Fix DRM format definitions

All DRM formats are defined in terms of little-endian words, so RGB formats
like XRGB actually have the elements in the opposite order order in memory
to the order they are in the name.

This does not affect YUYV and similar YUV 4:2:2 formats, which are in the
expected order.

21 months agovaapi: Disable deprecation warnings around use of old struct vaapi_context
Mark Thompson [Thu, 14 Sep 2017 21:11:45 +0000 (22:11 +0100)]
vaapi: Disable deprecation warnings around use of old struct vaapi_context

21 months agovp9: move VP9SharedContext back to the top of VP9Context
Hendrik Leppkes [Tue, 19 Sep 2017 08:45:41 +0000 (10:45 +0200)]
vp9: move VP9SharedContext back to the top of VP9Context

VP9SharedContext needs to be the first member so its properties can be
safely accessed from hardware accelerators, without the need to share
the full VP9Context.

Fixes ticket #6674.

21 months agox86/exrdsp: optimize ff_reorder_pixels_avx2()
Henrik Gramner [Mon, 18 Sep 2017 01:52:13 +0000 (22:52 -0300)]
x86/exrdsp: optimize ff_reorder_pixels_avx2()

Tested with "checkasm --test=exrdsp -bench"

Before:
reorder_pixels_c: 5187.8
reorder_pixels_sse2: 377.0
reorder_pixels_avx2: 331.3

After:
reorder_pixels_c: 5181.5
reorder_pixels_sse2: 377.0
reorder_pixels_avx2: 313.8

Signed-off-by: James Almer <jamrial@gmail.com>
21 months agoavformat/mxfenc: cosmetic changes
Tobias Rapp [Thu, 14 Sep 2017 14:05:31 +0000 (16:05 +0200)]
avformat/mxfenc: cosmetic changes

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
21 months agofate: add mxf_dv25/dvcpro50 regression tests
Tobias Rapp [Thu, 14 Sep 2017 13:23:04 +0000 (15:23 +0200)]
fate: add mxf_dv25/dvcpro50 regression tests

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>