Skip to content
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

Clarify the usage of flag VA_PROC_PIPELINE_FAST. #740

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions va/va_vpp.h
Original file line number Diff line number Diff line change
Expand Up @@ -510,11 +510,20 @@ typedef struct _VABlendState {
* \brief Specifies whether to apply power or performance
* optimizations to a pipeline.
*
* When processing several surfaces, it may be necessary to prioritize
* more certain pipelines than others. This flag is only a hint to the
* video processor so that it can omit certain filters to save power
* for example. Typically, this flag could be used with video surfaces
* decoded from a secondary bitstream.
* This flag is a hint to the video processor to achieve faster processing speed
* (better performance)in the pipeine. Hardware vendor might have several approaches
* for one functionality, this flag is to indicate the one with best performance.
* Performance depends on the hardware capablity, plesae refer to the specific hardware
* specification from hardware vendors. Here, lists a few examples as the reference.
* 1) When processing several surfaces, it may be necessary to prioritize more certain
* pipelines with this flag than others. 2) This flag is only a hint to the video processor
* so that it can omit certain filters for better performance for example. 3) Typically, this
* flag could be used with video surfaces decoded from a secondary bitstream.
FurongZhang marked this conversation as resolved.
Show resolved Hide resolved
*
* Regarding the usage of this flag, there are some filter properties in vaapi such as
* VA_FILTER_SCALING_XXX, when VA_PROC_PIPELINE_FAST is combined with these properties,
* the backend implementation should honor VA_PROC_PIPELINE_FAST which means this flag
* could change the filter properties implicitly for better performance.
Copy link
Contributor

Choose a reason for hiding this comment

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

Does it mean VA_FILTER_SCALING_XXX won't take effects if VA_PROC_PIPELINE_FAST is set ? How does a user know VA_PROC_PIPELINE_FAST should be set or not ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

if VA_PROC_PIPELINE_FAST is set, VA_FILTER_SCALING_XXX will not take effect. If the user wants to get better performance, VA_PROC_PIPELINE_FAST should be set.

*/
#define VA_PROC_PIPELINE_FAST 0x00000002
/**@}*/
Expand Down