Commit Graph

89488 Commits

Author SHA1 Message Date
James Almer
f61cf0e4df Merge commit '7c65a76b16bc3a44f1592acde2176f187a058797'
* commit '7c65a76b16bc3a44f1592acde2176f187a058797':
  lavc/qsvenc: add error messeage if ICQ unsupported.

Merged-by: James Almer <jamrial@gmail.com>
2017-12-14 18:46:10 -03:00
James Almer
2ca3c049cd Merge commit 'bddb2ce179c57db6e3c79fdc3363c165d90850b0'
* commit 'bddb2ce179c57db6e3c79fdc3363c165d90850b0':
  lavc/qsvenc: ICQ/VCM/QVBR are not avilable on Linux

Merged-by: James Almer <jamrial@gmail.com>
2017-12-14 18:45:20 -03:00
James Almer
0929def327 Merge commit '6ff29343b01923e9b125fe7404ac8701cdfb1fe5'
* commit '6ff29343b01923e9b125fe7404ac8701cdfb1fe5':
  lavc/qsvenc: set HRD buffer size

Merged-by: James Almer <jamrial@gmail.com>
2017-12-14 18:44:42 -03:00
James Almer
5fc649505b Merge commit '18a0f420269ff4c730422361c5c4d8eea096e900'
* commit '18a0f420269ff4c730422361c5c4d8eea096e900':
  checkasm: Use LOCAL_ALIGNED for aligned variables on the stack

This commit is a noop, see
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-December/184777.html

Merged-by: James Almer <jamrial@gmail.com>
2017-12-14 18:44:04 -03:00
wm4
b945fed629 avcodec: add metadata to identify wrappers and hardware decoders
Explicitly identify decoder/encoder wrappers with a common name. This
saves API users from guessing by the name suffix. For example, they
don't have to guess that "h264_qsv" is the h264 QSV implementation, and
instead they can just check the AVCodec .codec and .wrapper_name fields.

Explicitly mark AVCodec entries that are hardware decoders or most
likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing
API users listing hardware decoders in a more generic way. The proposed
AVCodecHWConfig does not provide this information fully, because it's
concerned with decoder configuration, not information about the fact
whether the hardware is used or not.

AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software
implementations in case the hardware is not capable.

Based on a patch by Philip Langdale <philipl@overt.org>.

Merges Libav commit 47687a2f8a.
2017-12-14 19:37:56 +01:00
Rodger Combs
2e391a576c lavf/mpegts: mark packets with TEI flag as corrupted 2017-12-13 20:07:00 -06:00
Michael Niedermayer
f7617d4b83 libavcodec/decode: remove duplicate includes
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 21:54:53 +01:00
Tristan Matthews
e8f0a463b0 ivfenc: add AV1 support
libaom tools work with ivf files.
2017-12-13 15:10:07 +00:00
Kelly Ledford
309ddcbe61 patcheck: Add 'threshhold' to common typo list
Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 12:25:44 +01:00
Kelly Ledford
bc219082bb libavfilter/af_dcshift.c: Fixed repeated spelling error
'threshhold' should be 'threshold'

Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 12:25:44 +01:00
Martin Vignali
cefb7e0060 checkasm/vf_hflip : add test for vf_hflip byte and short simd 2017-12-13 11:34:29 +01:00
Martin Vignali
46f534bdee avfilter/vf_hflip : move context func init in ff_hflip_init 2017-12-13 11:34:24 +01:00
Aman Gupta
88e2dc7d04 libavcodec/mpegvideo_parser: improve detection of progressive mpeg2
Previously many progressive mpeg2video samples were detected as interlaced
by ffmpeg/ffprobe. For example, https://tmm1.s3.amazonaws.com/720p.ts

Before:

    Input #0, mpegts, from 'https://tmm1.s3.amazonaws.com/720p.ts':
      Duration: 00:00:08.62, start: 18974.073233, bitrate: 9734 kb/s
      Program 2
    	Stream #0:0[0x12eb]: Video: mpeg2video (Main), yuv420p(tv, bottom first), 1280x720 ...

After:

    Input #0, mpegts, from 'https://tmm1.s3.amazonaws.com/720p.ts':
      Duration: 00:00:08.62, start: 18974.073233, bitrate: 9734 kb/s
      Program 2
    	Stream #0:0[0x12eb]: Video: mpeg2video (Main), yuv420p(tv, progressive), 1280x720 ...

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-12 16:37:58 -08:00
Jun Zhao
4280948702 avfilter/formats: fix wrong function name in error message
Use perdefined micro __FUNCTION__ rather than hard coding function name
to fix wrong function name in error message.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 00:30:46 +01:00
James Almer
0e2fbd68e2 avformat/mux: factorize AVFormatContext->avoid_negative_ts initialization
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-12 20:18:29 -03:00
Paul B Mahol
a0e4c41d08 avfilter/vf_pseudocolor: add support for more formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-12 19:31:50 +01:00
Li, Zhong
7c65a76b16 lavc/qsvenc: add error messeage if ICQ unsupported.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-12-12 13:58:18 +01:00
Li, Zhong
bddb2ce179 lavc/qsvenc: ICQ/VCM/QVBR are not avilable on Linux
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-12-12 13:58:18 +01:00
Li, Zhong
6ff29343b0 lavc/qsvenc: set HRD buffer size
Hypothetical Reference Decoding (HRD) model assumes that data flows
into a buffer of the fixed size BufferSizeInKB with a constant bitrate.
Smaller BufferSizeInKB means smaller frame size variations,
but more difficult to maintain HRD.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-12-12 13:58:18 +01:00
Martin Storsjö
18a0f42026 checkasm: Use LOCAL_ALIGNED for aligned variables on the stack
This fixes fate-checkasm-hevc_mc on ARMCC 5.0 after adding
NEON HEVC MC assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-12-12 11:36:38 +02:00
Steven Liu
0e5260226a avformat/hlsenc: reindent after previous commits 2017-12-12 11:50:23 +08:00
Lou Logan
555119bd76 doc/filters: re-arrange options for testsrc family
Additionally:
* Mention that allrgb and allyuv do not support the "size" option.
* Separate examples into subsection.

Fixes ticket #6906.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-12-11 12:54:43 -09:00
Paul B Mahol
cbd524b26c avfilter/avfiltergraph: remove ugly dead code
Remnant of old merge.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-11 22:39:26 +01:00
Hendrik Leppkes
fd542b6f20 Revert "libavcodec/utils.c: simplify avcodec locking with atomics"
This reverts commit 590136e78d.

Atomics are not required for this variable, because it is protected
through the lock manager, and the use of atomics here is not compatible
with the c11 emulation wrappersi.

Fixes FATE on MSVC, among other setups which use the compat wrappers.
2017-12-11 21:16:06 +01:00
James Almer
c7a5e80f56 avcodec/libvpx: remove disabled code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-11 00:42:26 -03:00
Steven Liu
08d28ee182 avformat/hlsenc: move init operations from write_header to init
Reviewed-by: Vishwanath Dixit <vdixit@akamai.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-11 11:03:25 +08:00
Kieran Kunhya
918de766f5 h264dec: Remove mpeg4video.h header dependency 2017-12-11 00:09:25 +00:00
Kieran Kunhya
a83a03af9a libavcodec: Move ff_print_debug_info2 to mpegutils.c 2017-12-11 00:09:25 +00:00
James Almer
bad51e9287 doc/libav-merge: add a line about the skipped HEVC MC arm functions
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 21:03:28 -03:00
James Almer
dd1ecf093c Merge commit '7993ec19af394fdc58ec64165bc0b12619543a5d'
* commit '7993ec19af394fdc58ec64165bc0b12619543a5d':
  hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64

This commit is a noop, see
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-December/184777.html

Merged-by: James Almer <jamrial@gmail.com>
2017-12-10 21:02:45 -03:00
James Almer
7a10541109 Merge commit '3ff8fbbf5a7bc40c09db74d4952364997fd3c611'
* commit '3ff8fbbf5a7bc40c09db74d4952364997fd3c611':
  vaapi_h265: Add named options for setting profile and level
  vaapi_h264: Add named options for setting profile and level
  vaapi: Make the decode profile matching more explicit
  vaapi_h264: Fix VUI max_dec_frame_buffering
  vaapi_h265: Enable VBR mode

This commit is a noop, see
385cafb07a
f31478ba14
efd0612fdc
c490fc9536
71421f382f

Merged-by: James Almer <jamrial@gmail.com>
2017-12-10 20:54:49 -03:00
James Almer
f750a0bcfe Merge commit '5a6707e49b7710f48d658b2f2591b9a6337fb9b7'
* commit '5a6707e49b7710f48d658b2f2591b9a6337fb9b7':
  cbs_mpeg2: Fix marker_bit type
  cbs: Add padding to slice data allocations

This commit is a noop, see
b4c915f4b3
5b2c71bb94

Merged-by: James Almer <jamrial@gmail.com>
2017-12-10 20:49:50 -03:00
James Almer
dae6d27aa0 Merge commit 'f6161fccf8c5720ceac1ed1df8ba60ff8fed69f5'
* commit 'f6161fccf8c5720ceac1ed1df8ba60ff8fed69f5':
  rtsp: only break on parse_rtsp_message on error

Merged-by: James Almer <jamrial@gmail.com>
2017-12-10 20:44:26 -03:00
Carl Eugen Hoyos
514cf22a0d lavc/huffyuvenc: Move a variable declaration up.
Fixes a warning with gcc-6.3:
libavcodec/huffyuvenc.c:93:5: warning: ISO C90 forbids mixed declarations and code
2017-12-10 20:46:55 +01:00
Michael Niedermayer
eaff5fcb7c avcodec/vp9_superframe_split_bsf: Fix integer overflow in frame_size/total_size checks
Fixes: signed integer overflow: -1698586465 + -551542752 cannot be represented in type 'int'
Fixes: 4490/clusterfuzz-testcase-minimized-5210014592532480

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-10 20:11:46 +01:00
Michael Niedermayer
1d0817d56b avcodec/amrwbdec: Fix division by 0 in voice_factor()
The added value matches "Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); LTE; Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Floating-point ANSI-C code (3GPP TS 26.304 version 14.0.0 Release 14)
Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Floating-point ANSI-C code"

Fixes: runtime error: division by zero
Fixes: 4415/clusterfuzz-testcase-minimized-4677752314658816

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-10 20:11:46 +01:00
Mark Thompson
2adfb10921 configure: Move V4L2 M2M help line to the hardware library section 2017-12-10 17:15:06 +00:00
Thomas Guillem
84936f68ed lavc: Make hardware config method support more explicit for hwaccels
This fixes the use of old ad-hoc methods which are still supported by some
hwaccels which also support newer methods (DXVA2, VAAPI, VDPAU,
videotoolbox) - without the method being visible here, ff_get_format()
would refuse to use it.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-12-10 16:31:15 +00:00
Mateusz
149268b47c fix MSVC compilation errors
After commit 3701d49 'error_resilience: remove avpriv_atomic usage'
we have included windows.h in much more files and we should
avoid conflicts with defines/function declarations.

Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-10 14:43:01 +01:00
James Almer
1215889bc1 checkasm/llviddsp: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:35 -03:00
James Almer
438f884fc4 x86/lossless_videodsp: rename ff_add_left_pred_int16_sse4 to ff_add_left_pred_int16_unaligned_ssse3
SSSE3_FAST is the proper check for it.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:01 -03:00
James Almer
a4fc63c0f9 x86/lossless_videodsp: don't overread the dst buffer in ff_add_left_pred_unaligned_avx2
Fixes valgrind

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:38:05 -03:00
Mironov, Mikhail
f20c8f6ec9 amf: fix wrong profile level after auto-correction in H264 and HEVC
Moved bitrate parameters set before Init() call because bitrate is used in
profile level correction code inside Init().

Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
tiejun.peng
6bf5d69b2f lavf/mov: modify code indentation
Signed-off-by: tiejun.peng <tiejun.peng@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
tiejun.peng
ab651587a7 lavf/mov: add some useful warning log of eof
Signed-off-by: tiejun.peng <tiejun.peng@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
Jacob Trimble
b38f222165 avcodec/Makefile: Fix opus parser dependency.
The opus.c file uses ff_celt_freq_range and ff_celt_freq_bands which are
defined in opustab.c.  The opus parser needs to include that file to
avoid linker errors when not including the opus encoder/decoder.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
James Cowgill
02ba4b91b5 avcodec/decode: reset codec on receiving packet after EOF in compat_decode
In commit 061a0c14bb ("decode: restructure the core decoding code"), the
deprecated avcodec_decode_* APIs were reworked so that they called into the
new avcodec_send_packet / avcodec_receive_frame API. This had the side effect
of prohibiting sending new packets containing data after a drain
packet, but in previous versions of FFmpeg this "worked" and some
applications relied on it.

To restore some compatibility, reset the codec if we receive a new non-drain
packet using the old API after draining has completed. While this does
not give the same behaviour as the old API did, in the majority of cases
it works and it does not require changes to any other part of the decoding
code.

Fixes ticket #6775
Signed-off-by: James Cowgill <jcowgill@debian.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-09 21:28:24 +01:00
James Almer
36de24d5b7 arm/hevc_idct: fix compilation on Android
Compilation error "out of range" fixed for armeabi-v7a. Compilation failed
trying to build libvlc.aar for ARM7 android on ubuntu 16.04 host. Error
messages is "Offset out of range". The reason of the error is assembler LDR
directives in function "ff_hevc_transform_luma_4x4_neon_8" need local storage
in range <1k, but no such storage provided.

Based on a patch by Ihor Bobalo <bob@eleks.com>

Suggested-by: wbs
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-09 21:46:34 +02:00
Martin Vignali
e1121f9723 checkasm/llviddsp : add test for add_gradient_pred 2017-12-09 15:19:07 +01:00
Martin Vignali
630967ef63 avcodec/utvideodec : add SIMD (SSSE3 and AVX2) for gradient_pred 2017-12-09 15:19:03 +01:00