Skip to content

Add HEVC RefPicSetLtCurr and NumPocLtCurr picture parameters #853

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nowrep
Copy link

@nowrep nowrep commented Apr 29, 2025

Corresponds to the variables of same name as defined in section 8.3.2 of the HEVC spec.

The RefPicSetStCurrBefore and RefPicSetStCurrAfter can be derived by sorting them, however there is no defined order for the RefPicSetLtCurr and thus it must be provided explicitly.

This is needed for AMD driver and also to match the DXVA and Vulkan Video interfaces.

Corresponds to the variables of same name as defined in section 8.3.2
of the HEVC spec.

The RefPicSetStCurrBefore and RefPicSetStCurrAfter can be derived
by sorting them, however there is no defined order for the
RefPicSetLtCurr and thus it must be provided explicitly.

This is needed for AMD driver and also to match the DXVA and Vulkan
Video interfaces.

Signed-off-by: David Rosca <david.rosca@amd.com>
Copy link
Contributor

@Jexu Jexu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RefPicSetStCurrBefore, RefPicSetStCurrAfter and RefPicSetLtCurr could be all derived by sorting ReferenceFrames. And you can refer to it in media driver.

https://github.com/intel/media-driver/blob/master/media_softlet/linux/common/codec/ddi/dec/ddi_decode_hevc_specific.cpp#L402

@nowrep
Copy link
Author

nowrep commented May 6, 2025

That's not enough, because this way the lists will be in the order as they appear in DPB. But the order here does matter, so this is wrong.

The correct order of RefPicSetStCurrBefore and RefPicSetStCurrAfter can be derived by sorting them by POC (desc/asc).

But this is not possible for RefPicSetLtCurr as the order is as it appear in the slice header (and the spec doesn't require them to be sorted as is the case with short term refs). Since there is no way to derive this, the RefPicSetLtCurr must be provided by application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants