52 Commits

Author SHA1 Message Date
Vladimir Menshakov ecd12fb2ff VIDEO: 4XM: fix ubsan warnings 2026-03-10 22:33:04 +00:00
Vladimir Menshakov 163f59d870 VIDEO: FOURXM: take ownership of stream
Proper fix of the leak in PHOENIXVR playMovie/minor field cleanups
2026-03-07 01:28:57 +00:00
tunnelsociety d52adbc894 VIDEO: 4XM: Add destructor 2026-03-06 08:46:21 +02:00
Eugene Sandulenko 8fd96e993f VIDEO: Fix warning in 4xm decoder 2026-02-20 19:07:32 +01:00
Vladimir Menshakov f244bae560 PHOENIXVR: use Common::Huffman 2026-02-09 23:30:38 +01:00
Vladimir Menshakov 2d687c415b PHOENIXVR: remove custom bitstream 2026-02-09 23:30:36 +01:00
Vladimir Menshakov f3aedf0b97 VIDEO: 4XM: use packetized audio stream 2026-02-09 23:30:35 +01:00
Vladimir Menshakov e1f355abfe VIDEO: 4XM: remove noisy log 2026-02-09 23:30:32 +01:00
Vladimir Menshakov 9d6491ea6a VIDEO: 4XM: revisited binary format and fix all audio issues 2026-02-09 23:30:31 +01:00
Vladimir Menshakov 6ba1ba9d22 VIDEO: 4XM: use 32 bit multiplication - fix the remaining visual artefacts of decoding 2026-02-09 23:30:31 +01:00
Vladimir Menshakov bfcbb66374 VIDEO: 4XM: fix ADPCM clicks 2026-02-09 23:30:31 +01:00
Vladimir Menshakov 3ab928b79d VIDEO: 4XM: use LE audio flag only on LE platforms 2026-02-09 23:30:30 +01:00
Vladimir Menshakov 0935e05bc2 VIDEO: 4XM: use double buffering and p-frame re-use the frame before previous, this seems to reduce dot artefacts a lot 2026-02-09 23:30:30 +01:00
Vladimir Menshakov 154b6c523c VIDEO: 4XM: remove setPixel, use sequential macroblock access in i frame decoding code 2026-02-09 23:30:29 +01:00
Vladimir Menshakov 21267f98bb VIDEO: 4XM: use sequential pointer access for video decoding 2026-02-09 23:30:28 +01:00
Vladimir Menshakov 0fd60c1764 VIDEO: 4XM: remove unused private members 2026-02-09 23:30:27 +01:00
Vladimir Menshakov eb7ea22f43 VIDEO: 4XM: use word size for mcdc access, separate cases 2026-02-09 23:30:17 +01:00
Vladimir Menshakov 89af1aa20b VIDEO: 4XM: remove restrict, dst/src can overlap 2026-02-09 23:30:17 +01:00
Vladimir Menshakov 459c720e33 VIDEO: 4XM: do not calculate dst/src if we don't need them 2026-02-09 23:30:16 +01:00
Vladimir Menshakov ff2b940974 VIDEO: 4XM: use unsigned for dc 2026-02-09 23:30:15 +01:00
Vladimir Menshakov aec46a1b66 VIDEO: 4XM: remove noisy debug logs 2026-02-09 23:30:06 +01:00
Vladimir Menshakov f6b147d424 VIDEO: 4XM: fix motion vector sign 2026-02-09 23:30:00 +01:00
Vladimir Menshakov bbef0a2008 VIDEO: 4XM: rewrite mcdc a bit, use template scaling parameter 2026-02-09 23:30:00 +01:00
Vladimir Menshakov f36dd2988b VIDEO: 4XM: re-enable cfrm 2026-02-09 23:30:00 +01:00
Vladimir Menshakov 101c95e30b VIDEO: 4XM: drop version <= 1 2026-02-09 23:29:59 +01:00
Vladimir Menshakov 82abc38095 VIDEO: 4XM: swap bitstream LE to BE 2026-02-09 23:29:59 +01:00
Vladimir Menshakov c3321f1671 VIDEO: 4XM: read video trackIdx 2026-02-09 23:29:59 +01:00
Vladimir Menshakov fb9531ebc2 VIDEO: 4XM: collect cframe 2026-02-09 23:29:59 +01:00
Vladimir Menshakov 514b71b76f VIDEO: 4XM: fix order/unit of bitstream for pframe 2026-02-09 23:29:58 +01:00
Vladimir Menshakov 3f9718a541 VIDEO: 4XM: check streams overrun 2026-02-09 23:29:58 +01:00
Vladimir Menshakov 9873f19118 VIDEO: 4MX: dump huffman tables 2026-02-09 23:29:58 +01:00
Vladimir Menshakov 1f48d79761 VIDEO: 4XM: add code decoder 2026-02-09 23:29:57 +01:00
Vladimir Menshakov 97a447c4fa VIDEO: 4XM: fix version 2026-02-09 23:29:57 +01:00
Vladimir Menshakov fe98af3851 VIDEO: 4XM: implement p frame scaffolding 2026-02-09 23:29:56 +01:00
Vladimir Menshakov ac600ee492 PHOENIXVR: add mcdc 2026-02-09 23:29:56 +01:00
Vladimir Menshakov a3b50c0215 PHOENIXVR: attempt to reconstruct frequencies 2026-02-09 23:29:56 +01:00
Vladimir Menshakov 97d16ebe7d VIDEO: 4XM: factor huffman decoder out 2026-02-09 23:29:55 +01:00
Vladimir Menshakov 66b76eb5a9 VIDEO: 4XM: add scaffolding for p frames 2026-02-09 23:29:55 +01:00
Vladimir Menshakov 8c931e5b15 VIDEO: 4XM: fix iframe unpacking 2026-02-09 23:29:54 +01:00
Vladimir Menshakov edd3b385e2 VIDEO: 4XM: decode DC/AC coefficients 2026-02-09 23:29:54 +01:00
Vladimir Menshakov 3459ddb9cb PHOENIXVR: add bitstream size and unpack dc prefix stream 2026-02-09 23:29:52 +01:00
Vladimir Menshakov 61595fdf37 VIDEO: move huffman/bitstream code to 4xm_utils 2026-02-09 23:29:47 +01:00
Vladimir Menshakov 7ca5e834d4 PHOENIXVR: add i/p/c frame headers parsing 2026-02-09 23:29:46 +01:00
Vladimir Menshakov 418e2ba497 VIDEO: 4XM: add ADPCM support 2026-02-09 23:29:46 +01:00
Vladimir Menshakov 364dda63d3 VIDEO: 4XM: add ADPCM support 2026-02-09 23:29:45 +01:00
Vladimir Menshakov 5102e01b02 VIDEO: 4XM: implement PCM audio tracks 2026-02-09 23:29:45 +01:00
Vladimir Menshakov 215d188e3a VIDEO: 4XM: use queueing audio stream and simplify audio track 2026-02-09 23:29:44 +01:00
Vladimir Menshakov cad08976e7 VIDEO: 4XM: do not use audio for sync (it's in frame after video), parse audio packet 2026-02-09 23:29:44 +01:00
Vladimir Menshakov dfdaafbd88 AUDIO: 4XM: produce interlaced samples 2026-02-09 23:29:43 +01:00
Vladimir Menshakov 29a4920d4f VIDEO: 4XM: decode ADPCM audio data 2026-02-09 23:29:43 +01:00