Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 2185

VAAPI video VBR encoding feature fails on Intel Atom X5-Z8000 CherryTrail

$
0
0

I am using GStreamer-vaapi on Intel Atom x5-Z8550. I cannot access the encoding feature called "variable bitrate" (VBR) which is available as a "rate-control" option for the GStreamer vaapih264enc plugin like this: "vaapih264enc rate-control=vbr"

 

Our questions:

1. Is variable bitrate supported on our processor?

2. Where can I find documentation that indicates support or the lack thereof for this feature?

I am building GStreamer-vaapi from source. I have been able to trace the problem into a VA-API library call: vaGetConfigAttributes().

For our processor, vaGetConfigAttributes() indicates support for only CBR 0x02 (constant-bitrate) and CQP 0x10 (constant-quality). vaGetConfigAttributes comes from the core VA-API library as documented here: http://intel.github.io/libva/group__api__core.html#gae51cad2e388d6cc63ce.... We need access to VBR 0x04 (variable-bitrate).

 

Environment:

Linux kernel: v4.9.115

vainfo
libva info: VA-API version 0.39.4
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 1.7.3

 

Replication Steps:

This problem can be demonstrated by using the standard GStreamer command line application: "gst-launch-1.0".

I have tried similar pipelines in GStreamer 1.14.1, 1.14.5, and 1.16.0 with identical results.

This pipeline works with rate-control=constant bitrate (CBR):

gst-launch-1.0 -v videotestsrc num-buffers=1000 ! videoconvert ! vaapipostproc width=1280 height=720 ! vaapih264enc rate-control=cbr bitrate=8000 ! mp4mux ! filesink location=video.mp4

This pipeline fails with rate-control=variable bitrate (VBR):

gst-launch-1.0 -v videotestsrc num-buffers=1000 ! videoconvert ! vaapipostproc width=1280 height=720 ! vaapih264enc rate-control=vbr bitrate=8000 ! mp4mux ! filesink location=video.mp4
    ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
    streaming stopped, reason not-negotiated (-4)
    ERROR: pipeline doesn't want to preroll.

 


Viewing all articles
Browse latest Browse all 2185

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>