@@ -114,19 +114,18 @@ void DDI_VA::Query1NoCaps(const FeatureBlocks& /*blocks*/, TPushQ1 Push)
114114
115115 m_hw = Glob::VideoCore::Get (strg).GetHWType ();
116116 const mfxU16 bitDepth = m_pDefaults->base .GetBitDepthLuma (*m_pDefaults);
117- const mfxU16 chromaFormat = par.mfx .FrameInfo .ChromaFormat ;
118117 const mfxU32 fourCC = par.mfx .FrameInfo .FourCC ;
119118 const mfxU16 profile = par.mfx .CodecProfile ;
120119 const mfxExtCodingOption3* pCO3 = ExtBuffer::Get (m_pDefaults->mvp );
121- mfxU16 targetChromaFormat = MFX_CHROMAFORMAT_YUV420 ;
120+ mfxU16 targetChromaFormat = m_pDefaults-> base . GetTargetChromaFormatPlus1 (*m_pDefaults) - 1 ; ;
122121
123122 SetIf (targetChromaFormat, profile == MFX_PROFILE_AV1_HIGH, MFX_CHROMAFORMAT_YUV444);
124123 if (pCO3)
125124 {
126125 SetIf (targetChromaFormat, !pCO3->TargetChromaFormatPlus1 , pCO3->TargetChromaFormatPlus1 - 1 );
127126 }
128127
129- MFX_SAFE_CALL (SetDDIID (bitDepth, chromaFormat , fourCC, targetChromaFormat));
128+ MFX_SAFE_CALL (SetDDIID (bitDepth, targetChromaFormat , fourCC, targetChromaFormat));
130129
131130 return MFX_ERR_NONE;
132131 });
@@ -398,6 +397,7 @@ mfxStatus DDI_VA::QueryCaps()
398397 MFX_CHECK_STS (sts);
399398
400399 m_caps.ChromaSupportFlags .fields .i420 = !!(AV (VAConfigAttribRTFormat) & VA_RT_FORMAT_YUV420);
400+ m_caps.ChromaSupportFlags .fields .RGB = !!(AV (VAConfigAttribRTFormat) & VA_RT_FORMAT_RGB32);
401401
402402 m_caps.BitDepthSupportFlags .fields .eight_bits = !!(AV (VAConfigAttribRTFormat) & VA_RT_FORMAT_YUV420);
403403 m_caps.BitDepthSupportFlags .fields .ten_bits = !!(AV (VAConfigAttribRTFormat) & VA_RT_FORMAT_YUV420_10BPP);
0 commit comments