LIBAVG VA-API Support - Codec/video rendering in Linux using C++

This project received 6 bids from talented freelancers with an average bid price of ₹620833 INR.

Get free quotes for a project like this
Employer working
Project Budget
Total Bids
Project Description


Libavg is a open source cross platform multimedia framework which uses python as scripting language and is written in high-speed C++. The C++ core is written with performance in mind, all graphics processing is hardware-accelerated through OpenGL, and GPU Shaders are used to accelerate critical parts like video decoding, compositing and visual effects. Currently, accelerated video decoding is supported using NVidias VDPAU interface. In the case of VDPAU, libavcodec will do the decoding on suitable hardware but expects to output the video directly to the graphics card. It would be really great to support VA-API (Intel's counterpart for VDPAU) on compatible hardware from libavg. libavcodec already supports both but there would be some refactoring work to be done inside libavg to support it.


VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API originally designed by Nvidia for its GeForce 8 series and later GPU hardware, targeted at the X Window System on Unix-Like operating systems (including Linux, FreeBSD, and Solaris). This VDPAU API allows video programs to offload portions of the video decoding process and video post-processing to the GPU video-hardware.

Video Acceleration API (VA API) is an open source software library ("libVA") and API specification. The cross-platform API enables and provides access to hardware accelerated video processing, using hardware like for example Graphics Processing Units (GPU) to accelerate video processing in order to offload the CPU (Central Processing Unit) to decode and encode compressed digital video. VA API video decode/encode interface is platform and window system independent but is today primarily targeted at DRI (Direct Rendering Infrastructure) in X Window System on Unix-based operating systems (including Linux, FreeBSD, Solaris), and Android, however it can potentially also be used with direct framebuffer and graphics sub-systems for video output. Accelerated processing includes support for video decoding, video encoding, subpicture blending, and rendering.

As stated above, Libavg uses VDPAU for video decoding and acceleration and we would like it to do the same using VA-API also. This will require a person having skills in writing code to develope drivers using C/C++ in linux environment, familiarity with ffmpeg. The project needs to be completed within 15 days.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online