David Rosca
4e3b6270c6
vaapi_encode_h264: Only set pic_order_cnt_type to 0 with B-frames
...
v3: pic_order_cnt steps by 2
2023-01-30 08:48:32 +08:00
Marton Balint
af606c232a
avformat/mxfdec: check number of index table entires more strictly
...
Let's ignore the index table if the number of index entries does not match the
index duration (or the special AVID index entry counts).
Fixes: OOM
Fixes: 50551/clusterfuzz-testcase-minimized-ffmpeg_dem_MXF_fuzzer-6607795234930688
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-29 18:58:30 +01:00
Marton Balint
41dfa629d7
avformat/mxfdec: support Avid files with an extra index entry
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-29 18:58:30 +01:00
Marton Balint
6aff3c5e43
avformat/mxfdec: check index entry array size
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-29 18:58:30 +01:00
Paul B Mahol
757218564d
avcodec/dvdsubenc: remove duplicated ;
2023-01-29 13:10:20 +01:00
Paul B Mahol
65c0b16961
avcodec/ftr: use more portable return error code
2023-01-29 13:09:17 +01:00
Anton Khirnov
7cf161abe5
lavc/libaomenc: pass through frame durations to encoded packets
2023-01-29 09:23:17 +01:00
Anton Khirnov
d87055107d
lavc/libx265: pass through frame durations to encoded packets
2023-01-29 09:23:17 +01:00
Anton Khirnov
a172b33ebf
lavc/libx264: pass through frame durations to encoded packets
2023-01-29 09:23:17 +01:00
Anton Khirnov
782127d876
lavc/libwebpenc_animencoder: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2023-01-29 09:23:17 +01:00
Anton Khirnov
476ec77870
lavc/libwebpenc_animencoder: stop setting dts unnecessarily
...
WebP does not have reordering, so dts=pts is set by the generic code.
2023-01-29 09:23:17 +01:00
Anton Khirnov
fbdba9a1a6
lavc/vaapi_encode*: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
...
Except for the mjpeg_vaapi encoder, which is already handled
generically.
2023-01-29 09:23:17 +01:00
Anton Khirnov
c44a3dba9e
lavc/mpegvideo_enc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
...
For delay-capable encoders, i.e. mpeg12 and mpeg4video. Generic code in
encode.c already handles this for all other mpegvideo encoders.
2023-01-29 09:23:17 +01:00
Anton Khirnov
8a60a9c74c
lavc/libtheoraenc: stop setting dts unnecessarily
...
Theora is not marked as supporting reordering, so dts will be set from
pts by the generic code.
2023-01-29 09:23:17 +01:00
Anton Khirnov
2bb20e98ba
lavc/libtheoraenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2023-01-29 09:23:17 +01:00
Anton Khirnov
b7f0c8889e
lavc/pngenc: stop setting dts unnecessarily for APNG
...
APNG is not marked as supporting reordering, so dts will be set from pts
by the generic code.
2023-01-29 09:23:17 +01:00
Anton Khirnov
bbbafab0ee
lavc/pngenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2023-01-29 09:23:17 +01:00
Anton Khirnov
3553809703
lavc/nvenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2023-01-29 09:23:17 +01:00
Anton Khirnov
1b25eb65cd
lavc/librav1e: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2023-01-29 09:23:16 +01:00
Anton Khirnov
a1a80f2e64
lavc/encode: pass through frame durations to encoded packets
...
The generic code can only handle the no-delay case. Encoders with delay
need to be handled individually, which will be done in the following
commits.
2023-01-29 09:23:15 +01:00
Anton Khirnov
8d73f3ce56
lavc: support AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE in all no-delay encoders
...
Including fake-delay encoders marked with FF_CODEC_CAP_EOF_FLUSH.
2023-01-29 09:22:57 +01:00
Anton Khirnov
5c0348f3d6
lavc: add a codec flag for propagating opaque from frames to packets
...
This is intended to be a more convenient replacement for
reordered_opaque.
Add support for it in the two encoders that offer
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE: libx264 and libx265. Other
encoders will be supported in future commits.
2023-01-29 09:18:14 +01:00
Anton Khirnov
d0c8ca961d
lavc: add a private cap for fake-delay encoders
...
Some encoders (ffv1, flac, adx) are marked with AV_CODEC_CAP_DELAY onky
in order to be flushed at the end, otherwise they behave as no-delay
encoders.
Add a capability to mark these encoders. Use it for setting pts
generically.
2023-01-29 09:14:13 +01:00
Anton Khirnov
e5e29eda5a
lavc/avcodec: improve AV_CODEC_FLAG_RECON_FRAME doxy
...
Do not break a sentence on a period after "i.e.".
Link to the definition of AV_CODEC_CAP_ENCODER_RECON_FRAME.
2023-01-29 09:14:13 +01:00
Anton Khirnov
1f9828bb8c
lavc/avcodec: improve enc/dec API doxy
...
Change return value descriptions into lists of @retval
2023-01-29 09:14:13 +01:00
Anton Khirnov
935964bd41
doc/ffmpeg: drop non-existent -dc option
2023-01-29 09:12:40 +01:00
Anton Khirnov
9b5036fabd
fftools/ffmpeg: add an AVClass to MuxStream/OutputStream
...
Use it for logging. This makes log messages related to this output
stream more consistent.
2023-01-29 09:12:22 +01:00
Anton Khirnov
d2c983c213
fftools/ffmpeg: add an AVClass to Muxer/OutputFile
...
Use it for logging. This makes log messages related to this output file
more consistent.
2023-01-29 09:10:57 +01:00
Anton Khirnov
425b2c4a56
fftools/ffmpeg: add options for writing encoding stats
...
Similar to -vstats, but more flexible:
- works for audio as well as video
- frame and/or packet information
- user-specifiable format
2023-01-29 09:09:59 +01:00
Michael Niedermayer
b95b2c8492
avcodec/utils: use 32pixel alignment for bink
...
bink supports 16x16 blocks in chroma planes thus we need to allocate enough.
Fixes: out of array access
Fixes: 55026/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BINK_fuzzer-6013915371012096
Reviewed-by: Peter Ross <pross@xvid.org>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-01-28 20:50:01 +01:00
Andreas Rheinhardt
35f837710c
avfilter/vf_ssim360: Constify AVFilter
...
This brings ff_vf_ssim360 in line with its declaration in allfilters.c;
this discrepancy is actually undefined behaviour.
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-01-28 18:19:53 +01:00
Andreas Rheinhardt
5fd4d3faf1
avfilter/vf_ssim360: Don't initialize twice
...
The FILTER_INPUTS and FILTER_OUTPUTS macros already set
AVFilter.(inputs|outputs); Clang therefore emits a warning for
this: "initializer overrides prior initialization of this subobject
[-Winitializer-overrides]"
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-01-28 18:19:24 +01:00
Andreas Rheinhardt
54659e329e
avfilter/vf_ssim360: Fix left-shift of negative value
...
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-01-28 18:18:57 +01:00
Martin Storsjö
c0cf2c4786
lavfi/vf_ssim360: Fix compilation with MSVC
...
Don't use "static const" for compile time float constants, but use
defines. This fixes the following error:
src/libavfilter/vf_ssim360.c(549): error C2099: initializer is not a constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2023-01-28 18:20:19 +02:00
Shannon Chen
ed519a3690
lavfi: Add vf_ssim360 filter
...
Customized SSIM for various projections (and stereo formats) of 360 images and videos.
Further contributions by:
Ashok Mathew Kuruvilla
Matthieu Patou
Yu-Hui Wu
Anton Khirnov
Suggested-By: ffmpeg@fb.com
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2023-01-28 12:00:27 +01:00
Paul B Mahol
ac37b2c2b1
avfilter/f_reverse: set output frame duration
2023-01-27 23:53:26 +01:00
Paul B Mahol
d9b07a9853
avfilter/vf_ciescope: set output frame duration
2023-01-27 23:13:16 +01:00
Paul B Mahol
23d0214939
avfilter/vf_tpad: set output frame duration
2023-01-27 23:01:52 +01:00
Paul B Mahol
7b78684f96
avfilter/vf_random: set output frame duration
2023-01-27 23:01:52 +01:00
Paul B Mahol
a749e43c86
avfilter/vf_datascope: call av_frame_copy_props()
2023-01-27 19:50:10 +01:00
Paul B Mahol
01343683fa
avcodec: add CBD2 DPCM decoder
2023-01-27 19:45:36 +01:00
Paul B Mahol
0c7da96924
avcodec/wmaprodec: add missing flush call for xma1
2023-01-27 18:46:56 +01:00
Dmitrii Ovchinnikov
5f0a7a9169
libavcodec/amfenc: add AV1 encoding support
...
Tested-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-01-27 22:38:45 +05:30
Dmitrii Ovchinnikov
23d4f9223a
amfenc: Update the min version to 1.4.28.0 for AMF SDK.
...
Tested-by: Jean-Baptiste Kempf <jb@videolan.org>
2023-01-27 22:35:35 +05:30
Paul B Mahol
40512dbd96
avfilter/af_adynamicequalizer: add auto option
2023-01-27 15:00:53 +01:00
Ashyni
6869a80e76
avfilter/vf_cropdetect: fix type for old_limit
2023-01-27 14:57:28 +01:00
Marton Balint
c0bc804e55
avcodec/ffv1: use 64-bit frame counter
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-26 20:37:14 +01:00
Marton Balint
bdb7338b09
avcodec/ratecontrol: drop remnants of libxvid rate control
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-26 20:37:14 +01:00
Marton Balint
103617c93c
avcodec/mpegvideo_enc: remove picture_number parameter from encode functions
...
They are unused.
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-26 20:37:01 +01:00
Marton Balint
91c29cf934
avcodec/rv20enc: use MpegEncContext->picture_number instead of encode function parameter
...
They should be the same and that is what most encode functions use.
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-01-26 20:11:41 +01:00