CodecLevel not honoured

CodecLevel not honoured

I am trying to force the SDK to use idc_level 30 and I am setting CodecLevel to MFX_LEVEL_AVC_3 in order to do this.

This doesn't seem to have any effect.  On the target machine, a recent I5 machine (hardware encoding), an examination of the H.264 stream generated by the SDK shows that idc_level=32.

The reason for wanting level 30 is that Windows Media Player can't play our MP4 files properly on some machines.  On machines where Media SDK defaults to idc_level=30, our MP4 files play fine.  On machines where Media SDK uses idc_level=32, the file opens but freezes at the first frame.  Needless to say, VLC plays the files fine, so this looks like a bug in WMP, but one we would like to work around by forcing idc_level=30.

Any ideas on why CodecLevel is not being honoured by Media SDK?

2 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Hi,

Media SDK will change the level if it does not fit in the recommended AVC profile/level brackets. See http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels for more info. The decision depends on for instance selected resolution and bit rate.

You can call GetVideoParam() after Init() to determine the set of encode parameters that were selected.

Regards,
Petter

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!