[Libva] Potential bug in the mpeg2 decoder for US15W chipsets

Andreas Larsson andreas.larsson at multiq.se
Thu Mar 21 03:16:50 PDT 2013


I checked the specs. Never mind me.

Regarding intra_dc_precision: [8-10] for Simple, Main, SNR & Spatial. [8-11] for High. :(

Seems the chip only supports VAProfileMPEG2Main and not VAProfileMPEG2High.

Kind regards, Andreas Larsson

> Info on how to reproduce it with very little effort: 
> 
> Convert some movie into m2v and force intra dc precision to 11:
> ffmpeg -i somemovie -sameq -dc 11 out_11.m2v
> 
> on unit simply play it using vaapi:
> mplayer -vo vaapi -va vaapi out_11.m2v 
> 
> The DC-levels on the I-frames are completely off. Using -dc 10 on the ffmpeg line will produce a movie that is perfectly playable.
> 
> I assume the problem lies either in the va-backend (driver), in the micro code of the chip (driver binary blob) or in the chip itself (HW problem). Can you confirm?
> 
> Also I haven't read the MPEG2 spec closely enough to confirm that a intra dc precision value of 3 (i.e. 11 bits) are ok when using main profile...
> 
> Kind regards, Andreas Larsson
> 
>> Another problem I've stumbled upon is that when using intra_dc_precision = 3 (i.e. 11-bit DC-predictors) the chip doesn't decode the stream properly. The DC levels are completely off both in luma and in chroma. Decoding the same stream using VLC or software mplayer etc displays it correctly.
>> 
>> VA: v0.31.1 VAProfileMPEG2Main + VAEntrypointVLD
>> CPU : Intel ATOM Z510
>> GFX: Intel US15W
>> OS: Linux Fedora 14
>> X.Org: X.Org X Server 1.9.4
>> GFX-driver: Intel(R) Embedded Media and Graphics Driver version 1.14.2443
>> 
>> Switching to intra_dc_precision = 2 (i.e. 10-bit DC predictors) decodes correctly though. Do you have any erratas on this or any helpful insights?
>> 
>> Kind regards, Andreas Larsson
> 
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva



More information about the Libva mailing list