Wenbin Chen
d79c240196
doc/encoders: Add doc for av1_qsv
...
Add doc for av1_qsv.
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com >
2022-10-24 13:30:22 +08:00
Wenbin Chen
dc9e4789a3
libavcodec/qsvenc_av1: add av1_qsv encoder
...
It is available only when libvpl is enabled. MSDK doesn't support av1
encoding.
sample command:
ffmpeg -f rawvideo -pix_fmt nv12 -s 1920x1080 -i input.yuv \
-c:v av1_qsv output.ivf
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com >
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com >
2022-10-24 13:30:22 +08:00
Anton Khirnov
874a6f2090
fftools/ffmpeg: set thread names
2022-10-24 02:00:31 +02:00
Anton Khirnov
a2f5913857
lavf: set internal thread names
2022-10-24 02:00:31 +02:00
Anton Khirnov
5f82447dfc
lavc/pthread_frame: set worker thread names
2022-10-24 02:00:31 +02:00
Anton Khirnov
f66e794672
lavu/thread: add an internal function for setting thread name
...
Linux-only for now.
2022-10-24 02:00:31 +02:00
Andreas Rheinhardt
5ec9d26b2b
avcodec/mpegvideo: Don't use ScanTable where unnecessary
...
For the intra_[hv]_scantables, only ScanTable.permutated
is used, so one only needs to keep that.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 01:23:59 +02:00
Andreas Rheinhardt
33b838aad6
avcodec/mpegvideo: Move ASM-offset warning to its proper place
...
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:16 +02:00
Andreas Rheinhardt
b76f07b8c3
avcodec/eatgq: Move transient GetByteContext from context to stack
...
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:15 +02:00
Andreas Rheinhardt
7f45691769
avcodec/idctdsp: Move ScanTable to mpegvideo
...
Only used there.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:14 +02:00
Andreas Rheinhardt
de133d22da
avcodec/wmv2dec: Remove unnecessary ScanTables
...
Only ScanTable.scantable is used for the abt_scantables.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:13 +02:00
Andreas Rheinhardt
da93e4fb27
avcodec/speedhqdec: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:12 +02:00
Andreas Rheinhardt
69f46ff586
avcodec/mjpegenc_common: Only pass what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:11 +02:00
Andreas Rheinhardt
3cdfb146b2
avcodec/mjpegdec: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:10 +02:00
Andreas Rheinhardt
5975bb7f81
avcodec/mimic: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:09 +02:00
Andreas Rheinhardt
60c3516941
avcodec/mdec: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:08 +02:00
Andreas Rheinhardt
ec2b07db79
avcodec/intrax8: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:07 +02:00
Andreas Rheinhardt
9f64b06758
avcodec/g2meet: Pre-permute quantization tables
...
Allows to avoid a permutation lateron.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:06 +02:00
Andreas Rheinhardt
f1a7bf0227
avcodec/g2meet: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:05 +02:00
Andreas Rheinhardt
250d556343
avcodec/cavs: Only keep what is needed from IDCTDSP-API
...
Namely ScanTable.permutated. The rest of the IDCTDSP-API
is unused as cavs has its own idct.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:03 +02:00
Andreas Rheinhardt
b1bcff3ac0
avcodec/dnxhddec: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:02 +02:00
Andreas Rheinhardt
1da5da19b1
avcodec/asvdec: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:01 +02:00
Andreas Rheinhardt
0702fefd88
avcodec/agm: Only keep what is used from ScanTable
...
Namely ScanTable.permutated.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:47:00 +02:00
Andreas Rheinhardt
ee0e03fe77
avcodec/idctdsp: Add function to apply permutation to array
...
It is the part of ff_init_scantable() that is used
by all users of said function.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:59 +02:00
Andreas Rheinhardt
0d53d92e3a
avcodec/imm4: Remove useless ScanTable
...
Also rename the scantable variable to idct_permutation
to better reflect what it actually is.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:58 +02:00
Andreas Rheinhardt
4c9dee6e8d
avcodec/aic: Remove useless ScanTable
...
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:56 +02:00
Andreas Rheinhardt
3cabe958a7
avcodec/eatqi: Don't use IDCTDSP-API unnecessarily
...
The eatqi decoder uses a custom IDCT and actually does not
use the IDCTDSP API at all. Somehow it was nevertheless
used to simply apply the identity permutation on ff_zigzag_direct.
This commit stops doing so.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:53 +02:00
Andreas Rheinhardt
a8f34f0877
avcodec/eatgq: Don't use IDCTDSP-API unnecessarily
...
The eatgq decoder uses a custom IDCT and actually does not
use the IDCTDSP API at all. Somehow it was nevertheless
used to simply apply the identity permutation on ff_zigzag_direct.
This commit stops doing so. It also renames perm to scantable,
because it is only the scantable as given by the spec without
any further permutation performed by us.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:49 +02:00
Andreas Rheinhardt
c262245fd3
avcodec/eamad: Don't use IDCTDSP-API unnecessarily
...
The eamad decoder uses a custom IDCT and actually does not
use the IDCTDSP API at all. Somehow it was nevertheless
used to simply apply the identity permutation on ff_zigzag_direct.
This commit stops doing so.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:46:39 +02:00
Andreas Rheinhardt
ba85e0ce41
configure: Add idctdsp dependency to codecs that need it
...
Currently masked by faan.
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-24 00:15:03 +02:00
Andreas Rheinhardt
a14c5af58d
avcodec/snowenc: Fix invalid left shift of negative numbers
...
Affected the vsynth(1|2|_lena)-snow(|-hpel) tests.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-23 23:42:17 +02:00
Carl Eugen Hoyos
882a17068f
lavu/hwcontext_vaapi: Fix type specifier for uintptr_t
...
Fixes a format specifier warning on x86_32 Linux.
Fixes part of ticket #9986 .
2022-10-23 20:51:42 +02:00
Carl Eugen Hoyos
fc410ce572
lavf/hevc: Fix type specifiers, missed in 8b5d1553
...
Fixes several warnings with msvc:
warning: format specifies type 'unsigned char' but the argument has type 'unsigned int'
2022-10-23 20:45:25 +02:00
Takeshi (Kesh) Ikuma
65f96a965a
avfilter/vf_curves: add PCHIP interpolator and interp option
...
summary: This patch modifies the `curves` filter with new `interp` option
to let user pick the existing natural cubic spline interpolation
and the new PCHIP interapolation.
reason: The natural cubic spline does not impose monotonicity between
the keypoints. As such, the fitted curve may vary wildly against
user's intension. The PCHIP interpolation is not as smooth as
the natural spline but guarantees the monotonicity. Providing
both options enhances users experience (e.g., reduces the number
of keypoints to realize the desired curve). See the related bug
report for the example of an ill-interpolated curve.
alternate solution:
Both Photoshop and GIMP appear to use monotonic interpolation in
their curve tools, which were the models for this filter. As
such, an alternate solution is to drop the natural spline and
go without the `interp` option.
related bug report: https://trac.ffmpeg.org/ticket/9947 (filed by myself)
Signed-off-by: Takeshi (Kesh) Ikuma <tikuma@hotmail.com >
2022-10-22 19:35:44 +02:00
Andreas Rheinhardt
993e3a6b54
avocdec/cbs_internal: Rename CBS_MAX_UNIT_TYPES->CBS_MAX_LIST_UNIT_TYPES
...
This makes it clearer that this limit does not apply to
CBS_UNIT_TYPE_RANGE units.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-22 17:35:56 +02:00
Andreas Rheinhardt
543ef831a8
avcodec/cbs: Remove CBS_CONTENT_TYPE_POD
...
It is equivalent to CBS_CONTENT_TYPE_INTERNAL_REFS
with nb_offsets equal to zero.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-22 17:28:01 +02:00
Paul B Mahol
ff3c708686
avfilter/vf_fftdnoiz: improve filtering at edges
2022-10-22 12:04:43 +02:00
Andreas Rheinhardt
ff3c4705f6
avcodec/speedhqdec: Remove write-only AVCodecContext*
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
7894d4c9fa
avcodec/metasound: Remove unnecessary headers
...
They are used in twinvq.c, not in metasound.c.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
0d1028f63f
avcodec/speedhq: Rename file to speedhqdec.c, move ff_rl_speedhq out
...
Renaming the decoder to speedhqdec.c makes sense since
we have an encoder in speedhqenc.c. Given that ff_rl_speedhq
is also used by the encoder, it is kept in speedhq.c
and a proper header for it is created to replace the ad-hoc
declaration in speedhqenc.c. This also allows to remove
the check for CONFIG_SPEEDHQ_DECODER, as it is always true
when speedhqdec.c is compiled.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
1490ba6f41
avcodec/metasound: Remove always-false checks
...
The number of channels that is checked here is automatically
valid because it has just been set by us (based upon an entry
in codec_props).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
d94a445e3d
avcodec/cyuv: Remove useless private context
...
It just contains duplicates of values from AVCodecContext
as well as an write-only pointer to said AVCodecContext.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
20a1296bb4
avcodec/nvdec_mjpeg: Remove always-true #if CONFIG_MJPEG_NVDEC_HWACCEL
...
This file is built iff said hwaccel is enabled.
Reviewed-by: Philip Langdale <philipl@overt.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
f18f8a561c
avcodec/speedhqenc: Remove always-true #if CONFIG_SPEEDHQ_ENCODER
...
This file is built iff the SpeedHQ encoder is enabled.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Andreas Rheinhardt
1132007d3c
avformat/mj2kdec: Remove always-true #if CONFIG_MJPEG_2000_DEMUXER
...
This file is built iff the MJPEG 2000 demuxer is enabled.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2022-10-21 21:12:45 +02:00
Paul B Mahol
da4ff1d536
avfilter/vf_maskedthreshold: implement diff mode
...
To be useful for adaptive thresholding with threshold filter.
2022-10-21 20:11:14 +02:00
Chema Gonzalez
a1a87b7a24
avformat/yuv4mpegdec: increase header limit
...
Allows demuxing UHD F1000000000:33333333 fps yuvj420p files
ffmpeg (at HEAD as of now) is creating this:
```
$ ffmpeg -y -i source.265 /tmp/foo.y4m >& /dev/null
...
$ xxd /tmp/raw.y4m |less
00000000: 5955 5634 4d50 4547 3220 5731 3932 3020 YUV4MPEG2 W1920
00000010: 4831 3038 3020 4631 3030 3030 3030 3030 H1080 F100000000
00000020: 303a 3333 3333 3333 3333 2049 7020 4130 0:33333333 Ip A0
00000030: 3a30 2043 3432 306d 7065 6732 2058 5953 :0 C420mpeg2 XYS
00000040: 4353 533d 3432 304d 5045 4732 2058 434f CSS=420MPEG2 XCO
00000050: 4c4f 5252 414e 4745 3d4c 494d 4954 4544 LORRANGE=LIMITED
00000060: 0a46 5241 4d45 0a82 8282 8282 8282 8282 .FRAME..........
...
```
Which cannot be parsed by the same ffmpeg decoder:
```
$ ffmpeg -i /tmp/foo.y4m /tmp/bar.y4m
...
[yuv4mpegpipe @ 0x2b69a40] Header too large.
/tmp/foo.y4m: Invalid argument
```
This is kicking the ball (per 0b1ff3265e
),
but seems to work.
2022-10-21 20:11:14 +02:00
Anton Khirnov
4cfffdd551
fftools/ffmpeg: rename read_file() to avoid conflict with libass
...
libass defines a non-static read_file() symbol, which causes conflicts
with static linking.
2022-10-21 10:13:16 +02:00
Michael Niedermayer
9184d3d7b6
avcodec/speedhq: Check buf_size to be big enough for DC
...
Fixes: Timeout
Fixes: 51919/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SPEEDHQ_fuzzer-6023716480090112
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-10-20 21:42:21 +02:00
Michael Niedermayer
148b98a429
tools/target_dec_fuzzer: Adjust threshold for FFV1
...
Fixes: Timeout
Fixes: 49446/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-5085639783088128
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2022-10-20 21:42:21 +02:00