Media (Intel® oneAPI 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 sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
2999 Discussions

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

mbilio885
Beginner
695 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
684 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

2 Replies
Mark_L_Intel1
Moderator
685 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


Mark_L_Intel1
Moderator
657 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


Reply