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.
3069 Discussions

vpl-vppenc.exe: can encode to HEVC, but H.264 encoding fails

mbilio885
Beginner
1,571 Views

This is on a Windows 10 machine, with CPU i7-8700.  I'm using the pre-built vpl-vppenc.exe which ships with the SDK installer.

 

HEVC encoding works fine, using this command:

C:\Program Files (x86)\Intel\oneAPI\vpl\2021.2.2\bin>vpl-vppenc.exe -i 420_1080i25.i420 -o out.h265 -n 30 -if i420 -of h265 -sw 1920 -sh 1080 -dw 1920 -dh 1080

I also verified that the output HEVC stream is fine, and decoding it gives out frames that look like the source.

 

However H.264 encoding fails.  Command used:

C:\Program Files (x86)\Intel\oneAPI\vpl\2021.2.2\bin>vpl-vppenc.exe -i 420_1080i25.i420 -o out.h264 -n 30 -if i420 -of h264 -sw 1920 -sh 1080 -dw 1920 -dh 1080

 

What I see in the console:

opening 420_1080i25.i420
Dispatcher mode = DISPATCHER_MODE_LEGACY
Memory mode = MEM_MODE_EXTERNAL
Frame mode = INPUT_FRAME_READ_MODE_PITCH
library initialized
Frame size = 3110400
File size = 236390400
Frames estimated = 76
CodecId=541283905 | TargetUsage=4 | TargetKbps=4000 | RateControlMethod=2 | GopPicSize=0 | GopRefDist=0 |
CodecId=541283905 | CodecProfile=100 | CodecLevel=0 | JPEGChromaFormat=4 | JPEGColorFormat=0 | Rotation=0 |
PicStruct=1 | Shift=0 | BitDepthLuma=8 | BitDepthChroma=8 | ChromaFormat=1 | FourCC=1448433993 |
Width=1920 | Height=1080 | CropX=0 | CropY=0 | CropH=1080 | CropW=1920 | AspectRatioH=0 | AspectRatioW=0 |
FrameRateExtD=1 | FrameRateExtN=30 |
could not initialize encode

 

I also tried the other sample tools that ship with the SDK, and they can also encode to HEVC but not to H.264.

Labels (1)
0 Kudos
1 Solution
Mark_L_Intel1
Moderator
1,560 Views

Hi Martin,


Yes, this is expected. Our sample doesn't support H.264 by default and you can find this in the following release notes under known limitation section:

https://software.intel.com/content/www/us/en/develop/articles/oneapi-video-processing-library-release-notes.html


You can also find the link in the release notes to learn how to enable it manually.


Mark


View solution in original post

0 Kudos
2 Replies
Mark_L_Intel1
Moderator
1,561 Views

Hi Martin,


Yes, this is expected. Our sample doesn't support H.264 by default and you can find this in the following release notes under known limitation section:

https://software.intel.com/content/www/us/en/develop/articles/oneapi-video-processing-library-release-notes.html


You can also find the link in the release notes to learn how to enable it manually.


Mark


0 Kudos
Mark_L_Intel1
Moderator
1,533 Views

Glad this solution works for you. The reason why we setup the default codec HEVC as the CPU implementation is the license restrictions.


If you use GPU implementation, you should use H.264 directly because the codec is support at the hardware level.


Mark


0 Kudos
Reply