-
Notifications
You must be signed in to change notification settings - Fork 303
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
va: add VASurfaceAttribAlignmentSize #794
va: add VASurfaceAttribAlignmentSize #794
Conversation
I am wondering what's the usage of this surface alignments usage: |
The original issue has been discussed in This HEVC problem can be resolved by hacking below code in from
to
That is due to the AMD HEVC encoder HW implementation requires Thanks, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the change itself looks good to me, but do not touch the micro_version, thanks
it will be a part of 2.21.0, not 2.21.1
1bccaf7
to
b8e450f
Compare
Thanks for reviewing, anything I need to do from my side? |
Due to different HW implementation, the surface could require a different alignment size rather than the default ones, here introduces a new VASurfaceAttribute, alignment size, which contains two variables log2_width_alignment and log2_height_alignment, each has 4 bits, and the alignment needs to be left shifted 2**size from the application side. The alignment is in the powers of 2 and range in [2**0, ... 2**15] = [1, 2, 4, 8, ... 32768] And this alignment should be met when creating context as an add-on requirement. If not implemented, the existing/default alignment logic will be used. Signed-off-by: Ruijing Dong <[email protected]>
b8e450f
to
8da2f8d
Compare
Due to different HW implementation, the
surface could require a different alignment size
rather than the default ones, here introduces
a new VASurfaceAttribute, alignment size, which
contains two variables log2_width_alignment
and log2_height_alignment, each has 4 bits,
and the alignment needs to be left shifted
2**size from the application side.
The alignment is in the powers of 2 and
range in [20, ... 215] = [1, 2, 4, 8, ... 32768]
And this alignment should be met when creating
context as an add-on requirement. If not
implemented, the existing/default alignment
logic will be used.