Skip to content

Commit

Permalink
[Decode]Fix AV1 frame order issue
Browse files Browse the repository at this point in the history
  • Loading branch information
huangli2018 authored and gfxVPLsdm committed Nov 25, 2024
1 parent 3a02c6d commit 5cf4288
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion _studio/shared/umc/codec/av1_dec/src/umc_av1_decoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,9 @@ namespace UMC_AV1_DECODER
frame->SetFrameTime(frame_order * in_framerate);
frame->SetFrameOrder(frame_order);
FrameHeader strFrameHeader = frame->GetFrameHeader();
if (strFrameHeader.show_frame || strFrameHeader.show_existing_frame)//add for fix -DecoderdOrder hang issue
if (strFrameHeader.show_frame || frame->ShowAsExisting()) //display frame or repeat frame, frame order ++
frame_order++;

}

UMC::Status AV1Decoder::GetFrame(UMC::MediaData* in, UMC::MediaData*)
Expand Down Expand Up @@ -921,6 +922,10 @@ namespace UMC_AV1_DECODER
}

CompleteDecodedFrames(fh, pCurrFrame, pPrevFrame);
if (repeatedFrame)
{
pCurrFrame->ShowAsExisting(true);
}
CalcFrameTime(pCurrFrame);

if (!pCurrFrame)
Expand Down

0 comments on commit 5cf4288

Please sign in to comment.