Hello, This patch adds support for 15-bit VQA3 files that are used in Westwood Studios' video games such as Command & Conquer: Tiberian Sun and Blade Runner. I have tested this change with all VQA files available at
http://samples.mplayerhq.hu/game-formats/vqa/ and every video except those in kyrandia/ is now decoded correctly. This patch is dependent on demuxer changes submitted as a separate patch "avformat/westwood_vqa: Store VQFL codebook chunks": https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2021-September/285682.html I noticed VQA3 support had been already submitted by Adam Iglewski as part of Google Summer of Code 2009 but the patch set was never finished nor merged: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2009-May/074719.html https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2009-May/074958.html I did some changes based on that 2009 thread but otherwise this is an independent implementation. The changes in the demuxer side in westwood_vqa.c are there to silence log spam about ignored chunk types. Anyway, as this is my first change, I have some questions. 1. Is it possible to preserve the pixels of a frame for easy delta updates? In that 2009 patch set they used an old "FF_BUFFER_HINTS_PRESERVE" flag that doesn't exist anymore. 2. Is it problematic to dereference 16-bit values like this: uint16_t code = *(uint16_t*)stream; stream += 2; because the old code used code = bytestream_get_le16(&src); instead. Endianess shouldn't be a problem since the bytes are just copied as-is. Does it make sense to create a 'bytestream' object just to read from a statically allocated array (s->decode_buffer)? 3. I presume Adam Iglewski should be credited in the copyright headers for the few lines I took from his patches? :) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".