Commit Graph

92978 Commits

Author SHA1 Message Date
Jan Ekström a1b4f120c0 avformat/mpegts: unset DTS/PTS for subtitle PES packets if PCR not available
Fixes issues when a subtitle packet is received before PCR for the
program has been received, leading to wildly jumping timestamps
on the lavf client side as well as in the re-ordering logic.

This usually happens in case of multiplexes where the PCR of a
program is not taken into account with subtitle tracks' DTS/PTS.
2018-12-22 20:33:02 +02:00
Mark Thompson b97a4b6588 cbs_av1: Fix reading of overlong uvlc codes
The specification allows 2^32-1 to be encoded as any number of zeroes
greater than 31, followed by a one.  This previously failed because the
trace code would overflow the array containing the string representation
of the bits if there were more than 63 zeroes.  Fix that by splitting the
trace output into batches, and at the same time move it out of the default
path.

(While this seems likely to be a specification error, libaom does support
it so we probably should as well.)

From a test case by keval shah <skeval65@gmail.com>.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-22 18:17:03 +00:00
Marton Balint dfd656632e avformat/avio: fix avio_feof documentation
It has been this way too long to change behaviour, so let's change the docs
instead.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-12-22 18:48:16 +01:00
Michael Niedermayer c1cbeb87db postproc/postprocess_template: remove FF_REG_sp from clobber list
Future gcc may no longer support this

Tested-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-22 17:41:44 +01:00
Michael Niedermayer 4325527e1c postproc/postprocess_template: Avoid using %4 for the threshold compare
This avoids problems if %4 is the stack pointer
the constraints do not allow %4 to be the stack pointer but gcc 9 may
no longer support specifying such constraints

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-22 17:41:44 +01:00
Paul B Mahol 7ea4b928a2 avfilter/af_sofalizer: fix non-power of 2 IR length filtering in time domain 2018-12-22 16:19:21 +01:00
Paul B Mahol d62cb29716 avformat/vividas: check if viv->sb_pb is not NULL 2018-12-22 13:36:36 +01:00
Paul B Mahol e9909fe194 avformat/vividas: check if size is enough big in xor_block 2018-12-22 11:14:39 +01:00
Paul B Mahol 14c2f7f652 avformat/vividas: fix undefined behaviour 2018-12-22 11:14:21 +01:00
Paul B Mahol 297e65c676 avformat/vividas: check if value from ffio_read_varlen() is too big 2018-12-22 11:14:21 +01:00
James Almer 53d3a1c514 APIChanges: add missing entry for SMPTE2094-40 HDR Dynamic metadata API
Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-21 21:24:00 -03:00
Carl Eugen Hoyos 6a87729e9d lavc/opus_rc: Cast a const pointer to uint8_t *.
Silences a warning with clang on arm:
libavcodec/opus_rc.c:170:17: warning: passing 'const uint8_t *' (aka 'const unsigned char *') to parameter of type 'void *' discards qualifiers
2018-12-22 00:15:16 +01:00
Mohammad Izadi 2744d6b364 Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil
The dynamic metadata contains data for color volume transform -
application 4 of SMPTE 2094-40:2016 standard. The data comes from
HEVC in the SEI_TYPE_USER_DATA_REGISTERED_ITU_T_T35.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2018-12-21 17:52:00 +01:00
Paul B Mahol 47ba085472 avfilter/af_headphone: use fabsf() instead of fabs() 2018-12-21 12:06:03 +01:00
Paul B Mahol c49307e784 avfilter/af_sofalizer: use fabsf() instead of fabs() 2018-12-21 11:53:44 +01:00
Jacob Trimble 555f332e7a libavformat/mov: Fix NULL-dereference read for some encrypted content.
When reading frames, we need to use the fragment for the correct
stream.  Sometimes the "current" fragment is not the same as the one
the frame is for.

Found by Chromium's ClusterFuzz:
https://crbug.com/906392 and https://crbug.com/915524

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-20 23:32:36 +01:00
James Almer 064f9505f4 avcodec/cbs_av1: fix parsing delta_frame_id_minus1
delta_frame_id_minus1 is not a single value in the bitstream, and can
store values up to 17 bits wide.

Fixes parsing files with frame ids.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-20 17:57:10 -03:00
Paul B Mahol 1b4c01631b avcodec/vc1_parser: use init_get_bits8() 2018-12-20 21:19:56 +01:00
Paul B Mahol d6951e595a avfilter/af_sofalizer: add framesize option 2018-12-20 20:30:07 +01:00
Paul B Mahol d06aae732c avformat: add vividas demuxer 2018-12-20 19:32:27 +01:00
Paul B Mahol 1ead98ffd9 avfilter/af_sofalizer: increase max radius 2018-12-20 19:20:30 +01:00
Paul B Mahol 4b5977fc50 avfilter/af_sofalizer: add printing of license back 2018-12-20 13:46:49 +01:00
Jun Zhao 3f08ed3920 lavc/libkvazaar: indent the code
indent the code to follow FFmpeg's coding style

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Jun Zhao 59deae5d1c lavc/libkvazaar: Use avctx->frame_rate first for framerate setting
perfer avctx->frame_rate first than use avctx->time_base when setting
the frame rate to encoder.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Jun Zhao 90c4534206 lavc/options_table: Change some options location in opt table.
Change the some options location in avcodec_options to make code more
readable. And update the fate test with this change.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Peter Ross 16ec62bbf4 configure: make --windres option work
this option is described by --help, but the definition was missing in CMDLINE_SET.
2018-12-20 12:46:11 +11:00
Peter Ross d80eb8409c configure: --help should dipslay --host-extralibs 2018-12-20 12:46:11 +11:00
Peter Ross fa0f898e3f configure: --help typo 2018-12-20 12:46:11 +11:00
Michael Niedermayer e63517e00a avcodec/rpza: Check that there is enough data for all the blocks
Fixes: Timeout
Fixes: 11547/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RPZA_fuzzer-5678435842654208

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer 8a708aa99c avcodec/rpza: Move frame allocation to a later point
This will allow performing some fast checks before the slow allocation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer 21f4b456f1 avformat/mov: Simplify get_stream_info_time()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer 68e011e410 avcodec/avcodec: Document the data type for AV_PKT_DATA_MPEGTS_STREAM_ID
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer ab1319d82f avformat/mpegts: Fix side data type for stream id
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer f8f762c300 tests/fate/filter-video: increase fuzz for fate-filter-refcmp-psnr-rgb
Fixes: test failure on powerpc

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Helmut K. C. Tessarek aaf9171574 libavcodec/libaomenc: fix breakage from upstream
commit https://aomedia.googlesource.com/aom/+/4667aa1a373566e9c124afcd58c71731ab0d7377
changed parts of the code that broke compilation of libavcodec/libaomenc.c

Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-19 15:31:28 -03:00
Carl Eugen Hoyos a07470ba37 lavu/internal: Replace an empty loop with "do {}".
Silences a clang warning when not compiling for x86:
libswscale/utils.c:345:13: warning: while loop has empty body

Suggested-by: Nicolas George
2018-12-19 15:46:29 +01:00
Michael Niedermayer ea30ac1e40 avcodec/mjpegdec: Fix indention of ljpeg_decode_yuv_scan()
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 10:01:08 +01:00
Michael Niedermayer dfb5046cf3 avcodec/mjpegdec: verify SOF len field validity
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 10:01:00 +01:00
Michael Niedermayer 645c5e8c91 doc/encoders: Fix colums typo
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 10:00:00 +01:00
Jan Ekström 3a36b0c4b8 ffmpeg: improve the intra stream discontinuity message
Now it actually tells which stream from which input and of
which type had an absolute DTS discontinuity larger than
dts_delta_threshold.
2018-12-18 21:04:57 +02:00
Paul B Mahol c0fb6f963f avformat/vorbiscomment: add support for writing chapters
Fixes #7532.
2018-12-18 19:45:59 +01:00
Paul B Mahol d283ee085f avcodec/g723_1dec: improve stereo support 2018-12-18 18:58:35 +01:00
Paul B Mahol 7a124138a7 avcodec/g723_1dec: reindent after last commit 2018-12-18 18:52:39 +01:00
Paul B Mahol 62dbcb7ddf avcodec/g723_1: add support for stereo files 2018-12-18 18:52:39 +01:00
Carl Eugen Hoyos 06a436a224 lavc/mjpegdec: Interpret three-component Adobe transform 0 also as RGB.
While there, make a comparison with "RGB" more readable.

Fixes ticket #7625.
2018-12-18 18:00:31 +01:00
Michael Niedermayer 568e1b229b avfilter/scene_sad: Fix funtions typos
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 14:18:05 +01:00
Shiyou Yin 76952aa461 avcodec/mips: [loongson] enable MSA optimization for loongson platform.
Set initialization order of MSA after MMI to make it work on loongson platform(msa is supported by loongson2k、3a4000 etc.).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 11:59:51 +01:00
Zhong Li 978c935f2f lavc/qsv_hevc: correct QSV HEVC default plugin on Windows
1. Old logic meaned: everywhere, except Windows, ffmpeg has to use HW
acceleration, but on Windows ffmpeg has to use (unavailable) software
HEVC by default
2. Software HEVC is available only if you provide corresponding
software MediaSDK library, which isn't provided with ffmpeg. More
information could be found in
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf
3. HW HEVC decoding/encoding are available on Windows in the driver by default

Note: Default case should be the most common case but this change still has potential risk
on windows if HW path is not supported(or doesn't work as expection).
(See the historical disscution: https://lists.libav.org/pipermail/libav-devel/2016-November/080419.html).
In such case, two options suggested:
1. Use the option "-load_plugin hevc_sw" to switch SW path manually.
2. Or report bug to Intel windows driver if your GPU can support HEVC HW codec.
  (HEVC decoding is supported since Braswell, and encoding supported since Skylake)

Patch started by Landgraph. Add similar change for hevc decoder and bump a new version.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
Signed-off-by: Landgraph <me@landgraph.ru>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-12-18 15:15:18 +08:00
Jan Ekström a1f0dd24f6 lavf/mov: document the dvh1 codec switch based on hvcC availability 2018-12-17 23:25:43 +02:00
Rodger Combs 6ebe88f3a4 lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264
These are registered identifiers at the MPEG-4 RA, which are
defined as to be utilized for Dolby Vision AVC/HEVC streams that
are not correctly presentable by standards-compliant AVC/HEVC players.

According to the Dolby Vision specification for ISOBMFF, these sample
entry codes are specified to have the standard AVC or HEVC decoder
configuration box in addition to the Dolby custom DOVIConfigurationBox.
This is what enables us to decode the streams without custom parsing.

For correct presentation information from the DOVIConfigurationBox
is required (YCbCr or modified ICtCP, SDR or HDR, base or enhancement
layer).
2018-12-17 23:25:43 +02:00