Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
2946 Discussions

How to get 10 bit hevc/h265 streams and P frames in hevc streams by MSS encoder?


Product version: Intel® Media Server Studio 2016 R2 professional Edition Free try(SDK API 1.17)

Processor Type : Intel® Xeon® Processor E5-2689 v4

Concise Description of the Issue:

1.     I can’t  encode yuv420 file to hevc 10 bit streams by sample_encode project or ffmpeg(configured by enable-libmfx).

I try to change code in sample_encode project, as below:

 m_mfxEncParams.mfx.FrameInfo.FourCC       = MFX_FOURCC_NV12;

change to:

      m_mfxEncParams.mfx.FrameInfo.FourCC       = MFX_FOURCC_P010;

      m_mfxEncParams.mfx.FrameInfo.BitDepthLuma = 10;

      m_mfxEncParams.mfx.FrameInfo.BitDepthChroma = 10;

m_mfxEncParams.mfx.FrameInfo.Shift = 1;

It’s will be stop.So I still can’t get 10 bit hevc streams.

Command line :

./sample_encode  h265 -i  Demo_s_2160p_60fps_1000f.yuv -o  Demo_CentOS_MSS.265 -w 3840 -h 2160 -b 5000 -f 60  -sw -u speed


2.     The hevc 8 bit streams which encoded by sample_encode project or ffmpeg(configured by enable-libmfx) are only I frames and B frames, NO P frames in all streams. The command line is :

./sample_encode  h265 -i  Demo_s_2160p_60fps_1000f.yuv -o  Demo_CentOS_MSS_g15_bref_x15.265 -w 3840 -h 2160 -b 5000 -f 60  -sw -u speed -g 15 -bref -x 15  -idr_interval 0.

Or ffmpeg command line:

./ffmpeg -i aaa.mp4 -c:v hevc_qsv -preset veryfast -b:v 5000k -vframes 500  aaa_ffmpeg_qsv.265

While I try h264, I can get P frames:

./ffmpeg -i aaa.mp4 -c:v h264_qsv -preset veryfast -b:v 5000k -vframes 500  aaa_ffmpeg_qsv.264


1.     What the input file format if I want to get 10 bit hevc streams? and how I can get 10 bit hevc streams?

2.     How to set encoder parameters or change code to get hevc streams including P frames by ffmpeg or sample_encoder?



0 Kudos
1 Reply

about no P frames in hevc 8 bit streams, more information:

I also change code in sampel_encode project, as bellow:

    m_mfxEncParams.mfx.IdrInterval = 1;

    m_mfxEncParams.mfx.GopPicSize =15;

    m_mfxEncParams.mfx.GopRefDist = 3;

Still no P frames when encode h265 8 bit streams.

Hope someone can help the two question.

Thanks a lot.