- _Frame: add pixel_format ('BGRA'|'NV12'), uv_pixels, uv_pitch fields - _create_appsink: accept NV12 caps when R36S_HW_DECODE=1 (NV12;BGRA fallback) - render(): choose SDL_PIXELFORMAT_NV12 texture + SDL_UpdateNVTexture for NV12 frames, avoiding any software colourspace conversion on the CPU - _on_new_sample: detect format via VideoInfo.finfo.name, extract Y+UV planes separately from NV12 GStreamer buffers - _destroy_texture: reset _texture_format to 'BGRA' - deploy/arkos/MatHacks.sh: set R36S_HW_DECODE=1 to activate the path - tests/test_player.py: add finfo mock, pixel_format to SimpleNamespace frame