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.

Problem encoding 10bit HEVC file (Intel GACC Media SDK Plugin)

Celio_A_
Beginner
1,527 Views

Hi, i'm trying to encode 10 bit HEVC with Intel GPU Accelerated Media SDK plugin, here my command line options

sample_multi_transcode -i::h264 "C:\WORKING (HEVC)\13\T1_Video - English.264" -o::h265 "C:\WORKING (HEVC)\LOSTS3E13.hevc" -hw -async 10 -pe e5400a06c74d41f5b12d430bbaa23d0b -b 5000 -u balanced -l 1 -vbr -gop_size 240 -dist 4 -num_ref 6 -bref -bpyr -MaxKbps 12000 -ec::p010 -dc::nv12 -w 1920 -h 1080 -WeightedBiPred::default -WeightedPred::default -amfs:on -extbrc:on -pp -sys -n 1000
Multi Transcoding Sample Version 8.3.26.352
External allocator will be used as some cmd line paremeters request it.
Session 0:
Preset-controlled parameters (Default):
RateControlMethod: 2 (original preset value: 2)
AdaptiveMaxFrameSize: 16 (original preset value: 0)
AsyncDepth: 10 (original preset value: 4)
BRefType: 2 (original preset value: 0)
EnableBPyramid: 1 (original preset value: 0)
GopRefDist: 4 (original preset value: 0)
IntRefCycleDist: 0
IntRefCycleSize: 0
IntRefQPDelta: 0
IntRefType: 0
LowDelayBRC: 0
TargetUsage: 4 (original preset value: 4)
WeightedBiPred: 1 (original preset value: 0)
WeightedPred: 1 (original preset value: 0)
GopPicSize: 240 (original preset value: 47)
MaxKbps: 12000 (original preset value: 0)
TargetKbps: 5000 (original preset value: 2748)
BufferSizeInKB: 5000
MaxFrameSize: 0
LookAheadDepth: 0
plugin_loader.h :173 [INFO] Plugin was loaded from GUID: { 0xe5, 0x40, 0x0a, 0x06, 0xc7, 0x4d, 0x41, 0xf5, 0xb1, 0x2d, 0x43, 0x0b, 0xba, 0xa2, 0x3d, 0x0b } (Intel (R) Media SDK GPU-Accelerated plugin for HEVC ENCODE)
Pipeline surfaces number (EncPool): 19
Pipeline surfaces number (DecPool): 10
Sample BRC is used
MFX HARDWARE Session 0 API ver 1.25 parameters:
Input  video: AVC
Output video: HEVC
MFX dll: C:\Program Files\Intel\Media SDK\libmfxhw64.dll
Session 0 was NOT joined with other sessions
Transcoding started
.........
Transcoding finished
Common transcoding time is 53.0178 sec
-------------------------------------------------------------------------------
*** session 0 PASSED (MFX_ERR_NONE) 53.0172 sec, 1000 frames
-i::h264 C:\WORKING (HEVC)\13\T1_Video - English.264 -o::h265 C:\WORKING (HEVC)\LOSTS3E13.hevc -hw -async 10 -pe e5400a06c74d41f5b12d430bbaa23d0b -b 5000 -u balanced -l 1 -vbr -gop_size 240 -dist 4 -num_ref 6 -bref -bpyr -MaxKbps 12000 -ec::p010 -dc::nv12 -w 1920 -h 1080 -WeightedBiPred::default -WeightedPred::default -amfs:on -extbrc:on -pp -sys -n 1000
-------------------------------------------------------------------------------
The test PASSED
plugin_loader.h :199 [INFO] MFXBaseUSER_UnLoad(session=0x0000011FF83C6920), sts=0
 
I have included a screenshot of the final hevc movie picture
 
System Specs:
 
Intel Kabylake 7700 with Intel HD 630 Graphics 
Windows 10 x64
Intel Media SDK 2018R1
Intel 23.20.16.4982 drivers
0 Kudos
5 Replies
Mark_L_Intel1
Moderator
1,527 Views

Hi Celio,

It looks like the problem is you got a blank output, did you check this with hardware accelerated encoding?

I am pretty sure our HW encoder support 10bit but not sure GACC this is why I am asking

Mark

0 Kudos
Celio_A_
Beginner
1,527 Views

Hi Mark i checked with Hardware accelerated and have the same problem, green screen when encoding to 10bit HEVC, it looks like libmfxhw64.dll don't support VPP Hevc 10bit, can u check this for me? 

Regards

0 Kudos
Mark_L_Intel1
Moderator
1,527 Views

Hi Celio,

Sure, I will check it later this week since I have other urgent issues.

But just a few analysis:

  1. It looks like your input is H.264 and it is 8bit, you are assuming our sample could transfer it to 10bit. If yes, this doesn't work. By "support 10bit", we mean our API can accept HEVC 10bit as input and process stream as 10bit in our pipeline.
  2. I also confirmed our GACC should support 10bit.
  3. To isolate the problem, you can divide transcoding into decoding, vpp and encoding. Try the same input in 3 samples(sample_decode, sample_vpp and sample_encode) to see which one generates green image.

Mark

0 Kudos
Celio_A_
Beginner
1,527 Views

Can i pipe from sample_decode to sample_encode? How can i do that?

Mark i tryed with sample_decode, decode to yuv 10bit using VPP then encoded with sample_encode and it encoded perfect,

Regards

0 Kudos
Mark_L_Intel1
Moderator
1,527 Views

Hi Celio,

You don't have to pipe stream, you can output as YUV file and use it as the input of sample_encode. Yes, all samples should handle 10bit input and output.

But again, I am not optimistic that sample can take 8bit input and output 10bit by default.

Mark

0 Kudos
Reply