Commit Graph

57 Commits

Author SHA1 Message Date
Antoine Soulier via ffmpeg-devel 240fd04db2 avcodec/liblc3: add encoding/decoding support of LC3 audio codec
The LC3 audio codec is the default codec of Bluetooth LE audio.
This is a wrapper over the liblc3 library (https://github.com/google/liblc3).

Signed-off-by: Antoine Soulier <asoulier@google.com>
2024-04-04 17:47:31 +02:00
James Almer 9ee59b63f5 avcodec: remove deprecated FF_API_AYUV_CODECID
Signed-off-by: James Almer <jamrial@gmail.com>
2024-03-07 08:53:29 -03:00
Paul B Mahol 3609d2b783 avcodec: add QOA decoder 2023-11-26 17:49:09 +01:00
Peter Ross 10869cd849 avcodec: LEAD MCMP decoder
Partially fixes ticket #798

Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Peter Ross <pross@xvid.org>
2023-11-08 17:37:58 +11:00
Paul B Mahol 7ef9d31071 avcodec: add OSQ audio decoder 2023-09-01 14:26:47 +02:00
Paul B Mahol 2bc65003e2 avcodec: AC-4 codec registration 2023-06-20 01:11:31 +02:00
Paul B Mahol 2d59ca0a66 avcodec: add VMX1 decoder 2023-06-12 23:43:05 +02:00
Paul B Mahol f11515c77f avcodec: add RTV1 decoder 2023-06-07 09:00:18 +02:00
Dawid Kozinski 637afea88e avcodec: MPEG-5 EVC codec registration
Added prerequisites that must be met before providing support for the MPEG-5 EVC codec
- Added new entry to codec IDs list
- Added new entry to the codec descriptor list
- Bumped libavcodec minor version
- Added profiles for EVC codec

Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-05-29 11:38:21 -03:00
Paul B Mahol 40bae5be5e avcodec: add PDV decoder 2023-04-20 15:44:38 +02:00
Devin Heitmueller 0d3a2f9370 avcodec: add SMPTE 2038 VANC data codec used in MPEG-TS streams
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-03-26 18:51:25 +02:00
Paul B Mahol b8c0802156 avcodec: add RKA decoder 2023-02-11 21:26:37 +01:00
Paul B Mahol 651da91915 avcodec: add WavArc decoder 2023-02-04 09:36:01 +01:00
Anton Khirnov e3a99041b8 lavc: add null codecs
They discard all input without ever returning any output. Useful for
development.
2023-01-31 09:00:56 +01:00
Paul B Mahol 280e6e93fc avcodec: add ADPCM XMD decoder 2023-01-30 20:57:37 +01:00
Paul B Mahol 01343683fa avcodec: add CBD2 DPCM decoder 2023-01-27 19:45:36 +01:00
Paul B Mahol c5a545cff8 avcodec: add WADY DPCM decoder 2023-01-24 16:58:01 +01:00
Peter Ross 3141dbb7ad avcodec: ViewQuest VQC decoder
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Reviewed-by: Tomas Härdin <git@haerdin.se>
Signed-off-by: Peter Ross <pross@xvid.org>
2022-10-18 13:20:37 +11:00
Paul B Mahol 4b6b75c752 avcodec: add Media 100i decoder 2022-09-30 19:11:36 +02:00
Paul B Mahol a166b8a19b avcodec: add FTR audio decoder and parser 2022-09-24 14:03:59 +02:00
Paul B Mahol 84f467454b avcodec: add APAC decoder 2022-09-23 20:26:28 +02:00
Paul B Mahol ea93943bee avcodec: add MI-SC4 audio decoder 2022-09-16 10:02:19 +02:00
Paul B Mahol 88170070c4 avcodec: add bonk audio decoder 2022-09-12 11:34:27 +02:00
James Almer 352799dca8 The vuya pixel format was recently added, so this lavc workaround is no longer
needed.

Signed-off-by: James Almer <jamrial@gmail.com>
2022-08-19 22:48:42 -03:00
Peter Ross 23758380d0 avcodec: WBMP (Wireless Application Protocol Bitmap) image format
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Peter Ross <pross@xvid.org>
2022-08-07 19:18:18 +10:00
Paul B Mahol 307ab7fe8a avcodec: add Radiance HDR image format support 2022-07-16 21:43:54 +02:00
Paul B Mahol ff1450e449 avcodec: add PHM decoder and encoder 2022-07-03 15:16:31 +02:00
Paul B Mahol 973fab5653 avcodec: add QOI decoder and demuxer and parser and encoder and muxer 2022-06-05 13:06:54 +02:00
Leo Izen 0008c15956 avcodec/jpegxl: add Jpeg XL image codec
This commit adds support to libavcodec to read
encoded Jpeg XL images. Jpeg XL is intended to be an
extended-life replacement to legacy mjpeg.
2022-04-23 19:51:46 +02:00
Marton Balint 013d774e22 avcodec/vbndec: add VBN decoder
Add support for decoding Vizrt Binary Image (VBN) files.

LZW-compressed data is not supported yet.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-04-10 20:12:23 +02:00
Jack Bruienne 39a33038ce avcodec: add DFPWM1a codec
From the wiki page (https://wiki.vexatos.com/dfpwm):
> DFPWM (Dynamic Filter Pulse Width Modulation) is an audio codec
> created by Ben “GreaseMonkey” Russell in 2012, originally to be used
> as a voice codec for asiekierka's pixmess, a C remake of 64pixels.
> It is a 1-bit-per-sample codec which uses a dynamic-strength one-pole
> low-pass filter as a predictor. Due to the fact that a raw DPFWM decoding
> creates a high-pitched whine, it is often followed by some post-processing
> filters to make the stream more listenable.

It has recently gained popularity through the ComputerCraft mod for
Minecraft, which added support for audio through this codec, as well as
the Computronics expansion which preceeded the official support. These
both implement the slightly adjusted 1a version of the codec, which is
the version I have chosen for this patch.

This patch adds a new codec (with encoding and decoding) for DFPWM1a.
The codec sources are pretty simple: they use the reference codec with
a basic wrapper to connect it to the FFmpeg AVCodec system.

To clarify, the codec does not have a specific sample rate - it is
provided by the container (or user), which is typically 48000, but has
also been known to be 32768. The codec does not specify channel info
either, and it's pretty much always used with one mono channel.
However, since it appears that libavcodec expects both sample rate and
channel count to be handled by either the codec or container, I have
made the decision to allow multiple channels interleaved, which as far
as I know has never been used, but it works fine here nevertheless. The
accompanying raw format has a channels option to set this. (I expect
most users of this will not use multiple channels, but it remains an
option just in case.)

This patch will be highly useful to ComputerCraft developers who are
working with audio, as it is the standard format for audio, and there
are few user-friendly encoders out there, and even fewer decoders. It
will streamline the process for importing and listening to audio,
replacing the need to write code or use tools that require very
specific input formats.

You may use the CraftOS-PC program (https://www.craftos-pc.cc) to test
out DFPWM playback. To use it, run the program and type this command:
"attach left speaker" Then run "speaker play <file.dfpwm>" for each file.
The app runs in a sandbox, so files have to be transferred in first;
the easiest way to do this is to simply drag the file on the window.
(Or copy files to the folder at https://www.craftos-pc.cc/docs/saves.)

Sample DFPWM files can be generated with an online tool at
https://music.madefor.cc. This is the current best way to encode DFPWM
files. Simply drag an audio file onto the page, and it will encode it,
giving a download link on the page.

I've made sure to update all of the docs as per Developer§7, and I've
tested it as per section 8. Test files encoded to DFPWM play correctly
in ComputerCraft, and other files that work in CC are correctly decoded.
I have also verified that corrupt files do not crash the decoder - this
should theoretically not be an issue as the result size is constant with
respect to the input size.

Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-10 14:05:25 +01:00
Peter Ross 60a9d3778f avcodec: GEM Raster image decoder
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Peter Ross <pross@xvid.org>
2021-10-08 20:37:36 +11:00
Peter Ross c655a734b1 avcodec/siren: MSN Siren decoder
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Peter Ross <pross@xvid.org>
2021-09-07 18:07:11 +10:00
Anton Khirnov 881db34f6a lavc: move av_get_pcm_codec() from avcodec.h to codec_id.h 2021-06-10 16:51:44 +02:00
Anton Khirnov 2628dff366 lavc: move avcodec_profile_name() from avcodec.h to codec_id.h 2021-06-10 16:51:44 +02:00
Anton Khirnov 000f35125f lavc: move av_get_[exact_]bits_per_sample() to codec_id.h 2021-06-10 16:51:44 +02:00
Cameron Cawley 5c7313c740
avcodec: Implement Acorn Replay IMA ADPCM decoder
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2021-05-09 17:01:27 +10:00
James Almer d055af5e7b avcodec/codec_id: remove unnecessary offsets from AVCodecID
They are no longer required.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-05-04 16:19:59 -03:00
Paul B Mahol 6b43e1a86c avcodec: add SGA Video decoder 2021-03-01 17:36:42 +01:00
Paul B Mahol 5111707df6 avcodec: add SGA PCM decoder 2021-03-01 17:36:16 +01:00
Paul B Mahol 8651bf8a2e avcodec: add Simbiosis IMX video decoder 2021-02-20 17:42:00 +01:00
Nuo Mi ebdd33086a avcodec: add vvc codec id and profiles
Signed-off-by: James Almer <jamrial@gmail.com>
2021-01-11 17:01:34 -03:00
Peter Ross 85b442e231 avcodec/msp2dec: Microsoft Paint (MSP) version 2 decoder
Signed-off-by: Peter Ross <pross@xvid.org>
2020-12-06 19:51:45 +11:00
Paul B Mahol 283f950a65 avcodec: add Cintel RAW decoder 2020-10-07 22:16:09 +02:00
hwren 8e74d98a29 lavc: add AVS3 codec id and desc
Signed-off-by: hbj <hanbj@pku.edu.cn>
Signed-off-by: hwren <hwrenx@126.com>
2020-10-05 23:10:13 +08:00
Paul B Mahol a3a6b56200 avcodec: add Argonaut Games Video decoder 2020-09-27 09:56:13 +02:00
Paul B Mahol 5c2d7acb4f avcodec: add IPU Video decoder and parser 2020-09-24 13:33:29 +02:00
Paul B Mahol c8e38950e3 avcodec: add PhotoCD decoder 2020-09-04 16:01:53 +02:00
Paul B Mahol 7f95339319 avcodec: add MobiClip video decoder 2020-09-03 18:09:30 +02:00
Paul B Mahol 1304078d3c avcodec: add FastAudio decoder 2020-09-03 18:07:58 +02:00