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
Wu Jianhua
a8d949bd96
avcodec/vvc/dec: support applying film grain by the decoder
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com >
2025-05-31 09:35:54 +08:00
Wu Jianhua
ab5df96cef
avcodec/vvc: support decoding prefix and suffix nal units
...
Signed-off-by: Wu Jianhua <toqsxw@outlook.com >
2025-05-31 09:35:54 +08:00
Mark Thompson
1ad57a847e
lavc: Add unit test for APV entropy decode
2025-05-13 19:37:53 +01:00
Dawid Kozinski
fab691edaf
avcodec: add APV encoder using liboapv
...
Co-authored-by: James Almer <jamrial@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2025-05-04 16:21:35 -03:00
James Almer
c4ea4abec2
avcodec: add an APV parser
...
Signed-off-by: James Almer <jamrial@gmail.com >
2025-05-01 22:42:34 -03:00
Mark Thompson
483cadf8d7
lavc: APV decoder
2025-04-27 15:52:30 +01:00
Mark Thompson
821717c3fe
lavc/cbs: APV support
2025-04-27 15:52:30 +01:00
Andreas Rheinhardt
db75955d60
avcodec/mpegaudioenc_{fixed,float}: Merge encoders
...
Most of the encoders is the same. So deduplicate them.
This reduces code size from 22410B to 12637B here.
The data in mpegaudiotab.h is also automatically deduplicated.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-04-13 22:49:21 +02:00
Andreas Rheinhardt
e38616c4ac
avcodec/hq{xvlc,_hqadata}: Deduplicate and hardcode cbp table
...
This table is so small (32 elements amounting to 128 bytes)
that it is more efficient size-wise to hardcode it instead
of initializing it at runtime.
Also stop duplicating it in hq_hqa.o and hqx.o.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-04-13 08:14:51 +02:00
Andreas Rheinhardt
ca48e7bb70
avcodec/sbcdsp_data: Make data static
...
This data is only used by sbcdsp.c, so delete sbcdsp_data.h,
make a header out of sbcdsp_data.c and make the data contained
therein static.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-04-02 09:25:46 +02:00
Andreas Rheinhardt
0ccf385e13
avutil/float_dsp: Unavpriv avpriv_scalarproduct_float_c()
...
Not worth the overhead of exporting it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2025-03-28 14:33:08 -03:00
James Almer
84c64e079c
avcodec: remove deprecated FF_API_AVFFT
...
Deprecated since 2023-09-01.
Signed-off-by: James Almer <jamrial@gmail.com >
2025-03-28 14:33:07 -03:00
Andreas Rheinhardt
63864545cd
avcodec/mpegvideo: Move unquantize functions into a file of their own
...
This is in preparation for only keeping the actually used
unquantize functions in MpegEncContext.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2025-03-26 04:14:49 +01:00