Haihao Xiang
aecfec6f80
avfilter: add VA-API variants of the stack filters
...
Include hstack_vaapi, vstack_vaapi and xstack_vaapi. They may accept
input streams with different sizes. libva2 (VA-API 1.0+) is required.
Example:
$ ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i input.h265 -filter_complex
"[0:v][0:v]hstack_vaapi" -c:v h264_vaapi out.h264
$ ffmpeg \
-hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \
-hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \
-hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \
-hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \
-filter_complex "[0:v][1:v][2:v][3:v]xstack_vaapi=inputs=4:fill=0x000000:layout=0_0_1920x1080|w0_0_1920x1080|0_h0_1920x1080|w0_h0_1920x1080" \
-c:v hevc_vaapi out.h265
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years ago
David Rosca
4e3b6270c6
vaapi_encode_h264: Only set pic_order_cnt_type to 0 with B-frames
...
v3: pic_order_cnt steps by 2
2 years ago
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>
2 years ago
Marton Balint
41dfa629d7
avformat/mxfdec: support Avid files with an extra index entry
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years ago
Marton Balint
6aff3c5e43
avformat/mxfdec: check index entry array size
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years ago
Paul B Mahol
757218564d
avcodec/dvdsubenc: remove duplicated ;
2 years ago
Paul B Mahol
65c0b16961
avcodec/ftr: use more portable return error code
2 years ago
Anton Khirnov
7cf161abe5
lavc/libaomenc: pass through frame durations to encoded packets
2 years ago
Anton Khirnov
d87055107d
lavc/libx265: pass through frame durations to encoded packets
2 years ago
Anton Khirnov
a172b33ebf
lavc/libx264: pass through frame durations to encoded packets
2 years ago
Anton Khirnov
782127d876
lavc/libwebpenc_animencoder: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2 years ago
Anton Khirnov
476ec77870
lavc/libwebpenc_animencoder: stop setting dts unnecessarily
...
WebP does not have reordering, so dts=pts is set by the generic code.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
Anton Khirnov
2bb20e98ba
lavc/libtheoraenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2 years ago
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.
2 years ago
Anton Khirnov
bbbafab0ee
lavc/pngenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2 years ago
Anton Khirnov
3553809703
lavc/nvenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2 years ago
Anton Khirnov
1b25eb65cd
lavc/librav1e: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
Anton Khirnov
1f9828bb8c
lavc/avcodec: improve enc/dec API doxy
...
Change return value descriptions into lists of @retval
2 years ago
Anton Khirnov
935964bd41
doc/ffmpeg: drop non-existent -dc option
2 years ago
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.
2 years ago
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.
2 years ago
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
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
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>
2 years ago
Paul B Mahol
ac37b2c2b1
avfilter/f_reverse: set output frame duration
2 years ago
Paul B Mahol
d9b07a9853
avfilter/vf_ciescope: set output frame duration
2 years ago
Paul B Mahol
23d0214939
avfilter/vf_tpad: set output frame duration
2 years ago
Paul B Mahol
7b78684f96
avfilter/vf_random: set output frame duration
2 years ago
Paul B Mahol
a749e43c86
avfilter/vf_datascope: call av_frame_copy_props()
2 years ago
Paul B Mahol
01343683fa
avcodec: add CBD2 DPCM decoder
2 years ago
Paul B Mahol
0c7da96924
avcodec/wmaprodec: add missing flush call for xma1
2 years ago
Dmitrii Ovchinnikov
5f0a7a9169
libavcodec/amfenc: add AV1 encoding support
...
Tested-by: Jean-Baptiste Kempf <jb@videolan.org>
2 years ago
Dmitrii Ovchinnikov
23d4f9223a
amfenc: Update the min version to 1.4.28.0 for AMF SDK.
...
Tested-by: Jean-Baptiste Kempf <jb@videolan.org>
2 years ago
Paul B Mahol
40512dbd96
avfilter/af_adynamicequalizer: add auto option
2 years ago
Ashyni
6869a80e76
avfilter/vf_cropdetect: fix type for old_limit
2 years ago
Marton Balint
c0bc804e55
avcodec/ffv1: use 64-bit frame counter
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years ago
Marton Balint
bdb7338b09
avcodec/ratecontrol: drop remnants of libxvid rate control
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years ago
Marton Balint
103617c93c
avcodec/mpegvideo_enc: remove picture_number parameter from encode functions
...
They are unused.
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years ago