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.

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

qian_y_
Beginner
466 Views

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

Qustions:

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?

 

Thanks

0 Kudos
1 Reply
qian_y_
Beginner
466 Views

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.

0 Kudos
Reply