Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

CodecLevel not honoured

paul1andrews
Beginner
411 Views

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?

0 Kudos
1 Reply
Petter_L_Intel
Employee
411 Views
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
0 Kudos
Reply