Andreas Rheinhardt
f02f948ed0
avcodec/wmv2dsp: Modify IDCTDSPContext directly
...
This allows to remove ff_wmv2_common_init() altogether.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2026-01-02 18:39:48 +01:00
Tomasz Szumski
08db850159
avcodec: add JPEG-XS decoder and encoder using libsvtjpegxs
...
Co-Authored-by: James Almer <jamrial@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2025-12-13 19:00:35 -03:00
James Almer
52c097065c
avcodec: add a JPEG-XS parser
...
Signed-off-by: James Almer <jamrial@gmail.com >
2025-12-13 18:45:17 -03:00
Andreas Rheinhardt
f397fe86c3
avcodec/vp56dsp: Separate VP5DSP and VP6DSP
...
They don't have anything in common since
160ebe0a8d .
Reviewed-by: Lynne <dev@lynne.ee >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-11-27 12:10:29 +01:00
Zhao Zhili
61b034a47c
avcodec/rkmppenc: add h264/hevc rkmpp encoder
...
Bump rockchip_mpp to 1.3.8.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com >
2025-11-27 15:54:49 +08:00
Lynne
531ce713a0
dpxdec: add a Vulkan hwaccel
2025-11-26 15:16:43 +01:00
Araz Iusubov
92f2f9ea5c
avcodec/d3d12va_encode: D3D12 AV1 encoding support
...
Implement AV1 hardware encoding
using Direct3D 12 Video API (D3D12VA).
2025-11-26 09:58:44 +00:00
Andreas Rheinhardt
b497de698c
avcodec/Makefile: Remove mpegvideo_parser->mpeg12.o dependency
...
Forgotten in 3ceffe7839 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-11-21 11:55:09 +01:00
Andreas Rheinhardt
2586763376
avcodec/mpeg12: Inline ff_mpeg1_clean_buffers() into its callers
...
This function is extremely small, so inlining it is appropriate (and
actually beneficial size-wise here). It furthermore allows to remove
the mpeg12codecs.h header and the mpeg12-encoders->mpeg12.o dependency.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-11-21 11:55:09 +01:00
Andreas Rheinhardt
8e90f150eb
avcodec/decode: Optimize lcevc away if disabled
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-11-02 16:50:36 +01:00
averne
23df9d4172
avcodec/prores: add parser
...
Introduce a basic parser for ProRes frame headers.
This avoid having to decode an entire frame to
extract codec information.
2025-10-25 19:56:44 +00:00
averne
98412edfed
lavc: add a ProRes Vulkan hwaccel
...
Add a shader-based Apple ProRes decoder.
It supports all codec features for profiles up to
the 4444 XQ profile, ie.:
- 4:2:2 and 4:4:4 chroma subsampling
- 10- and 12-bit component depth
- Interlacing
- Alpha
The implementation consists in two shaders: the
VLD kernel does entropy decoding for color/alpha,
and the IDCT kernel performs the inverse transform
on color components.
Benchmarks for a 4k yuv422p10 sample:
- AMD Radeon 6700XT: 178 fps
- Intel i7 Tiger Lake: 37 fps
- NVidia Orin Nano: 70 fps
2025-10-25 19:54:13 +00:00
Araz Iusubov
d19b7c283c
avcodec/d3d12va_encode: D3D12 H264 encoding support
...
This patch introduces hardware-accelerated H.264 encoding
using Direct3D 12 Video API (D3D12VA).
2025-10-18 12:20:11 +00:00
Andreas Rheinhardt
dad06a445f
avcodec/Makefile: Remove h263 decoder->mpeg4videodec.o dependency
...
Also prefer using #if CONFIG_MPEG4_DECODER checks in order not
to rely on DCE.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-10-11 07:51:01 +02:00
Andreas Rheinhardt
0035d99c61
configure: Avoid mpeg4video_parser->{h263,qpel}dsp dependency
...
This can be easily achieved by moving code only used by the MPEG-4
decoder behind #if CONFIG_MPEG4_DECODER.
Reviewed-by: James Almer <jamrial@gmail.com >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-10-04 07:06:32 +02:00
Stadelmann, Daniel
56c14f2311
avcodec/libmpeghdec: add MPEG-H 3DA Fraunhofer IIS mpeghdec decoder
...
Adds a wrapper around the Fraunhofer IIS MPEG-H 3D Audio mpeghdec [1]
decoder shared library.
[1] https://github.com/Fraunhofer-IIS/mpeghdec
Signed-off-by: Stadelmann, Daniel <daniel.stadelmann@iis.fraunhofer.de >
2025-09-24 08:25:42 +02:00
Paul B Mahol
066432ebcf
avcodec: add ADPCM IMA Escape audio decoder
...
(cherry picked from commit 4a663e78c4421da226e7d480d6767de803ee2122)
2025-09-22 23:46:29 +00:00
Paul B Mahol
5d6c9a15eb
avcodec: add ADPCM Circus decoder
...
(cherry picked from commit cdd3d794c7e01e4d6f485e7b975a4b9107d3f2fd)
2025-09-22 23:46:29 +00:00
Paul B Mahol
f6dfb20302
avcodec: add ADPCM PSXC audio decoder
...
(cherry picked from commit a4055b5cc6d77c26867948e24de6bdfd5c0e6a3b)
2025-09-22 23:46:29 +00:00
Paul B Mahol
30fc5b1baa
avcodec: add ADPCM IMA Magix decoder
...
(cherry picked from commit 2ec3ad2122484ce2c84f6ba055c5ebc1661c5b14)
2025-09-22 23:46:29 +00:00
Paul B Mahol
58c0711fca
avcodec: add ADPCM IMA HVQM2 decoder
...
(cherry picked from commit 480e36592d5fc27a47e378d62570824613f26b7b)
2025-09-22 23:46:29 +00:00
Paul B Mahol
5fc9c79f53
avcodec: add ADPCM Silicon Graphics N64 decoder
...
(cherry picked from commit 13484237fdf19c9d927b8a64b81d00100a4178c3)
2025-09-22 23:46:29 +00:00
Paul B Mahol
648b5d017d
avcodec: add ADPCM IMA PDA decoder
...
(cherry picked from commit ab9f7513d55cfd87d1a1ce22d02abffbfb9bb296)
2025-09-22 23:46:29 +00:00
Paul B Mahol
424dbb03ae
avcodec: add ADPCM IMA HVQM4 decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
(cherry picked from commit bae3cecfa6f1fbc765d95d84ef4a377aedbca8bb)
2025-09-22 23:46:29 +00:00
Paul B Mahol
e95171fbff
avcodec: add AHX parser
...
(cherry picked from commit ddcb47c4c512bf49b22cc6b2d07fade0f96377e3)
2025-09-22 23:46:29 +00:00
Paul B Mahol
b2e821310b
avcodec: add AHX decoder
...
(cherry picked from commit 039dc23d185214b8b0ef2bbccae197ceb5ad42a2)
2025-09-22 23:46:29 +00:00
Andreas Rheinhardt
f49de7018a
avcodec/Makefile: Add adpcm_vima->adpcm.o dependency
...
Forgotten in 9141fe9653 .
Reviewed-by: Peter Ross <pross@xvid.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-09-12 17:11:26 +02:00
Andreas Rheinhardt
2611874a50
avcodec/cbrt_tablegen: Deduplicate common code
...
Namely the part that creates a temporary LUT.
Reviewed-by: Zhao Zhili <quinkblack@foxmail.com >
Reviewed-by: Lynne <dev@lynne.ee >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-09-04 10:15:09 +02:00
Frank Plowman
673f28b6cb
lavc/Makefile: Make exif.o compulsory
...
av_exif_* functions are part of libavcodec's public API since
ad77345a5d , so the EXIF objects can't
be disabled.
Fixes compilation with --disable-everything.
2025-08-22 22:44:07 +00:00
Leo Izen
ad77345a5d
avcodec/exif: add EXIF parser and struct API
...
This commit adds a structure to contain parsed EXIF metadata, as well
as code to read and write that struct from/to binary EXIF buffers. Some
internal functions have been moved to exif_internal.h. Code to read
from this new struct and write to an AVDictionary **dict has been added
as well in order to preserve interoperability with existing callers.
The only codec changes so far as of this commit are to call these
interop functions, but in future commits there will be codec changes to
use the new parsing routines instead.
Signed-off-by: Leo Izen <leo.izen@gmail.com >
2025-08-19 11:26:46 -04:00
Kacper Michajłow
3ab9eebba7
avcodec/Makefile: add missing dependency for prores raw decoder (again)
...
proresdata.o is also needed, missed in a9e7b5aa07
Signed-off-by: Kacper Michajłow <kasper93@gmail.com >
2025-08-14 18:06:49 +02:00
Kacper Michajłow
a9e7b5aa07
avcodec/Makefile: add missing dependency for prores raw decoder
...
Signed-off-by: Kacper Michajłow <kasper93@gmail.com >
2025-08-14 04:43:16 +02:00
Jacob Lifshay
1c85a3832a
lavc: add API for manipulating SMPTE-436M VBI/ANC data
...
Signed-off-by: Jacob Lifshay <programmerjake@gmail.com >
2025-08-08 03:04:42 -07:00
Lynne
75aeffb1c6
lavc: add a ProRes RAW Vulkan hwaccel
...
This commit adds a ProRes RAW hardware implementation written in Vulkan.
Both version 0 and version 1 streams are supported.
The implementation is highly parallelized, with 512 invocations dispatched
per every tile, with generally 4k tiles on a 5.8k stream.
Thanks to unlord for the 8-point iDCT.
Benchmark for a generic 5.8k RAW HQ file:
6900XT: 63fps
7900XTX: 84fps
6000 Ada: 120fps
Intel: 9fps
2025-08-08 18:29:41 +09:00
Lynne
589b3ed943
lavc: add a ProRes RAW decoder
2025-08-08 18:29:41 +09:00
Lynne
b2928971e8
lavc: add an av1_vulkan encoder
...
This commit adds a Vulkan AV1 encoder, using the native acceleration API.
2025-08-08 18:29:40 +09:00
Lynne
2caf23e7c4
vp9: add Vulkan VP9 hwaccel
2025-08-08 18:29:40 +09:00
Lynne
5ff2886e9a
lavc: add a ProRes RAW parser
...
Simple parser that only parses frame information.
This helps avoid requiring the software decoder on init to decode a
single frame, since the decoder can be quite slow.
2025-08-08 01:06:11 +09:00
Zhao Zhili
fa0080bf2e
avcodec/ohenc: Add h264/hevc OpenHarmony encoders
2025-07-18 14:45:13 +08:00
Zhao Zhili
e7f44f8cd8
avcodec/ohdec: Add h264/hevc OpenHarmony decoders
2025-07-18 14:45:13 +08:00
Peter Ross
0fe9f25e76
avcodec/adpcm: Sanyo LD-ADPCM decoder
2025-07-04 17:07:53 +10:00
nyanmisaka
b2c0d37be5
avcodec/amfdec: Add VP9 AMF decoder
2025-06-26 13:48:15 +02:00
Peter Ross
a107340035
avcodec/g728dec: G.728 decoder
2025-06-23 17:16:42 +10:00
Andreas Rheinhardt
6f84160b82
configure: Relax snowenc->mpegvideoenc dependency
...
It only needs mpegvideoencdsp, motion_est.o and ratecontrol.o.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-06-21 22:08:52 +02:00
Andreas Rheinhardt
8764b21048
configure: Relax svq1enc->mpegvideoenc dependency
...
It only needs mpegvideoencdsp, motion_est.o and
some H.263 specific parts.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-06-21 22:08:52 +02:00
Andreas Rheinhardt
9b409ea1e6
configure: Factor mpegvideoencdsp out of mpegvideoenc
...
This will allow to relax the dependency on mpegvideoenc
for several codecs.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-06-21 22:08:52 +02:00
Peter Ross
2663d97336
configure: add celp_math component
...
libavcodec/tests/celp_math depends on libavcodec/celp_math.o
This fixes fate when configuring with --disable-everything
2025-06-17 16:39:36 +10:00
Andreas Rheinhardt
f0e1a315a1
avcodec/iirfilter: Remove iirfilter, psy-preprocessing
...
The iirfilter is only used in its test tool since
01ecb7172b which
stopped using it in AAC, its only user.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-06-06 17:21:31 +02:00
Andreas Rheinhardt
7927ac63ef
avcodec/Makefile: Only compile hashtable.o when needed
...
Reviewed-by: Emma Worley <emma@emma.gg >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-06-04 14:56:54 +02:00
Emma Worley
6fdb54ddee
lavc/hashtable: create generic robin hood hash table
...
Adds a generic hash table with the DXV encoder as an initial use case.
Signed-off-by: Emma Worley <emma@emma.gg >
2025-06-02 20:51:27 -07:00