Commit Graph

98290 Commits

Author SHA1 Message Date
Andreas Rheinhardt
7256c363a0 avformat/mov: Cosmetics
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 13:16:01 +02:00
Andreas Rheinhardt
9ce1eb5eb0 avformat/mov: Avoid allocation when reading ddts atom
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 13:14:52 +02:00
Andreas Rheinhardt
316a3e91be avformat/mov: Use ffio_read_size where appropriate
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 13:13:48 +02:00
Andreas Rheinhardt
526f5f59df avformat/mov: Avoid allocation+copy when moving extradata
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 13:12:49 +02:00
Andreas Rheinhardt
88dc77e243 avformat/mov: Read attached pics directly into st->attached_pic
Given that av_get_packet returns a blank packet on error, the only
difference to the current approach (that uses intermediate AVPackets on
the stack) is that st->attached_pic will be properly initialized on error
(i.e. the timestamps are AV_NOPTS_VALUE) whereas right now st->attached_pic
is only zeroed.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 13:10:58 +02:00
Andreas Rheinhardt
ddd6274944 avformat/mov: Check earlier whether reel_name string is empty
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:41:20 +02:00
Andreas Rheinhardt
c3cd6b765b avcodec, avformat: Remove unnecessary initializations of side data size
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:20:37 +02:00
Andreas Rheinhardt
b8c6aae575 avformat/avformat: Improve documentation of av_stream_get_side_data
Document that it also sets the size in case the desired side data is
absent (if the pointer has been supplied).

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:20:23 +02:00
Andreas Rheinhardt
45ddf06f54 avcodec/packet: Improve documentation of av_packet_get_side_data
Document that it also sets the size in case the desired side data is
absent (if the pointer has been supplied).

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:20:12 +02:00
Andreas Rheinhardt
b054a3a216 avformat/flvdec: Cosmetics
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:19:56 +02:00
Andreas Rheinhardt
55c7bb0665 avcodec/nellymoserdec: Don't use invalid AVPacketSideDataType
Commits 957a593cd9 and
11828b8885 made the flv demuxer export
a certain flag as side data to be used by the nellymoser decoder for
mid-stream sample rate changes. It used a custom side data type 'F' that
was never officially documented.

Yet since 2215c39e94 (merged in commit
52c522c720) this information is exported
via the properly documented AV_PKT_DATA_PARAM_CHANGE side data.
The merge commit therefore stopped exporting the 'F' sidedata; yet the
changes in the Nellymoser decoder (which are now dead code (and would
become dangerous if lots of new side data types were added)) have not
been removed. This commit does this.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-06-22 12:19:24 +02:00
Przemysław Sobala
82352f3c1a avformat/dashenc: Calculate average bitrate for adaptation sets in static manifest
If stream's bitrate is not specified:
- for static manifest: an average bitrate will be calculated and used,
- for dynamic manifest: first segment's bitrate will be calculated and used, as before,
for bandwidth setting in adaptation sets.
2020-06-22 10:32:44 +05:30
Przemysław Sobala
19726288d8 Revert "avformat/dashenc: use AVStream timebase when computing missing bitrate"
This reverts commit 2a9ffd89fc as duration is always in AV_TIME_BASE units
2020-06-22 10:32:10 +05:30
Paul B Mahol
fdac3c80ac avfilter/af_ladspa: check return value of getenv() 2020-06-21 21:35:40 +02:00
Paul B Mahol
683a1599d4 avfilter/af_ladspa: add latency compensation 2020-06-21 21:35:40 +02:00
Paul B Mahol
842bc312ad avfilter/af_ladspa: check another directory for plugins 2020-06-21 14:48:27 +02:00
summertriangle.dev@gmail.com
9a24610bf7 avcodec/hcadec: get intensity from correct channel
Fixes an issue with one output channel being slightly louder than
the other. The output now matches other public HCA decoders.

Signed-off-by: t <summertriangle.dev@gmail.com>
2020-06-21 11:13:29 +02:00
summertriangle.dev@gmail.com
bc2dcae897 avcodec/hcadec: fix decoding of hfr channels
I suspect this was originally broken by b7e5c8f , but even
then, it only worked because it read out of bounds from
intensity_ratio_table.

Signed-off-by: t <summertriangle.dev@gmail.com>
2020-06-21 11:13:29 +02:00
Andriy Gelman
536e5dfa73 avcodec/adpcmenc: remove forward declaration
Reviewed-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2020-06-20 23:20:27 -04:00
Paul B Mahol
29ea4e1b3c avcodec/mpeg12dec: do not discard older a53 captions
Fixes #6105.
2020-06-20 15:09:30 +02:00
Paul B Mahol
00842b3a0d avcodec/ccaption_dec: use uint8_t type for prev_cmd array
Commands are unsigned so be consistent.
2020-06-20 15:07:26 +02:00
Paul B Mahol
bd1b78e91a avcodec/ccaption_dec: do not modify packet data in case of parity error
To dissallow similar errors in future, make pointers const.
2020-06-20 15:07:26 +02:00
Paul B Mahol
bbd0be04d0 avcodec/ccaption_dec: allow selection of second field captions 2020-06-20 15:07:26 +02:00
Paul B Mahol
c6791a32b4 avcodec/ccaption_dec: rework non-real-time mode with pop-on captions by delaying
So it give similar output as visual output of real-time mode.
2020-06-20 15:07:26 +02:00
Limin Wang
251434cb97 doc/encoders: fix the misleading usage of profile
users are getting mislead by the integer, although profile
can support both const string and integer.
http://ffmpeg.org/pipermail/ffmpeg-user/2020-June/049025.html

Also fix the order of high and main, it's not my intention.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-20 09:03:59 +08:00
Limin Wang
548ef7a12b avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 23:12:49 +08:00
Limin Wang
04172d233d avformat/dvenc: return error code of dv_assemble_frame()
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 23:12:49 +08:00
Manoj Bonda
23d06f606e avcodec/av1_parser: initialize avctx->pix_fmt
Initialize avctx->pix_fmt in av1_parser.c
AV1 Chroma format is invalid when quering using below code if no AV1 decoder
is available:

iVideoStream = av_find_best_stream(fmtc, AVMEDIA_TYPE_VIDEO, -1, -1, NULL, 0);
eChromaFormat = (AVPixelFormat)fmtc->streams[iVideoStream]->codecpar->format;

Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-19 11:05:30 -03:00
James Almer
af6cddae1f avcodec/av1_parser: add missing parsing for RGB pixel format signaling
Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-19 11:05:30 -03:00
James Almer
634a44db5a avcodec/av1_parser: set context values outside the OBU parsing loop
Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-19 11:05:30 -03:00
Limin Wang
2f5994679b fate: add yuv420p10 and yuv422p10 tests for overlay filter
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 07:14:46 +08:00
Limin Wang
dacae40a4b avfilter/vf_overlay: add yuv420p10 and yuv422p10 10bit format support
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 07:14:46 +08:00
Limin Wang
4d787c16e8 avfilter/vf_overlay: support for 8bit and 10bit overlay with macro-based function
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 07:14:46 +08:00
Limin Wang
e3b5897fe3 avcodec/libx265: Fix integer overflow in computation of max and avg bitrate
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 07:14:46 +08:00
James Almer
93016f5d1d avcodec/encode: restructure the old encode API
Following the same logic as 061a0c14bb, this commit turns the old encode API
into a wrapper for the new one.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-18 17:11:37 -03:00
James Almer
827d6fe73d avcodec/encode: restructure the core encoding code
This commit follows the same logic as 061a0c14bb, but for the encode API: The
new public encoding API will no longer be a wrapper around the old deprecated
one, and the internal API used by the encoders now consists of a single
receive_packet() callback that pulls frames as required.

amf encoders adapted by James Almer
librav1e encoder adapted by James Almer
nvidia encoders adapted by James Almer
MediaFoundation encoders adapted by James Almer
vaapi encoders adapted by Linjie Fu
v4l2_m2m encoders adapted by Andriy Gelman

Signed-off-by: James Almer <jamrial@gmail.com>
2020-06-18 17:11:37 -03:00
Paul B Mahol
71f19bf5e3 avformat: add MCC demuxer
Fixes #7680
2020-06-18 21:31:13 +02:00
Paul B Mahol
b52ca2cec2 avformat/sccdec: make splitting more robust 2020-06-18 21:28:09 +02:00
Jun Zhao
3cf2f515e3 lavf/dashdec: Add missed side data/disposition
dash demuxer get the stream info from sub-stream, but missed side
data/disposition part, e,g, missed the DOVI side data when the
stream is Dolby Vision streams

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-06-18 17:51:41 +08:00
vacingfang
b7f3a7c439 lavf/hls: Add missed side data/disposition
hls demuxer get the stream info from sub-stream, but missed side
data/disposition part, e,g, missed the DOVI side data when the
stream is Dolby Vision streams.

Reviewed-by <liuqi05@kuaishou.com>
Signed-off-by: vacingfang <vacingfang@tencent.com>
2020-06-18 17:51:10 +08:00
Linjie Fu
0b511bd9a5 fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale
Currently, ffmpeg inserts scale filter by default in the filter graph
to force the whole decoded stream to scale into the same size with the
first frame. It's not quite make sense in resolution changing cases if
user wants the rawvideo without any scale.

Using autoscale/noautoscale as an output option to indicate whether auto
inserting the scale filter in the filter graph:
    -noautoscale or -autoscale 0:
    disable the default auto scale filter inserting.

ffmpeg -y -i input.mp4 out1.yuv -noautoscale out2.yuv -autoscale 0 out3.yuv

Update docs.

Suggested-by:  Mark Thompson <sw@jkqxz.net>
Reviewed-by:   Nicolas George <george@nsup.org>
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
2020-06-18 16:31:09 +08:00
Zane van Iperen
a37109d555 avformat/apm: check codec tag in probe and add constant
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-06-17 21:45:10 +02:00
Derek Buitenhuis
94bac7b3f8 avformat/movenc: Write 'av01' as a compatible brand when muxing AV1
This is a requirement of the AV1-ISOBMFF spec. Section 2.1.
General Requirements & Brands states:

    * It SHALL have the av01 brand among the compatible brands array of the FileTypeBox

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2020-06-17 19:06:45 +01:00
Zhong Li
157feea041 mailmap: add entry for myself
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2020-06-17 22:11:34 +08:00
Guo Yejun
0b3bd001ac dnn_backend_native: check operand index
it fixed the issue in https://trac.ffmpeg.org/ticket/8716
2020-06-17 13:42:52 +08:00
Guo Yejun
fc932195ab dnn_backend_native.c: refine code for fail case 2020-06-17 13:42:52 +08:00
Paul B Mahol
c0974355c7 avcodec/ccaption_dec: do not modify pkt data and stop removing parity bit twice 2020-06-17 00:38:08 +02:00
Paul B Mahol
5422a4a7c5 avformat/sccdec: simplify demuxer a little 2020-06-17 00:38:08 +02:00
Paul B Mahol
9887bcc6c6 avcodec/ccaption_dec: remove usage of extra buffer 2020-06-16 17:11:38 +02:00
Paul B Mahol
d5b1760665 avcodec/ccaption_dec: fix some small style issues 2020-06-16 17:11:38 +02:00