James Almer
1cd43d8a5e
avfilter/vf_showinfo: add support for H.274 Film Grain Characteristics frame side data
...
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-06 09:56:44 -03:00
James Almer
82be9f2777
avcodec/hevc_sei: parse and export Film Grain Characteristics SEI messages
...
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-06 09:56:44 -03:00
James Almer
794e15fd54
cbs_h265: add support for Film Grain Characteristics SEI message
...
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-06 09:56:44 -03:00
James Almer
6b594ba5d1
avcodec/mfenc: remove usage of avctx->pkt_timebase
...
The field is documented to be for decoding only.
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-06 09:38:35 -03:00
Andreas Rheinhardt
ef54590f83
avfilter/internal: Don't include libavcodec/(avcodec|internal).h
...
The reasons for including them don't exist any longer: ff_tlog() has
been moved to libavutil/internal.h and FF_QSCALE_TYPE_* has been moved
to qp_table.h.
Reviewed-by: Nicolas George <george@nsup.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 21:15:25 +02:00
Paul B Mahol
2678b4f81b
avfilter/avf_showspectrum: add option to control dynamic range for colors
2021-08-05 21:11:40 +02:00
Andreas Rheinhardt
2146b65553
avutil/internal: Move MAKE_ACCESSORS to its only user
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 20:05:54 +02:00
Andreas Rheinhardt
549502868d
Move ff_tlog() from lavc/internal.h to lavu/internal.h
...
It is also used by libavfilter and it is only natural to define it
alongside ff_dlog().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 20:02:35 +02:00
Andreas Rheinhardt
2b6e008577
avfilter/internal: Move ff_norm_qscale() to qp_table.h
...
It is the natural header for it.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:59:00 +02:00
Andreas Rheinhardt
b75dc8bd70
avcodec/huffman: Use logcontext instead of AVCodecContext
...
Said AVCodecContext is only used for logging; it furthermore avoids
an avcodec.h inclusion.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:58:10 +02:00
Andreas Rheinhardt
a449fb35ca
avcodec/fft-internal: Make it a standalone header
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:56:40 +02:00
Andreas Rheinhardt
211619ad7f
avcodec: Remove the FFT_FIXED_32 define
...
Since the removal of the 16-bit FFT said define is unnecessary as
FFT_FIXED_32 is always !FFT_FLOAT. But one wouldn't believe it when
looking at the code.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:46:33 +02:00
Andreas Rheinhardt
763c501432
avcodec/fft-internal: Remove unused macros
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:02:16 +02:00
Andreas Rheinhardt
7bad2a61d8
avcodec/mips/constants: Include intfloat.h in constants.h
...
Don't rely on the user including it (mostly indirectly).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 19:00:53 +02:00
Andreas Rheinhardt
304cb08693
avfilter/avfilter: Remove unused partial_buf
...
It is unused since 02aa0701ae
.
The corresponding size field is write-only since then.
Reviewed-by: Nicolas George <george@nsup.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-05 17:53:43 +02:00
Linjie Fu
b3a0548a98
fftools/ffmpeg_filter: fix the flags parsing for scaler
...
Scaler relys on "-sws_flags" option to pass the flags to swscale
and scale filter. Currently passing "sws_flags=xxx" as a filter
option to scaler leads to an incorrect option parsing.
Check and change the string to "flags=xxx" and dumped flags information.
(Refer to parse_sws_flags())
CMD:
$ffmpeg -v verbose -i input.mp4 -sws_flags lanczos+bitexact+accurate_rnd \
-vf format=yuv420p,scale=800x600 -an -vframes 10 -f md5 -
Before:
[auto_scaler_0 @ 0x7f96c3808680] w:iw h:ih flags:'' interl:0
[auto_scaler_0 @ 0x7f96c3808680] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x0
[Parsed_scale_1 @ 0x7f96c3806e40] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x0
MD5=ff1d6091690c6fcd36d458d2a9f648ce
After:
[auto_scaler_0 @ 0x7fe94563b4c0] w:iw h:ih flags:'lanczos+bitexact+accurate_rnd' interl:0
[auto_scaler_0 @ 0x7fe94563b4c0] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0xc0200
[Parsed_scale_1 @ 0x7fe945639d00] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0xc0200
MD5=ff1d6091690c6fcd36d458d2a9f648ce
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com >
2021-08-05 22:23:49 +08:00
Linjie Fu
5b0e6b0d82
fftools: Don't set default swscale flags in ffmpeg/ffprobe/ffplay
...
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com >
2021-08-05 22:23:49 +08:00
Linjie Fu
9f14396a51
lavfi/vf_scale: use default swscale flags for scaler
...
Currently the default swscale flags for simple filter graph is bicubic,
however for complex filter graph it uses bilinear as decleared in scale
filter.
$ffmpeg -v verbose -i input.mp4 -vf format=yuv420p,scale=800x600 -an -f null -
[Parsed_scale_1 @ 0x7f86d2c160c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x4
$ffmpeg -v verbose -i input.mp4 -filter_complex format=yuv420p,scale=800x600 -an -f null -
[Parsed_scale_1 @ 0x7f8779e046c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x2
Use default swscale flags (bicubic currently) for scale filter.
- Remove flags="bilinear" from vf_scale
- Update the FATE refs
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com >
2021-08-05 22:23:49 +08:00
Paul B Mahol
9dbf95f209
avfilter/f_graphmonitor: use sample_count_in/out
2021-08-05 15:42:48 +02:00
Paul B Mahol
c317862c88
avfilter/avfilter: add sample_count_in and sample_count_out
2021-08-05 15:42:48 +02:00
Paul B Mahol
82123e133d
avfilter/avf_showspectrum: add lreplace sliding mode
2021-08-04 22:42:44 +02:00
Paul B Mahol
b1388cd6c5
avfilter/avf_showspectrum: proper rational multiplication
2021-08-04 22:11:41 +02:00
Paul B Mahol
20ebcbd520
avfilter/avf_showspectrum: fix last frame/eof timestamp
2021-08-04 21:52:58 +02:00
Martin Storsjö
6d2365882f
libavfilter: Fix implicit declarations of av_cpu_max_align
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2021-08-04 20:58:15 +03:00
Haihao Xiang
65fdc0e589
lavc/qsvenc: pass the color properties to the SDK
...
Otherwise the color properties won't be encoded into the bitstream
header
Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com >
Reviewed-by: Soft Works <softworkz@hotmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-04 10:06:26 -03:00
Haihao Xiang
c8cfe67694
lavc/qsvdec: update color properties in codec context
...
User may get color properties from the SDK via VIDEO_SIGNAL_INFO extbuf
Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com >
Reviewed-by: Soft Works <softworkz@hotmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-04 10:04:53 -03:00
Andreas Rheinhardt
7ab0207d4b
avutil/Makefile: Apply CFLAGS for compilation
...
Fixes "make tools/crypto_bench.o".
Reviewed-by: James Almer <jamrial@gmail.com >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-04 12:59:42 +02:00
Andreas Rheinhardt
cc6f6a1eef
avfilter/vf_vpp_qsv: Don't overrun stack array
...
8b83dad825
added another potentially used
video enhancement filter without increasing a define for the number of
such options which is used as the size of stack array. This can lead to
a buffer overrun if all filters are used simultaneously. So increase
said number.
Fixes Coverity ticket #1489775 .
Reviewed-by: Linjie Fu <linjie.justin.fu@gmail.com >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-04 12:50:37 +02:00
Paul B Mahol
3b298640e1
avfilter/af_afftfilt: make sure that tx buffers size are always aligned
2021-08-04 10:13:46 +02:00
Paul B Mahol
16b4331bd1
avfilter/avf_showspectrum: use proper function return value instead of hardcoded number
2021-08-04 10:09:39 +02:00
Paul B Mahol
b3117f376d
avfilter/vaf_spectrumsynth: switch to TX FFT from avutil
2021-08-04 10:04:58 +02:00
Paul B Mahol
a428d2a487
avfilter/af_afftfilt: switch to TX FFT from avutil
2021-08-04 09:35:06 +02:00
Andreas Rheinhardt
6e66e2c321
avfilter/internal: Don't include framepool.h, thread.h
...
They are not used by the header at all and only used by very few files;
so include the headers in their users instead of in internal.h.
Reviewed-by: Nicolas George <george@nsup.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-04 03:03:25 +02:00
James Almer
e0b84d1069
avfilter/avfilter: use av_frame_copy() to copy frame data
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Reviewed-by: Nicolas George <george@nsup.org >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-03 18:41:31 -03:00
Fei Wang
8b83dad825
avfilter/vf_vpp_qsv: add scale mode option
...
The option allow user to set diffenent scaling mode from
auto/low-power/high-quality.
More details:
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxExtVPPScaling
Signed-off-by: Fei Wang <fei.w.wang@intel.com >
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com >
2021-08-03 22:20:00 +08:00
maryam ebr
7150f95756
avcodec/dnxhddec: check and propagate function return value
...
Similar to CVE-2013-0868, here return value check for 'init_vlc' is needed.
crafted DNxHD data can cause unspecified impact.
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-08-03 10:39:37 -03:00
Lynne
c8b1f2bcc4
packet: initialize time_base field to (0, 1) instead of (0, 0)
...
Forget rational or irrational numbers, division by zero is undefined.
2021-08-02 14:45:47 +02:00
Lynne
a1a0fddfd0
avpacket: ABI bump additions
...
This commit adds a long-requested by API users opaque fields for
AVPacket, as well as a time_base field.
2021-08-02 14:30:52 +02:00
Yun Zhang
a27853a730
lavd/lavfi.c: Set time_base for 608 cc to container time_base.
...
Suggested-By: ffmpeg@fb.com
2021-08-02 14:00:52 +02:00
Brad Hards
1f58503013
libavcodec/libx265: add user data unregistered SEI encoding
...
MISB ST 0604 and ST 2101 require user data unregistered SEI messages
(precision timestamps and sensor identifiers) to be included. That
currently isn't supported for libx265. This patch adds support
for user data unregistered SEI messages in accordance with
ISO/IEC 23008-2:2020 Section D.2.7
The design is based on nvenc, with support finished up at
57de80673c
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2021-08-01 12:07:54 +01:00
Gyan Doshi
c50f5460d2
ffmpeg_opt: restore documented stream selection behaviour
...
11d3b03fcb
added consideration of default stream disposition for audio
and video when choosing the 'best' stream among all the inputs. This can
lead to video streams with lower resolution or audio streams with fewer
channels being selected.
Stream disposition, however, only sets a priority for a stream
among all other streams in the *same input*. It cannot set a priority
for a stream across all inputs.
This patch sets a middle-way and selects the best stream from each file
with default disposition considered. Then it discards disposition weight
and selects best stream as per the original criteria of highest
resolution for video and most channels for audio.
2021-08-01 09:51:07 +05:30
Marton Balint
7b4bdcd68e
avformat/mxfdec: prefer footer and complete partitions for metadata
...
Also do not store inferior metadata with the same UID.
Signed-off-by: Marton Balint <cus@passwd.hu >
2021-08-01 02:57:53 +02:00
Michael Niedermayer
9b57d2f0a9
avformat/wavdec: Use 64bit in new_pos computation
...
Fixes: signed integer overflow: 129 * 16711680 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_WAV_fuzzer-6742285317439488
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:38 +02:00
Michael Niedermayer
9dbed90840
avformat/sbgdec: Check for overflow in timestamp preparation
...
Fixes: signed integer overflow: 9223372036854775807 + 86400000000 cannot be represented in type 'long'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_SBG_fuzzer-6731040263634944
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:38 +02:00
Michael Niedermayer
9d1c47ec03
avformat/dsicin: Check packet size for overflow
...
Fixes: signed integer overflow: 24672 + 2147483424 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_DSICIN_fuzzer-6731325979623424
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:20 +02:00
Michael Niedermayer
5e38eff284
avformat/dsfdec: Change order of operations in bitrate computation
...
Fixes: signed integer overflow: 538976288 * 67372036 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_DSF_fuzzer-6751696819716096
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:19 +02:00
Michael Niedermayer
b4e77dfca1
avformat/bfi: check nframes
...
Fixes: signed integer overflow: -2147483648 - 1 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_BFI_fuzzer-6737028768202752
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:19 +02:00
Michael Niedermayer
527821a2dd
avformat/avidec: fix position overflow in avi_load_index()
...
Fixes: signed integer overflow: 9223372033098784808 + 4294967072 cannot be represented in type 'long'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_AVI_fuzzer-6732488912273408
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:17 +02:00
Michael Niedermayer
f034c2e36a
avformat/asfdec_f: Check sizeX against padding
...
Fixes: signed integer overflow: 2147483607 + 64 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_ASF_fuzzer-6753897878257664
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:16 +02:00
Michael Niedermayer
bae2e19777
avformat/aiffdec: Check for size overflow in header parsing
...
Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
Fixes: 29102/clusterfuzz-testcase-minimized-ffmpeg_dem_AIFF_fuzzer-6723467048255488
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-07-31 22:08:15 +02:00