Christian König wrote:
Am 18.10.2016 um 11:19 schrieb Andy Furniss: wrote:
From: Boyuan Zhang <>

cabac is only supported in the h264 main and higher profiles

So shouldn't there be code allows it if the user space doesn't
set baseline?

I don't know how in gstreamer as it seems to try to use b-frames
if you use other than baseline which doesn't work.

With avconv it is possible to call main/high and set b-frames to 0.

I know it's technically correct spec wise, but seems a shame as it
costs a fair bit in "free" efficiency.

On Windows the raptor game recording app produces files flagged as
high with cabac - but without b-frames.

The problem is that it can easily break decoders. CABAC is simply not
allowed in a stream flagged as baseline compliant.

But with ffmpeg/avconv I can make a stream flagged as main/high even
if it's really baseline + CABAC. I guess Windows may vary but the test
I did seems to take this pragmatic approach, as it seems do other h/w
encoders eg. smartphone output.

It's a pity that we don't support B-frames any more.

Anymore? Now I am curious, seems to work with omx (cqp single instance)

With that in place
we could easily advertise support for mainline profile.



Signed-off-by: Boyuan Zhang <>
  src/gallium/state_trackers/va/picture.c | 1 -
  1 file changed, 1 deletion(-)

diff --git a/src/gallium/state_trackers/va/picture.c
index eae5dc4..db08a3c 100644
--- a/src/gallium/state_trackers/va/picture.c
+++ b/src/gallium/state_trackers/va/picture.c
@@ -110,7 +110,6 @@ getEncParamPreset(vlVaContext *context)
     context->desc.h264enc.motion_est.enc_ime2_search_range_y =

     //pic control preset
-   context->desc.h264enc.pic_ctrl.enc_cabac_enable = 0x00000001;
     context->desc.h264enc.pic_ctrl.enc_constraint_set_flags =

     //rate control

mesa-dev mailing list

mesa-dev mailing list

Reply via email to