@@ -225,13 +225,13 @@ mfxStatus MfxC2FrameConstructor::LoadSecure(HUCVideoBuffer *hucBuffer, const mfx
225225 m_decryptConfig.session = hucBuffer->session_id ;
226226 m_decryptConfig.num_subsamples = hucBuffer->num_packet_data ;
227227 m_decryptConfig.encryption_scheme = GetEncryptionScheme (hucBuffer->cipher_mode );
228+ m_decryptConfig.pattern .clear_byte_block = hucBuffer->pattern_clear ;
229+ m_decryptConfig.pattern .cypher_byte_block = hucBuffer->pattern_encrypted ;
228230 std::memcpy (m_decryptConfig.hw_key_id , hucBuffer->hw_key_id , sizeof (hucBuffer->hw_key_id ));
229-
230- char * baseAddress = reinterpret_cast <char *>(hucBuffer);
231- packet_info* packet = reinterpret_cast <packet_info*>(baseAddress + sizeof (HUCVideoBuffer) - 8 );
232- std::memcpy (m_decryptConfig.iv , packet->current_iv .data (), packet->current_iv .size ());
231+ std::memcpy (m_decryptConfig.iv , hucBuffer->current_iv .data (), hucBuffer->current_iv .size ());
233232
234233 m_decryptConfig.subsamples = (SubsampleEntry*)malloc (hucBuffer->num_packet_data * sizeof (SubsampleEntry));
234+ char * baseAddress = reinterpret_cast <char *>(hucBuffer);
235235 for (int i = 0 ; i < hucBuffer->num_packet_data ; i++)
236236 {
237237 packet_info* packet = reinterpret_cast <packet_info*>(baseAddress + sizeof (HUCVideoBuffer) - 8 + (i * sizeof (packet_info)));
@@ -247,6 +247,8 @@ mfxStatus MfxC2FrameConstructor::LoadSecure(HUCVideoBuffer *hucBuffer, const mfx
247247 }
248248 }
249249
250+ MFX_DEBUG_TRACE_I32 (hucBuffer->pattern_clear );
251+ MFX_DEBUG_TRACE_I32 (hucBuffer->pattern_encrypted );
250252 MFX_DEBUG_TRACE__mfxStatus (mfx_res);
251253 return mfx_res;
252254}
0 commit comments