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.

H.264 encoding fails for frame rates greater than 172fps

Prashanth_D_
Beginner
525 Views

Hi,

I noticed that Intel QSV H.264 encoding fails (returns MFX_ERR_UNSUPPORTED during query API call) if I configure encoding frame rates greater than 172fps even for resolutions like 720p. Looks like there is a check for 172fps irrespective of resolution.

As per my understanding, H.264 Level 5.2 has 172fps restriction for 1080p resolution. For resolutions lesser than 1080p (like 720p) we should be able to encode at more than 172fps.

Could you please help me understand the codec behavior? I need to encode a 720p clip which is 220fps.

System Configuration:

Hardware: i7-6770HQ

Media SDK Version: 2017 R2

Regards,

Prashanth

0 Kudos
6 Replies
Anna_B_Intel
Employee
525 Views

Hi Prashanth, 

What is your operating system?

Best wishes, 

Anna

0 Kudos
Prashanth_D_
Beginner
525 Views

Hi,

We are using "CentOS Linux release 7.2.1511"

Regards,

Prashanth Dixit

0 Kudos
Anna_B_Intel
Employee
525 Views

Hi Prashanth, 

According to Annex A of AVC standard its possible to encode the 720p@240 stream with level not less than 5.1. To do that with Media SDK you need to exclude framerate information from stream syntax disabling TimingInfoPresent or enabling DisableVUI option. 

Best wishes, 

Anna

0 Kudos
Prashanth_D_
Beginner
525 Views

Hi Anna,

Thanks for the information. I believe disabling VUI is not a standard specific restriction for 720p@240fps. Is there any reason why do we need to disable VUI in IMSDK?

I will try this out and let you know in case I face any issue.

Regards,

Prashanth Dixit

0 Kudos
Anna_B_Intel
Employee
525 Views

Hi Prashanth, 

Sorry for the delayed response. I doublechecked this question. 

I was wrong saying that 720p@220 fps is allowed by the standard. Sorry, it’s my mistake. According the Annex A of AVC standard, framerate can be calculated in a way below:

Let the variable fR be derived as follows:

– If picture n is a frame, fR is set equal to 1 ÷ 172.

– Otherwise (picture n is a field), fR is set equal to 1 ÷ (172 * 2).

But if the stream doesn’t contain framerate – framerate values can’t be calculated and this restriction can’t be applied.

So, Media SDK allows user to encode high framerate if user excludes framerates information. A section that describes framerate is a part of VUI. So, we need to гыу disableVUI to encode with framerate higher than 172.

Best wishes,

Anna

0 Kudos
Prashanth_D_
Beginner
525 Views

Hi Anna,

Thanks for the info. Even I checked the standard again, and you are right, maximum frame rate for 720pHD is 172fps according to Annex A.

We have tested by disabling TimingInfoPresent flag and it is working fine now for 720p@220 fps.

Once again thanks for your support.

Regards,

Prashanth Dixit

0 Kudos
Reply