[Mesa-dev] [PATCH] st/va: disable cabac for h264 baseline profile

Christian König deathsimple at vodafone.de
Tue Oct 18 09:36:46 UTC 2016


Am 18.10.2016 um 11:19 schrieb Andy Furniss:
> boyuan.zhang at amd.com wrote:
>> From: Boyuan Zhang <boyuan.zhang at amd.com>
>>
>> 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.

It's a pity that we don't support B-frames any more. With that in place 
we could easily advertise support for mainline profile.

Christian.

>
>> Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com>
>> ---
>>   src/gallium/state_trackers/va/picture.c | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/src/gallium/state_trackers/va/picture.c 
>> b/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 = 
>> 0x00000004;
>>
>>      //pic control preset
>> -   context->desc.h264enc.pic_ctrl.enc_cabac_enable = 0x00000001;
>>      context->desc.h264enc.pic_ctrl.enc_constraint_set_flags = 
>> 0x00000040;
>>
>>      //rate control
>>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list