Open
Conversation
QP map is a way of controlling block level QP(QI). Here it introduces two modes, delta and absolute. Delta mode will add/minus extra QP(QI) values based on CQP/RC's QP result, while absolute mode is directly using the QP (QI) values from QP map whenever possible; in absolute mode, since RC's adjustment on QP values not working, it is only valid in CQP mode, and RC adjustment in fact is processed externally. Adding this is to support some encoding HWs, and provides a way of QP adjustment in addition to HW internal RC modes. This defines VAEncMiscParameterQPMap structure and its corresponding attribute VAConfigAttribValEncQPMap, also defines the format of QP map element and buffer specification. In contrast with FEI, QP map is an independent parameter set, and can be applied to the needed profiles, only with extra processing of the proposed misc parameters. Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Contributor
Author
|
Hi @XinfengZhang, I proposed a structure of QP map adjustment based on current AMD VCN implementation to VAAPI interface, this just provides an additional way to rate control, and to let external driver or application be able to handle rate control partially or totally. It is sharing the same logic as ROI in AMD driver stack, just QP map is more flexible, and it operates on the whole frame level. Also, I have made some draft code changes below for testing. Libva-utility test draft code Mesa draft code Let me know your comments. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
QP map is a way of controlling block
level QP(QI). Here it introduces two
modes, delta and absolute. Delta mode
will add/minus extra QP(QI) values
based on CQP/RC's QP result, while
absolute mode is directly using the QP
(QI) values from QP map whenever possible;
in absolute mode, since RC's adjustment
on QP values not working, it is only
valid in CQP mode, and RC adjustment
in fact is processed externally.
Adding this is to support some encoding
HWs, and provides a way of QP adjustment
in addition to HW internal RC modes.
This defines VAEncMiscParameterQPMap
structure and its corresponding attribute
VAConfigAttribValEncQPMap, also defines
the format of QP map element and buffer
specification.
In contrast with FEI, QP map is an
independent parameter set, and can be
applied to the needed profiles, only
with extra processing of the proposed
misc parameters.