Commit graph

39158 commits

Author SHA1 Message Date
Mark Thompson
e7d20d5e35 movtextdec: Move declaration out of for initialisation statement 2017-10-21 22:19:50 +01:00
Mark Thompson
e0a967a405 cinepakenc: Move declaration out of for initialisation statement
(cherry picked from commit 92f0aceb36)
2017-10-21 22:19:50 +01:00
Mark Thompson
4dee92f6bc hevc: Fix aligned array declarations
(cherry picked from commit d41e10c148)
2017-10-21 22:19:50 +01:00
James Almer
5ae972f63b avcodec/v4l2_m2m_enc: fix usage of deprecated codec flag 2017-10-21 18:19:02 -03:00
Rostislav Pehlivanov
efb79cabb2 libavcodec/version: add a comment about FF_API_MPV_OPT deprecation
In order to prevent it from being forgotten and delayed until the next bump.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-10-21 21:02:35 +01:00
James Almer
75bd215727 avcodec/version: re-enable FF_API_MPV_OPT until the open ABI period is over
ffserver depends on it, so keep it in place until the two can be
removed together.
2017-10-21 16:53:46 -03:00
James Almer
69b5ce64d2 Merge commit '07a2b15594'
* commit '07a2b15594':
  Bump major versions of all libraries

A few API deprecated ~2 years ago or more are also postponed here for
varying reasons.

FF_API_LOWRES:
Since this functionality depends on AVStream->codec, i figure the two can
be removed at the same time in the next bump or so.

FF_API_AVCTX_TIMEBASE:
Couldn't get this one to work. Not just libavcodec but apparently also
libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for
decoding. Upon removal some tests report a different generic stream time
base (like 1/25), and others lose packet duration values. I guess it's
somehow tied to the AVStream->codec clusterfuck.
It can be dealt with alongside FF_API_LAVF_AVCTX in the next bump.

FF_API_OLD_FILTER_OPTS_ERROR:
This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed.
Its purpose is displaying the corrected command line using the new syntax
as a suggestion as part of the error message.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 14:57:53 -03:00
James Almer
b7c16a3f2c Merge commit '681a86aba6'
* commit '681a86aba6':
  x86: fft: Port to cpuflags

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:45:49 -03:00
James Almer
11f5ffd330 Merge commit 'e9bb77fb10'
* commit 'e9bb77fb10':
  x86: h264: Simplify DEQUANT macro with cpuflags

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:39:41 -03:00
James Almer
53eea3a569 Merge commit '307eb1a8ee'
* commit '307eb1a8ee':
  x86: vp8dsp: port FILTER_BILINEAR macro to cpuflags

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:28:39 -03:00
James Almer
2904db9045 Merge commit '994c4bc107'
* commit '994c4bc107':
  x86util: Port all macros to cpuflags

See d5f8a642f6

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:15:57 -03:00
Michael Bradshaw
279dc40716 lavc: drop support for OpenJPEG 1.3-2.0
We now require 2.1+ with pkg-config.

Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2017-10-20 17:35:28 -07:00
James Almer
07cf202614 Merge commit '83b2b34d06'
* commit '83b2b34d06':
  h2645_parse: use the bytestream2 API for packet splitting

Merged-by: James Almer <jamrial@gmail.com>
2017-10-20 19:04:53 -03:00
Mark Thompson
c37de51920 vorbis: Reorder conditions to avoid possible overread
This can trigger a single-byte overread if the codebook has the maximum
number of entries.

Fixes #6743.
2017-10-18 20:06:01 +01:00
Mark Thompson
242d8c8763 opusenc: Fix double-declaration of variable 2017-10-18 20:05:52 +01:00
Mark Thompson
32a618a948 vaapi_h264: Do not use deprecated header type
SEI headers should be inserted as generic raw data (the old specific
type has been deprecated in libva2).
2017-10-18 20:05:11 +01:00
Mark Thompson
03b1470088 vaapi_h264: Add missing return value check
Fixes CID 1419829.
2017-10-18 20:05:11 +01:00
Mark Thompson
41272e112b cbs_h264: Fix memory leak in error case
Fixes CID 1419834.
2017-10-18 20:05:11 +01:00
Mark Thompson
d792613bad h264_metadata: Fix clearing SEI payload in error case
Fixes CID 1419832, 1419835.
2017-10-18 20:05:11 +01:00
Mark Thompson
624d4739db cbs_h264: Fix writing streams with auxiliary pictures
Tested with the alphaconformanceG sample.

Fixes CID 1419836.

(cherry picked from commit 9ed18f302b)
2017-10-18 20:05:11 +01:00
James Almer
d2917501c2 avcodec/cfhd: support cropped height tag
Ported from libav. Authored by one of the following:

Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Vittorio Giovara <vittorio.giovara@gmail.com>

Reviewed-by: kierank
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-18 11:01:17 -03:00
James Almer
6007f7d466 Merge commit '5f794aa165'
* commit '5f794aa165':
  Add Cineform HD Decoder

See 3485332bf9.

Some cosmetics are merged. The refactoring is not merged at the
request of Kieran Kunhya.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 20:28:59 -03:00
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
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
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
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