[vlc-devel] uncertain: whether to develop plugin for a custom codec.

BGB cr88192 at gmail.com
Sat Oct 19 01:44:30 CEST 2013

On 10/18/2013 4:02 PM, Rafaël Carré wrote:
> Hello,
> Le 18/10/2013 10:53, BGB a écrit :
>> my use-case I suspect is a little non-standard, so I may try to explain
>> what it is I am doing here, as to why I would want to write a codec
>> plugin for VLC (and not just use standard codecs).
> It seems you are modifying existing codecs so I would guess the best way
> for you to play your videos in VLC would be to modify the existing
> decoders in libavcodec and use your own libavcodec build with VLC.

actually, most (apart from XviD and Theora) are based on ground-up 
reimplementations of preexisting formats (generally based off of 
information about the format found on the internet, *), and tested 
against existing the implementations (mostly to verify compatibility).

*: like "wiki.multimedia.cx" and Wikipedia and so on.
sometimes also relevant standards documents, ...

sometimes, the way the codecs are actually implemented can diverge 
considerably though.

for example, my implementation of RPZA and the one in FFmpeg work a fair 
bit differently:
FFmpeg decodes to 15-bit RGB (then, I presume, off to 24 or 32-bit RGB), 
and apparently lacks an encoder;
my current implementation goes to/from DXT5 (technically a DXT1/5 hybrid 
mode) and then to/from other formats, such as 32-bit RGBA (example: 
"RGBA -> DXT5 -> (block quantizer) -> (encoder) -> RPZA").

the new codec in question works similarly, but replaces the DXT5 with 
another block format (still does 4x4 pixels in fixed-size 128 bit-blocks 
though), but makes more notable changes to the serialized representation 
(hence why it is no longer compatible with RPZA).

I had been trying (thus far without much success) with getting VLC 
rebuilt from source (via MinGW).
may try other options, and see if I can figure out a good strategy.

I will infer from context, there is a way to just rebuild libavcodec by 
itself and "drop it in" somehow?...
(sorry, not particularly familiar with the codebases in question).

otherwise, there was mention of out-of-tree module building on the wiki, 
which may be investigated further.

> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

More information about the vlc-devel mailing list