mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
d3d12: fix incorrect IsRefUsedByCurrentPic marking for P Frame
- On P Frame, we were looking at L1 list to determine IsRefUsedByCurrentPic. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed by: Pohsiang (John) Hsu <pohhsu@microsoft.com> Reviewed-by: Jesse Natalie <None> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33312>
This commit is contained in:
parent
e026f40b5f
commit
ad66315a67
1 changed files with 5 additions and 2 deletions
|
|
@ -288,8 +288,11 @@ d3d12_video_encoder_references_manager_hevc::begin_frame(D3D12_VIDEO_ENCODER_PIC
|
|||
// and set IsRefUsedByCurrentPic accordingly
|
||||
auto endItL0 = hevcPic->ref_list0 + (hevcPic->num_ref_idx_l0_active_minus1 + 1);
|
||||
bool bReferencesFromL0 = std::find(hevcPic->ref_list0, endItL0, i) != endItL0;
|
||||
auto endItL1 = hevcPic->ref_list1 + (hevcPic->num_ref_idx_l1_active_minus1 + 1);
|
||||
bool bReferencesFromL1 = std::find(hevcPic->ref_list1, endItL1, i) != endItL1;
|
||||
bool bReferencesFromL1 = false;
|
||||
if (d3d12_video_encoder_convert_frame_type_hevc(hevcPic->picture_type) == D3D12_VIDEO_ENCODER_FRAME_TYPE_HEVC_B_FRAME) {
|
||||
auto endItL1 = hevcPic->ref_list1 + (hevcPic->num_ref_idx_l1_active_minus1 + 1);
|
||||
bReferencesFromL1 = std::find(hevcPic->ref_list1, endItL1, i) != endItL1;
|
||||
}
|
||||
m_CurrentFrameReferencesData.pReferenceFramesReconPictureDescriptors[i].IsRefUsedByCurrentPic =
|
||||
bReferencesFromL0 || bReferencesFromL1;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue