diff --git a/vav2/platforms/windows/vavcore/src/Decoder/MediaCodecSurfaceManager.cpp b/vav2/platforms/windows/vavcore/src/Decoder/MediaCodecSurfaceManager.cpp index 46299d4..df7bd2c 100644 --- a/vav2/platforms/windows/vavcore/src/Decoder/MediaCodecSurfaceManager.cpp +++ b/vav2/platforms/windows/vavcore/src/Decoder/MediaCodecSurfaceManager.cpp @@ -389,11 +389,11 @@ bool MediaCodecSurfaceManager::CreateVulkanImage(void* vk_device, void* vk_insta ycbcrConversionCreateInfo.format = vulkan_format; // WORKAROUND: Qualcomm MediaCodec may suggest incorrect YCbCr model for AV1 - // Force BT.709 + Studio range on Qualcomm devices + // Option 6-2: Try Full Range instead of Studio range if (is_qualcomm_gpu) { ycbcrConversionCreateInfo.ycbcrModel = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709; // BT.709 - ycbcrConversionCreateInfo.ycbcrRange = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW; // Studio range (16-235) - LogInfo(" FORCED BT.709 + Studio range (Qualcomm workaround)"); + ycbcrConversionCreateInfo.ycbcrRange = VK_SAMPLER_YCBCR_RANGE_ITU_FULL; // Full range (0-255) + LogInfo(" FORCED BT.709 + Full range (Qualcomm workaround - Option 6-2)"); LogInfo(" MediaCodec suggested model: " + std::to_string(ahb_format_props.suggestedYcbcrModel) + " (ignored)"); LogInfo(" MediaCodec suggested range: " + std::to_string(ahb_format_props.suggestedYcbcrRange) + " (ignored)"); } else {