1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

88152 Commits

Author SHA1 Message Date
Mark Thompson
a6cfc287a0 Changelog: Add metadata bitstream filters
This starts a new section - 3.4 has been released.
2017-10-17 21:19:18 +01:00
Mark Thompson
809b0402dc cbs: Add some read/write tests
Use the appropriate metadata filter for each codec - in the absence of any
options to modify the stream, the output bitstream should be identical to
the input (though the output file may differ in padding).

All tests use conformance bitstreams, the MPEG-2 streams are newly added
from the conformance test streams
<http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_13818-4_2004_Conformance_Testing/Video/>

(cherry picked from commit 3cae7f8b9b)
(cherry picked from commit fbd63170bc)
2017-10-17 20:56:30 +01:00
Mark Thompson
d8928ad6b6 vaapi_mpeg2: Convert to use coded bitstream infrastructure
(cherry picked from commit 10eb496d9a)
2017-10-17 20:56:30 +01:00
Mark Thompson
038a51258c vaapi_h265: Add support for AUD NAL units
Matching the H.264 encoder.

(cherry picked from commit e3e8eab359)
2017-10-17 20:56:30 +01:00
Mark Thompson
00179664bc vaapi_h265: Convert to use coded bitstream infrastructure
Also improves the metadata and generally makes the configuration
a bit cleaner.

(cherry picked from commit ac12486714)
2017-10-17 20:56:30 +01:00
Mark Thompson
94a4048619 vaapi_h264: Fix CPB/DPB delays
This should be ticks, not time_scale steps - it was wrong for all
framerates not a multiple of 1/2.

(cherry picked from commit 30645174e3)
2017-10-17 20:56:30 +01:00
Mark Thompson
0bc7575ced vaapi_h264: Add support for SEI recovery points
Included by default with non-IDR intra frames.

(cherry picked from commit a49ee60d5f)
2017-10-17 20:56:30 +01:00
Mark Thompson
281b68b026 vaapi_h264: Add support for AUD NAL units
Adds a new private option to enable them (off by default).

(cherry picked from commit 820a4483af)
2017-10-17 20:56:30 +01:00
Mark Thompson
2e29ca2a9f vaapi_h264: Convert to use coded bitstream infrastructure
(cherry picked from commit 7a4fac5e91)
2017-10-17 20:56:30 +01:00
Mark Thompson
569721ac8d lavc: Add mpeg2_metadata bitstream filter
(cherry picked from commit b78c30d7ec)
2017-10-17 20:56:30 +01:00
Mark Thompson
278c308cea mpeg12: Add a common function to find the best frame rate
This will be used later in both the mpeg2_metadata filter and the
VAAPI MPEG-2 encoder.  Also adds a unit test.

(cherry picked from commit b5859e0b04)
2017-10-17 20:56:30 +01:00
Mark Thompson
03f982bbca lavc: Add hevc_metadata bitstream filter
This is able to modify some header metadata found in the VPS/SPS/VUI,
and can also add/remove AUDs.

(cherry picked from commit b31a9eae02)
2017-10-17 20:56:30 +01:00
Mark Thompson
8b26306294 lavc: Add h264_redundant_pps bitstream filter
This applies a specific fixup to some Blu-ray streams which contain
redundant PPSs modifying irrelevant parameters of the stream which
confuse other transformations which require correct extradata.

A new single global PPS is created, and all of the redundant PPSs
within the stream are removed.

(cherry picked from commit e6874bc3af)
2017-10-17 20:56:30 +01:00
Mark Thompson
a308872b04 lavc: Add h264_metadata bitstream filter
This is able to modify some header metadata found in the SPS/VUI,
and can also add/remove AUDs and insert user data in SEI NAL units.

(cherry picked from commit 9e93001b61)
(cherry picked from commit c42b62d1f9)
2017-10-17 20:56:29 +01:00
Mark Thompson
9c7d70b49b lavc: Add trace_headers bitstream filter
Supports all streams that the coded bitstream infrastructure does
(currently H.264, H.265 and MPEG-2).

(cherry picked from commit f11d8a5e8b)
2017-10-17 20:56:29 +01:00
Mark Thompson
686e388bbb lavc: Add coded bitstream read/write support for MPEG-2
(cherry picked from commit 2bc9ba8d3c)
(cherry picked from commit a41b69b5eb)
2017-10-17 20:56:29 +01:00
Mark Thompson
9b0c7aa0e4 lavc: Add coded bitstream read/write support for H.265
(cherry picked from commit 867381b8b5)
(cherry picked from commit f763489364)
(cherry picked from commit 067a9ddeb8)
2017-10-17 20:56:29 +01:00
Mark Thompson
b4c915f4b3 lavc: Add coded bitstream read/write support for H.264
(cherry picked from commit acf06f4544)
(cherry picked from commit 768eb9182e)
(cherry picked from commit e7f64191b2)
2017-10-17 20:56:29 +01:00
Mark Thompson
6734eef6b8 lavc: Add coded bitstream read/write API
(cherry picked from commit 18f1706f33)
(cherry picked from commit 44cde38c8a)
2017-10-17 20:56:29 +01:00
Mark Thompson
b1374e925c hevc: Improve stream constraint values in common header
Add comments to describe the sources of the constraint values expressed here,
and add some more related values which will be used in following patches.

Fix the incorrect values for SPS and PPS count (they are not the same as those
used for H.264), and remove HEVC_MAX_CU_SIZE because it is not used anywhere.

(cherry picked from commit b88da98b34)
2017-10-17 20:56:29 +01:00
Mark Thompson
d05444d2c6 h264: Add stream constraint values to the common header
With comments describing the derivation of each value.

(cherry picked from commit aaf4414650)
2017-10-17 20:56:29 +01:00
James Almer
6c5d6baeed Merge commit '0429f01e4722b8e0c3576a4810a16ca8f6dbc4d4'
* commit '0429f01e4722b8e0c3576a4810a16ca8f6dbc4d4':
  mkv: Export bounds and padding from spherical metadata

This commit is a noop, see bde9642268

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 16:48:33 -03:00
James Almer
68727a1dc0 Merge commit '251849f06ce36ce8dc076e0fca2922119fa7e39e'
* commit '251849f06ce36ce8dc076e0fca2922119fa7e39e':
  mkv: Add support for Spherical Video elements

See 445204cd57

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 16:47:30 -03:00
James Almer
1b6803b795 Merge commit 'a825980f9f93af32c719497f9aab1e14248ab471'
* commit 'a825980f9f93af32c719497f9aab1e14248ab471':
  mov: Export bounds and padding from spherical metadata
  spherical: Add tiled equirectangular type and projection-specific properties
  mov: Validate cubemap layout

This commit is a noop, see
ac8c72f8f1
1b7ffddb3a
022b4ea583

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 16:44:17 -03:00
Carl Eugen Hoyos
a3accd0c37 lavf/cafenc: Allow muxing opus.
QuickTime does not require the (unknown) kuki chunk for decoding.
2017-10-17 21:35:28 +02:00
James Almer
552d2cb6f7 Merge commit '0f8512c4a87b89b4694053d8ffda48066ee1da62'
* commit '0f8512c4a87b89b4694053d8ffda48066ee1da62':
  mov: Validate spherical metadata version

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 15:27:43 -03:00
James Almer
9780d5839e Merge commit '236577230051ad61ec67fa2d68e817d54232d2a0'
* commit '236577230051ad61ec67fa2d68e817d54232d2a0':
  mov: Ignore old spherical metadata when newer version is present

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 15:26:27 -03:00
James Almer
82cddf6374 Merge commit '17adcc40adf1f30cba55c9727dabc1365944d32b'
* commit '17adcc40adf1f30cba55c9727dabc1365944d32b':
  mov: Fix spherical metadata_source parsing

This commit is a noop, see b9f2f93261

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 15:18:12 -03:00
James Almer
d8f382ce05 Merge commit '81bffae368f331b6cd386a814f225a58e3f32f40'
* commit '81bffae368f331b6cd386a814f225a58e3f32f40':
  configure: Check for -no_weak_imports in ldflags on macOS

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 15:14:10 -03:00
Jacek Jendrzej
f685bbcbe8 avformat: fix build wihout dashenc
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-17 10:04:07 -03:00
James Almer
15b86d3b4a configure: add missing optional dep on libfribidi to the drawtext filter
Fixes ticket #6740

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-17 01:17:32 -03:00
Jun Zhao
2e94490225 ffmpeg: remove hwaccel_lax_profile_check option
This has been unused for a long time, and the original purpose has been
replaced by the per-stream hwaccel_flags.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-10-16 22:38:11 +01:00
James Almer
ae6fe04bee configure: add missing optional deps on gcrypt and openssl to the hls muxer
Should fix ticket #6738

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-16 17:47:01 -03:00
Martin Vignali
7480f232d2 libavcodec/texturedspenc : indent after add rgtc1u_alpha func
Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:35:04 +01:00
Martin Vignali
92500c7bc5 libavcodec/texturedsp : indent after add rgtc1u_alpha func
Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:56 +01:00
Martin Vignali
50a20de6b9 libavcodec/texturedspenc : add rgtc1_u_alpha encoding func
this func encode the alpha channel of the rgba input
to an rgtc1u block

Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:14 +01:00
Martin Vignali
d4d4629dfe libavcodec/texturedsp : add rgtc1u_alpha decoding func
this func decode an rgtc1 texture and overwrite only the alpha channel
of the dest RGBA picture

Signed-off-by: Tom Butterworth <bangnoise@gmail.com>
2017-10-16 15:34:03 +01:00
James Almer
0655810072 configure: add pkg-config checks for libcdio/cdparanoia
Should be more complete than the now fallback checks.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-14 21:36:14 -03:00
Michael Niedermayer
963247b5f3 avcodec/dvbsubdec: Split best score computation out of loop in compute_default_clut()
3% faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
cd2f69cdd6 avcodec/dvbsubdec: Factor a few expressions out of compute_default_clut()
32% faster loop

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
393d6fc739 avcodec/snowdec: Check mv_scale
Fixes: runtime error: signed integer overflow: 2 * -1094995530 cannot be represented in type 'int'
Fixes: 3512/clusterfuzz-testcase-minimized-4812747210489856

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
Michael Niedermayer
9c85329cd0 avcodec/pafvideo: Check for bitstream end in decode_0()
Fixes: Timeout
Fixes: 3529/clusterfuzz-testcase-5057068371279872

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-14 23:23:25 +02:00
James Almer
ad56e8057d configure: force erroring out in check_disable_warning() if an option doesn't exists
Should prevent some options from being added to cflags when they
don't exist and the compiler only warns about it.

Reviewd-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 20:57:05 -03:00
Reino Wijnsma
458783315b configure: switch the libzvbi check to pkg-config
The library has several dependencies that vary between systems.
Their pkg-config properly lists them all.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 20:22:44 -03:00
James Almer
fa5e71a815 configure: add missing pthreads extralib to the libilbc check
Debugged with the help of Reino Wijnsma.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 19:50:43 -03:00
James Almer
854c4e974d configure: add a -lstdc++ flag to the some external library checks
Two of them are missing it in their pkg-config file, so adding it
here is a workaround until said pkg-config files are fixed.

Debugged with the help of Reino Wijnsma.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 19:49:56 -03:00
Daniel Kucera
feed201849 libavformat/wtvdec: return AVERROR_EOF on EOF
Signed-off-by: Daniel Kucera <daniel.kucera@gmail.com>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-10-13 17:23:54 +02:00
James Almer
6b52c0b583 configure: add missing zlib extralibs to the libmysofa check
Should fix checks with static builds.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 11:22:54 -03:00
James Almer
15dc897582 configure: list libv4l2 as an optional library for v4l2
Fixes regression since 6dfcbd80ad
and 734ed38931.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 10:24:09 -03:00
Gyan Doshi
147c1e008a doc/filters: correct typo and incomplete desc.
Correct typo in signalstats filter section and qualify description for variable
in select filter.

Signed-off-by: Gyan Doshi <gyandoshi@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00