@@ -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)));
@@ -244,6 +244,8 @@ mfxStatus MfxC2FrameConstructor::LoadSecure(HUCVideoBuffer *hucBuffer, const mfx
244244 MFX_DEBUG_TRACE_I32 (entry.cypher_bytes );
245245 MFX_DEBUG_TRACE_I32 (packet->clear_bytes );
246246 MFX_DEBUG_TRACE_I32 (packet->encrypted_bytes );
247+ MFX_DEBUG_TRACE_I32 (packet->pattern_clear );
248+ MFX_DEBUG_TRACE_I32 (packet->pattern_encrypted );
247249 }
248250 }
249251
0 commit comments