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
refine encode segment id map buffer #756
base: master
Are you sure you want to change the base?
Conversation
@@ -1474,6 +1482,17 @@ typedef union _VAConfigAttribValEncPerBlockControl { | |||
/** \brief Driver supports decode processing rate report */ | |||
#define VA_PROCESSING_RATE_DECODE 0x00000002 | |||
/**@}*/ | |||
|
|||
/** @name segment ID map block size */ | |||
/**@{*/ |
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.
Why is there no 8x8 and 4x4?
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.
if we add them, to keep some basic compatible , the value should be 3, 4, it looks a little strange, I suspect who are using them.
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.
But segmentation is 8x8 in vp9 and 4x4 in av1. So a driver should be able to support up the size?
/** | ||
* \brief AV1 Block Segmentation ID Buffer | ||
* | ||
* The application provides a buffer of VAEncMacroblockMapBufferType containing |
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.
Do we need to set size and num_elements in vaCreateBuffer to width and height as well as in vp9, respectively?
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.
it is a kind of backward combability issue, I want to unify them to a linear buffer. so, the question is: is there other user beside intel media driver , is there any application is using the older interface?
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.
Would it be a better solution if we keep the original behavior when calling vaCreateBuffer with VAEncMacroblockMapBufferType, and we define a new BufferType (e.g. named VAEncUnifiedSegmentationMapBufferType).
There are some benefits but libva will a little bit complicated.
We can keep all the backward compability and suggest/guide app-developers to switch to the new/unified interface.
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.
so, we support both for VP9?
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.
Yes, I would prefer that.
It would benefit the application maintenance effort.
However, it will make libva more complicated......
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.
Can we make a decision here?
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Yao, Leyu <leyu.yao@intel.com> Signed-off-by: Zhang,Carl <carl.zhang@intel.com>
previous description limited the segment id block 8x8 it is not accurate and should support different block size which could be set by picture parameter. attention: this change will impact backward compatiblility, considering no one is using it. we could ignore this side effect Signed-off-by: Carl Zhang <carl.zhang@intel.com>
remove VAEncSegMapBufferAV1 which actually not used at all because there are no enough information to describe how to use it attention: this change will impact backward compatiblility, considering no one is using it. we could ignore this side effect Signed-off-by: Carl Zhang <carl.zhang@intel.com>
attention: these change will break backward compatibility, the pre-assumption is no one is using them besides intel media driver and intel oneVPL runtime, if there are other customer, it should be risky
so, please help to check whether there are somebody are using segment id map buffer for avc or vp9 encoding.