Sorry, I forgot to run make fate on the split patches, and I used the wrong capabilities for the decoder. I have attached a modified patch that removes AV_CODEC_CAP_VARIABLE_FRAME_SIZE from the decoder capabilities. Let me know if you'd like a full v3 patch email instead. On 2/25/22 18:43, Jack Bruienne wrote: > > 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. > > 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. It will streamline the process > for importing 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 " 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 > --- >  Changelog                 |   1 + >  MAINTAINERS               |   1 + >  doc/general_contents.texi |   1 + >  libavcodec/Makefile       |   2 + >  libavcodec/allcodecs.c    |   2 + >  libavcodec/codec_desc.c   |   7 +++ >  libavcodec/codec_id.h     |   1 + >  libavcodec/dfpwmdec.c     | 129 ++++++++++++++++++++++++++++++++++++++ >  libavcodec/dfpwmenc.c     | 123 ++++++++++++++++++++++++++++++++++++ >  libavcodec/utils.c        |   2 + >  libavcodec/version.h      |   2 +- >  11 files changed, 270 insertions(+), 1 deletion(-) >  create mode 100644 libavcodec/dfpwmdec.c >  create mode 100644 libavcodec/dfpwmenc.c >