An abstract soundfile decoder.

Related tags

Audio audio sdl2
Overview
SDL_sound. An abstract soundfile decoder.

SDL_sound is a library that handles the decoding of several popular sound file
 formats, such as .WAV and .MP3. It is meant to make the programmer's sound
 playback tasks simpler. The programmer gives SDL_sound a filename, or feeds
 it data directly from one of many sources, and then reads the decoded
 waveform data back at her leisure. If resource constraints are a concern,
 SDL_sound can process sound data in programmer-specified blocks. Alternately,
 SDL_sound can decode a whole sound file and hand back a single pointer to the
 whole waveform. SDL_sound can also handle sample rate, audio format, and
 channel conversion on-the-fly and behind-the-scenes, if the programmer
 desires.

Please check the website for the most up-to-date information about SDL_sound:
   https://icculus.org/SDL_sound/

SDL_sound _REQUIRES_ Simple Directmedia Layer (SDL) 2.x to function, and cannot
 be built without it. You can get SDL from https://www.libsdl.org/.  Reports of
 success or failure are welcome.

Current versions of SDL_sound do not use any external libraries for decoding
 various file formats. All needed decoder source code is included with the
 library. Unless explicitly disabled during initial build configuration,
 SDL_sound always supports the following file formats internally:

 - Wave (.WAV) files
 - MPEG-1 layers I-III (.MP3, .MP2, .MP1)
 - Ogg Vorbis (.OGG) files
 - Free Lossless Audio Codec (.FLAC) files
 - Audio Interchange format (.AIFF) files
 - Sun/NeXT Audio (.AU) files
 - Shorten (.SHN) files
 - Creative Labs Voice (.VOC) files
 - Various "module" formats (.MOD, .669, .AMF, .XM, .IT, .S3M, .STM, etc)
 - MIDI (.mid) files
 - Raw PCM data
 - (macOS/iOS only) anything that CoreAudio can decode.

Building/Installing:
  Please read docs/INSTALL.txt.

Reporting bugs/commenting:
 There is a mailing list available. Subscription and mailing list archives
 can be found here:

    https://icculus.org/mailman/listinfo/sdlsound

 The mailing list is the best way to get in touch with SDL_sound developers.

--ryan. ([email protected])
Issues
  • "release" tag

    hi there, since the last release goes back several years, and the commit hashes changed since the switch from hg, would you mind doing an occasional tag so distros have something specific they can point to to get a tarball ? it doesn't really matter whether it's a proper release, for example it'd be perfectly fine if current master is tagged as e.g. "v1.0.4-beta1".

    opened by rofl0r 20
  • build: stb_vorbis.h requires -lm

    build: stb_vorbis.h requires -lm

    There is no -lm on the link command for libSDL2_sound.so.2, so the build fails on some systems where -Wl,--as-needed is also used, as the linker no longer scans -lSDL2 > libSDL2.so > libasound.so.2 > libm.so.6.

    [   42s] [ 91%] Linking C shared library libSDL2_sound.so
    [   42s] /usr/bin/cmake -E cmake_link_script CMakeFiles/SDL2_sound.dir/link.txt --verbose=1
    [   42s] /usr/bin/cc -fPIC -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fun
    wind-tables -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -O2 -g -DNDEBUG  -Wl,--as-needed -Wl,--no-undefined 
    -Wl,-z,now -shared -Wl,-soname,libSDL2_sound.so.2 -o libSDL2_sound.so.2.0.1 CMakeFiles/SDL2_sound.dir/src/SDL_sound.c.o CMakeFi
    les/SDL2_sound.dir/src/SDL_sound_aiff.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_au.c.o CMakeFiles/SDL2_sound.dir/src/SDL_soun
    d_coreaudio.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_flac.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_midi.c.o CMakeFiles/SD
    L2_sound.dir/src/SDL_sound_modplug.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_mp3.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_
    raw.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_shn.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_voc.c.o CMakeFiles/SDL2_sound.d
    ir/src/SDL_sound_vorbis.c.o CMakeFiles/SDL2_sound.dir/src/SDL_sound_wav.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/fastmix.c.
    o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_669.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_amf.c.o CMakeFiles/SDL2_s
    ound.dir/src/libmodplug/load_ams.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_dbm.c.o CMakeFiles/SDL2_sound.dir/src/libmod
    plug/load_dmf.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_dsm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_far.c.o C
    MakeFiles/SDL2_sound.dir/src/libmodplug/load_it.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_mdl.c.o CMakeFiles/SDL2_sound
    .dir/src/libmodplug/load_med.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_mod.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug
    /load_mt2.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_mtm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_okt.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_gdm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_psm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_ptm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_s3m.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_stm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_ult.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_umx.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/load_xm.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/mmcmp.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/modplug.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/snd_dsp.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/snd_flt.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/snd_fx.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/sndfile.c.o CMakeFiles/SDL2_sound.dir/src/libmodplug/sndmix.c.o  -L/usr/lib64  -lSDL2 
    [   42s] /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/SDL2_sound.dir/src/SDL_sound_vorbis.c.o: in function `lookup1_values':
    [   42s] /home/abuild/rpmbuild/BUILD/SDL_sound-2.0.1/src/stb_vorbis.h:1283: undefined reference to `exp'
    (openSUSE Leap 15.3)
    
    opened by jengelh 12
  • SDL_sound unable to decode Ogg Vorbis file

    SDL_sound unable to decode Ogg Vorbis file

    This bug report was migrated from our old Bugzilla tracker.

    These attachments are available in the static archive:

    Reported in version: unspecified Reported for operating system, platform: Linux, x86_64

    Comments on the original bug report:

    On 2012-04-21 14:01:30 +0000, Nikos Chantziaras wrote:

    Created attachment 847 Ogg Vorbis file that cannot be decoded

    SDL_sound (current hg stable-1.0) cannot decode the attached file in whole. A part of it is decoded, but at the wrong samplerate. The SOUND_SAMPLEFLAG_ERROR is set in the sample, but Sound_GetError() doesn't return anything.

    SDL_mixer has no problems decoding the file with Mix_LoadWAV_RW, so it's not a problem with the file. SDL_mixer is unsuitable though, because it doesn't support partial decoding; it decodes the whole file in one go.

    libvorbis 1.3.2 libogg 1.3.0

    This is a test program that demonstrates the bug:

    #include <stdio.h>
    #include <SDL_sound.h>
    
    int main(void)
    {
        if (SDL_Init(SDL_INIT_AUDIO) != 0) {
            printf("SDL_Init() failed: %s\n", SDL_GetError());
            return 1;
        }
    
        if (Sound_Init() == 0) {
            printf("Sound_Init() failed: %s\n", Sound_GetError());
            return 1;
        }
    
        SDL_RWops* rw = SDL_RWFromFile("test.ogg", "rb");
        if (rw == 0) {
            printf("ERROR: %s\n", SDL_GetError());
            return 1;
        }
    
        Sound_AudioInfo wantedFormat;
        wantedFormat.channels = 2;
        wantedFormat.rate = 44100;
        wantedFormat.format = AUDIO_S16LSB;
    
        Sound_Sample* sample = Sound_NewSample(rw, "OGG", &wantedFormat, 4096);
        if (sample == 0) {
            printf("ERROR: %s\n", Sound_GetError());
            return 1;
        }
        Sound_DecodeAll(sample);
        if (sample->flags & SOUND_SAMPLEFLAG_ERROR) {
            printf("ERROR: %s\n", Sound_GetError());
        }
    
        Sound_Quit();
        SDL_Quit();
        return 0;
    }
    
    bug 
    opened by SDLBugzilla 8
  • using add_subdirectory for SDL2 and SDL_sound is broken

    using add_subdirectory for SDL2 and SDL_sound is broken

    broken after: https://github.com/icculus/SDL_sound/commit/42c4f200c867cc7681b2e9b96057bb9e90355738

    the problem:

    cmake_push_check_state()
    set(CMAKE_REQUIRED_LIBRARIES ${SDL2_LIBRARIES})
    check_function_exists(SDL_exp HAVE_SDL_EXP)
    cmake_pop_check_state()
    

    once we are in check state we require SDL2_LIBRARIES, but they haven't been built yet - if both SDL2 and SDL_sound have been added using add_subdirectory, CMake will configure everything and then build everything.

    If you are in a system with SDL2 libraries installed, this can be overlooked, as the check will happen with your system SDL2 and then following your project will build with the SDL2 you used add_subdirectory.

    I think add_subdirectory through CMake is a valid config (and it's used by a lot of SDL projects for adding their own dependencies, like SDL_image), and it's really useful for working in platforms that don't have package managers for C libraries like Android and consoles, and also for shipping games with SDL2 configured in a more sane way.

    The error I get:

    -- Looking for SDL_exp
    CMake Error at build_13.2_debug/CMakeFiles/CMakeTmp/CMakeLists.txt:16 (add_executable):
      Target "cmTC_3bc0e" links to target "SDL2::SDL2" but the target was not
      found.  Perhaps a find_package() call is missing for an IMPORTED target, or
      an ALIAS target is missing?
    

    Alternative approaches:

    • leverage pkgconfig to check old sdl2 version, and only act on knowing it's needed
    • figure a check for the symbol in "SDL_stdinc.h", these could happen at config time. (maybe check_prototype_definition ?)
    • use a cmake option that skips this check (quick workaround, also very flexible!)
    if(NOT SDLSOUND_HAVE_SDL_EXP)
    cmake_push_check_state()
    set(CMAKE_REQUIRED_LIBRARIES ${SDL2_LIBRARIES})
    check_function_exists(SDL_exp SDLSOUND_HAVE_SDL_EXP)
    cmake_pop_check_state()
    endif()
    
    opened by ericoporto 6
  • mp3 misses a bit of sound at the end

    mp3 misses a bit of sound at the end

    playsound_simple_mp3.zip

    I am attaching playsound_simple.exe built with the current SDL_sound and SDL2, and a really short test.mp3 file.

    When playing this mp3 file on VLC there's a small bit more of sound you can listen, and when using playsound_simple.exe like

    $> playsound_simple.exe test.mp3
    Now playing [test.mp3]...
    

    I can hear there's a small bit at the end that doesn't play.

    opened by ericoporto 6
  • timidity: Sync with SDL_mixer

    timidity: Sync with SDL_mixer

    This is split out from PR #47.

    It was mentioned there that the values of DEFAULT_VOICES and MAX_VOICES are potentially higher than they need to be. Should these be lowered in SDL_mixer as well?

    opened by ccawley2011 5
  • ugrade to newer versions of dr_flac and dr_mp3

    ugrade to newer versions of dr_flac and dr_mp3

    dr_flac and dr_mp3 have received multitudes of updates since I last touched them in Sep. 2018. I haven't upgraded to the newer versions because I felt lazy about dealing with the api changes.

    opened by sezero 4
  • Support retrieving MP3 length

    Support retrieving MP3 length

    At the time of writing (commit 32ee23e2018378225eba2c2bca8c2264bdbd369f), Sound_GetDuration always returns -1 for an mp3 sample.

    Looks like it's not supported by SDL_sound at all at the moment: https://github.com/icculus/SDL_sound/blob/32ee23e2018378225eba2c2bca8c2264bdbd369f/src/SDL_sound_mp3.c#L96

    opened by ivan-mogilko 3
  • Fix timidity license.

    Fix timidity license.

    As for existing timidity: When I resurrected it, I copied most stuff from SDL_mixer, therefore its original dual LGPL/Artistic notice got lost. Should I put that back? (so that distros may choose LGPL if they want..)

    Originally posted by @sezero in https://github.com/icculus/SDL_sound/issues/61#issuecomment-1099179893

    This should mention both licenses where appropriate, and SDL_sound's LICENSE.txt should be updated to mention both options in the text about Timidity (right now it only mentions the Artistic License).

    opened by icculus 3
  • playsound causes conflicts with existing SDL_sound packages

    playsound causes conflicts with existing SDL_sound packages

    Both SDL_sound and SDL2_sound install the playsound application to the same location, which causes issues for package managers. The FreeBSD package works around this by renaming it to playsound2.

    opened by ccawley2011 3
  • ARM64 build failure with MSVC

    ARM64 build failure with MSVC

    @ccawley2011 has recently reported an ARM64 build failure with MSVC at https://github.com/mackron/dr_libs/issues/229

    Is my suggested patch at https://github.com/mackron/dr_libs/issues/229#issuecomment-1084447914 correct for it? If it is, apply here?

    opened by sezero 3
  • CMake warning: Policy CMP0048 is not set

    CMake warning: Policy CMP0048 is not set

    hi, this is really minor, is more a question really. Currently a warning is being generated in CMake versions 3 and above.

    Most CMake projects I see use the version like this

    project(SDL_sound 
        VERSION 2.0.1
        LANGUAGES C)
    

    But SDL_sound uses like this

    project(SDL_sound C)
    set(SDLSOUND_VERSION 2.0.1)
    

    But this means the PROJECT_VERSION and related variables would be empty. Is there any reason for this particular approach?

    opened by ericoporto 0
  • Reading timidity soundfont from SDL_rwops

    Reading timidity soundfont from SDL_rwops

    Hey, I understand we can pass a soundfont path through an environment variable or SDL_setenv, but is it possible to pass a stream so I could find a soundfont inside a game package - using SDL_rwops or some way to pass the location in memory. Is something like this possible?

    opened by ericoporto 0
  • WAV: support

    WAV: support "extensible" format tag.

    I put in a quick hack, but here are the details on proper support.

    https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible

    SDL_LoadWAV already has this--at least enough for reasonable use--and I'm aiming for something similar here.

    opened by icculus 0
  • Sound_NewSample*'s `desired` field should be a const pointer.

    Sound_NewSample*'s `desired` field should be a const pointer.

    Right now it looks like this:

    SNDDECLSPEC Sound_Sample * SDLCALL Sound_NewSample(SDL_RWops *rw,
                                                       const char *ext,
                                                       Sound_AudioInfo *desired,
                                                       Uint32 bufferSize);
    

    ...but that desired argument isn't modified (the desired and obtained values are both available in the returned Sound_Sample, not set in the desired struct), so this should be const.

    I have to double-check this is actually true, but this is likely a mistake from the year 2000. :)

    opened by icculus 0
  • Let decoders claim a sound file

    Let decoders claim a sound file

    We need to let decoders signal that they own a given sound file.

    For example, the .WAV decoder might hit this legitimate failure case (if given a 24-bit audio file, which we don't yet support)...

    BAIL_MACRO("WAV: Unsupported sample size.", 0);
    

    But then SDL_sound will try other decoders, which appropriately fail because the file isn't .mp3/.voc/whatever, eventually setting the error message to "Sound format unsupported."

    So what we need is a way for decoders to say "this is definitely a .WAV (or whatever) file, but I can't open it (i/o issue, corrupted, some unsupported thing)," so that SDL_sound can report a more meaningful error and also know to stop trying other decoders.

    opened by icculus 0
Releases(v2.0.1)
  • v2.0.1(Mar 25, 2022)

    It's been 5087 days since the last SDL_sound release, so I thought it might be time for a new one. :)

    A lot has changed in the last 13.93 years, including my understanding of how to build useful open source middleware. As such, you're going to find that the internals of SDL_sound 2 are dramatically different than the guts of SDL_sound 1.

    The most notable changes:

    • SDL_sound 2.0 is now licensed under the zlib license. The 1.x releases are (and continue to be) LGPL2. This matches the license change between SDL 1.2 and SDL 2.0.
    • SDL_sound 2.0 now uses SDL 2. SDL 1.2 is no longer supported.
    • SDL_sound 2.0 has no external dependencies. All the code you need to build it is included. You do not have to hunt down and figure out how to build third party libraries to enable support for various audio decoders.
    • Several decoders have been replaced with so-called "single header libraries" to simplify matters. You no longer need to install libogg and libvorbis to support .ogg files--SDL_sound just includes stb_vorbis as part of the source tree.
    • We have moved to CMake, because of course we have. :)
    • But also, it's now pretty simple to just drop SDL_sound's sources into your project and compile it directly.
    • QuickTime support is gone (because it's obsolete in modern OSes; macOS and iOS can still use our CoreAudio decoder for roughly the same effect).
    • Speex support is gone (no easy public domain code available to decode it).
    • MikMod support is gone (but modplug is built in and handles approximately the same files).

    Please note that SDL_sound 2's public API has not changed at all from SDL_sound 1, so you can just upgrade in place and, in theory, just keep on as before.

    I wrote about the motivations for the 2.0 changes here.

    Note that this is release 2.0.1; there was no 2.0.0 release, but since that's the version that revision control has listed for the last year, we wanted to make sure that there was a differentiator in case someone had shipped the prerelease code.

    Thanks for everyone's patience; hopefully the next release won't take another decade!

    Source code(tar.gz)
    Source code(zip)
Owner
Ryan C. Gordon
I make things that help you make games.
Ryan C. Gordon
MPEG-H 3D Audio Low Complexity Profile Decoder

Introduction of the MPEG-H 3D Audio Low Complexity Profile Decoder The advent of object-based audio and scene-based audio has revolutionized the 3D so

Ittiam Systems Pvt. Ltd. 38 Jun 23, 2022
Static analyzer for C/C++ based on the theory of Abstract Interpretation.

IKOS IKOS (Inference Kernel for Open Static Analyzers) is a static analyzer for C/C++ based on the theory of Abstract Interpretation. Introduction IKO

NASA - Software V&V 1.7k Jun 27, 2022
BSAL(Bluetooth Stack Abstract Layer)软件包是由 RT-Thread 针对不同 蓝牙协议栈接口实现的,目前支持的 协议栈有:nimble,realtek 等协议栈

BSAL (Bluetooth Stack Abstract Layer)软件包是由 RT-Thread 针对不同 蓝牙协议栈接口实现的,目前支持的 协议栈有:nimble,realtek 等协议栈。

The packages repositories of RT-Thread. 11 May 25, 2022
C++ intrusive container templates. Abstract node links, no use of new/delete.

C-plus-plus-intrusive-container-templates C++ intrusive container templates. Abstract node links, no use of new/delete (AVL tree, singly-linked list,

Walt Karas 11 Feb 10, 2022
Static analyzer for C/C++ based on the theory of Abstract Interpretation.

IKOS IKOS (Inference Kernel for Open Static Analyzers) is a static analyzer for C/C++ based on the theory of Abstract Interpretation. Introduction IKO

NASA - Software V&V 1.7k Jun 27, 2022
Step-by-step guide through the abstract and complex universe of Fragment Shaders.

The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe This is a gentle step-by-step guide through the abstract and complex universe of Fragment S

Patricio Gonzalez Vivo 4.5k Jun 24, 2022
This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library.

Adafruit Floppy This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library. Adafruit Fl

Adafruit Industries 125 Jun 22, 2022
A Graphical Engine written in C++ for abstract OpenGL

Lukeda Graphical Engine (LGE) It's a simple graphical library, written in C++ with OpenGL(GLEW) and GLFW Start as a fork from my other project named "

Lucas Morais 2 May 16, 2022
Minimalistic MP3 decoder single header library

minimp3 Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO con

Lion 1.1k Jun 25, 2022
Minimal Huffman coder/decoder

huffandpuff This is an extremely minimal huffman encoder/decoder. It uses no calls at all, not even stdlib/stdio, making it suitable for embedded appl

Adam Ierymenko 83 Jun 8, 2022
Minimalistic MP3 decoder single header library

minimp3 Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO con

Lion 1.1k Jun 25, 2022
MPack - A C encoder/decoder for the MessagePack serialization format / msgpack.org[C]

Introduction MPack is a C implementation of an encoder and decoder for the MessagePack serialization format. It is: Simple and easy to use Secure agai

Nicholas Fraser 359 May 24, 2022
SleighCraft is a decoder based on ghidra's decompiler implementation.

SleighCraft is a decoder (or, linear disassembler) based on ghidra's decompiler implementation. Sleighcraft can be used in Rust or Python, with both high-level and low-level API.

PortalLab 229 Jun 23, 2022
Arduino PNG image decoder library

An 'embedded-friendly' (aka Arduino) PNG image decoding library

Larry Bank 91 Jun 24, 2022
White-Stuff - a simple xor encoder/decoder for your shellcode

White-Stuff - a simple xor encoder/decoder for your shellcode

null 15 Jun 10, 2022
A lean, efficient, accurate geohash encoder and decoder library implemented in C

Geohash encoder/decoder in C A lean, efficient, accurate geohash encoder and decoder library implemented in C. It does not depend on the C standard li

Christopher Wellons 18 May 30, 2022
SPDIF decoder for Kingst VIS

SPDIF Logic Analyzer This plugin is for use in the Kingst VIS program to decode captured data from any SPDIF Interface. It's a modified version of [ht

null 5 Jun 21, 2022
Software MBE decoder for codecserver / digiham / openwebrx

Introduction openwebrx is a web-based SDR receiver. That software used to be capable of decoding digital voice modes such as DMR, YSF, NXDN and D-STAR

null 11 Apr 26, 2022
combined decoder for DAB and FM

DUORECEIVER 1.0 COMBINED FM AND DAB MINI RECEIVER I got questions from family members why there was no combined FM and DAB receiver available, since t

JvanKatwijk 6 Dec 15, 2021
BCJR-based decoder for CCSDS turbo codes (according to CCSDS 131.0-B-3)

ccsds-tc ccsds-tc is a small project that attempts to systematize the decoding of space packets as received by ground stations of the Amateur DSN. Thi

Gonzalo José Carracedo Carballal 9 Feb 23, 2022
Simple, generally spec-compliant, hacky PNG Decoder written in C99.

Simple, generally spec-compliant, hacky PNG Decoder written in C99.

cristei 2 Nov 2, 2021
MPEG-H 3D Audio Low Complexity Profile Decoder

Introduction of the MPEG-H 3D Audio Low Complexity Profile Decoder The advent of object-based audio and scene-based audio has revolutionized the 3D so

Ittiam Systems Pvt. Ltd. 38 Jun 23, 2022
BRAW decoder to allow unattended, headless, conversion of *.braw files into other file formats.

BRAW Decode This is a project that uses the official Blackmagic Raw SDK to decode a *.braw file in a way that can be read by FFmpeg. The goal of the p

Shelby Jueden 7 Apr 2, 2022
Multichannel HFDL decoder

dumphfdl dumphfdl is a multichannel HFDL (High Frequency Data Link) decoder. HFDL (High Frequency Data Link) is a protocol used for radio communicatio

Tomasz Lemiech 72 May 25, 2022
Quite OK Image (QOI) format encoder/decoder

This project implements encoding and decoding the "Quite OK Image" (QOI) format in the Ć programming language. Ć can be automatically translated to pu

Piotr Fusik 36 Jun 6, 2022
Radiosonde decoder plugin for SDR++

Radiosonde decoder plugin for SDR++ Build instructions Download the SDR++ source code: git clone https://github.com/AlexandreRouma/SDRPlusPlus Open th

Davide Belloli 25 Jun 14, 2022
APRS-Decoder-Lib

APRS-Decoder-Lib This repository will provide a library to decode and encode APRS messages. Currently the master branch is under heavy development and

APRS via LoRa 4 Dec 25, 2021
Minimalist protocol buffer decoder and encoder in C++

protozero Minimalistic protocol buffer decoder and encoder in C++. Designed for high performance. Suitable for writing zero copy parsers and encoders

Mapbox 217 Jun 28, 2022
A deblocking JPEG decoder

Knusperli The goal of Knusperli is to reduce blocking artifacts in decoded JPEG images, by interpreting quantized DCT coefficients in the image data a

Google 449 Jun 3, 2022