Hi !
I'm analyzing how to convert vlc output video stream to godot (game engine) suitable video format.
What I have initially tried out - from code similar to libvlcpp test application - I can select video format into which I want to convert input video stream.
https://sourceforge.net/p/vlc2/code/HEA ... in.cpp#l69
By default sample application uses RV32 chroma format, which stands for VLC_CODEC_RGB32
accoding to this file:
https://sourceforge.net/p/vlc2/code/HEA ... rcc.h#l219
When using this chroma video stream looks like this:
0x0BD80030 d7 00 00 00 d7 00 00 00 d7 00 00 00 d7 00 00 00 d7 00 00 00 d7 00 00 00 d7 00 00 00 d3 00 00 00
0x0BD80050 cf 00 00 00 cf 00 00 00 df 00 00 00 d3 00 00 00 d7 00 00 00 d7 00 00 00 df 00 00 00 df 00 00 00
If I'll using "RGB8" chroma format, then I suspect I'm switching video format to RGB8,
https://sourceforge.net/p/vlc2/code/HEA ... rcc.h#l209
And output buffer looks like this:
0x0C080030 51 52 51 70 51 52 51 52 36 52 51 52 51 70 51 70 4b 70 51 70 69 70 69 8a 69 8a 69 8a 69 8a 84 8a
0x0C080050 69 6a 69 85 63 85 84 85 63 85 84 c0 b9 d9 d3 ec f7 fd f8 fd f8 fd f8 fd f8 fd fd fd fd fd fd fd
I suspect that buffer has red color 1 byte, green color 1 byte, blue color 1 byte, repeating itself, but not 100% sure.
Meanwhile godot has it's own conversion routines, which can be found from here:
https://sourceforge.net/p/vlc2/code/HEA ... rgb.h#l940
After godot performs conversion I can see in video buffer data like this: (Same video, should have identical conversion)
0x09860030 49 2e c7 ff 49 2e c7 ff 49 2e c7 ff 49 2e c7 ff 49 2e c7 ff 49 2e c7 ff 49 2e c7 ff 47 2c c5 ff 44 28 c2 ff 42 27 c0 ff
0x09860058 45 2a c3 ff 47 2c c5 ff 49 2e c7 ff 4d 32 cb ff 4a 34 cc ff 4b 35 cd ff 47 38 c8 ff 48 39 c9 ff 49 3e c9 ff 4c 41 cc ff
I suspect that this format is something like R8G8B8A8, here red byte is followed by green byte, followed by blue byte, and some alpha component.
Closest chroma which corresponds to this format is VLC_CODEC_RGBA, but there is no video_chroma plugin, which can perform such conversion.
I suspect that I'll create new video chroma plugin with same conversion routines as in godot, but would like to ensure that I'm not making something that already exists.
Can you tell me which video format I'm looking for and what could be it's name. Maybe also some plugin was written already to perform such conversion ?