Intel Proposes Major Additions To VA-API Acceleration
Here's some more interesting news on top of photos of Steamworks on Linux. Intel has submitted a proposal to extend VA-API, the Video Acceleration API, to support H.264 encode and video post-processing. This is the video acceleration API used by Intel's graphics driver, among others, and is the second most popular Linux video API after NVIDIA's VDPAU, the Video Decode and Presentation API for Unix.
Intel's Jonathan Bian wrote to the VA-API development list with this proposal and where Intel sees the APIs as needing to be changed and extended. In particular, they want to add a new entry-point so VA-API can deal with video post-processing, a number of configuration attributes to accommodate different capabilities in hardware encoders, new buffer types (for the application and to deal with the post-processing capabilities), and the necessary changes to for H.264 to support H.264 High Profile encoding.
In terms of the VA-API post-processing design, "With this proposal, video post-processing is modeled as a pipeline of connected and configurable processing filters. The existing vaBeginPicture/vaRenderPicture/vaEndPicture semantics is used to perform video post-processing frame by frame, with configuration parameters passed through vaRenderPicture as buffers. For optimal performance, the assumption is made that the implementation will retain the parameter settings affecting the processing pipeline until the application makes explicit modifications of these parameters."
More details on this Intel proposal can be found in this mailing list message. Seeing as Intel is the main backer of VA-API, these changes should get in once the developers come to an agreement about the API alterations. Hopefully this will make for a more interesting video encoding experience for Intel's next-generation Ivy Bridge hardware and potentially the current-generation Sandy Bridge CPUs.
Intel's Jonathan Bian wrote to the VA-API development list with this proposal and where Intel sees the APIs as needing to be changed and extended. In particular, they want to add a new entry-point so VA-API can deal with video post-processing, a number of configuration attributes to accommodate different capabilities in hardware encoders, new buffer types (for the application and to deal with the post-processing capabilities), and the necessary changes to for H.264 to support H.264 High Profile encoding.
In terms of the VA-API post-processing design, "With this proposal, video post-processing is modeled as a pipeline of connected and configurable processing filters. The existing vaBeginPicture/vaRenderPicture/vaEndPicture semantics is used to perform video post-processing frame by frame, with configuration parameters passed through vaRenderPicture as buffers. For optimal performance, the assumption is made that the implementation will retain the parameter settings affecting the processing pipeline until the application makes explicit modifications of these parameters."
More details on this Intel proposal can be found in this mailing list message. Seeing as Intel is the main backer of VA-API, these changes should get in once the developers come to an agreement about the API alterations. Hopefully this will make for a more interesting video encoding experience for Intel's next-generation Ivy Bridge hardware and potentially the current-generation Sandy Bridge CPUs.
9 Comments