msdkh265enc: Add profile main10 still picture for hevc

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2524>
This commit is contained in:
Mengkejiergeli Ba 2021-09-15 16:32:02 +08:00 committed by GStreamer Marge Bot
parent afa1c19b37
commit 788826b205
2 changed files with 11 additions and 2 deletions

View file

@ -96,7 +96,7 @@ enum
#define PROP_DBLK_IDC_DEFAULT 0
#define RAW_FORMATS "NV12, I420, YV12, YUY2, UYVY, BGRA, BGR10A2_LE, P010_10LE, VUYA"
#define PROFILES "main, main-10, main-444, main-still-picture"
#define PROFILES "main, main-10, main-444, main-still-picture, main-10-still-picture"
#define COMMON_FORMAT "{ " RAW_FORMATS " }"
#define PRFOLIE_STR "{ " PROFILES " }"
@ -326,7 +326,15 @@ gst_msdkh265enc_configure (GstMsdkEnc * encoder)
encoder->param.mfx.CodecProfile = MFX_PROFILE_HEVC_MAIN10;
else if (!strcmp (h265enc->profile_name, "main-still-picture"))
encoder->param.mfx.CodecProfile = MFX_PROFILE_HEVC_MAINSP;
else if (!strcmp (h265enc->profile_name, "main-444") ||
else if (!strcmp (h265enc->profile_name, "main-10-still-picture")) {
encoder->param.mfx.CodecProfile = MFX_PROFILE_HEVC_MAIN10;
h265enc->ext_param.Header.BufferId = MFX_EXTBUFF_HEVC_PARAM;
h265enc->ext_param.Header.BufferSz = sizeof (h265enc->ext_param);
h265enc->ext_param.GeneralConstraintFlags =
MFX_HEVC_CONSTR_REXT_ONE_PICTURE_ONLY;
gst_msdkenc_add_extra_param (encoder,
(mfxExtBuffer *) & h265enc->ext_param);
} else if (!strcmp (h265enc->profile_name, "main-444") ||
!strcmp (h265enc->profile_name, "main-422-10") ||
!strcmp (h265enc->profile_name, "main-444-10") ||
!strcmp (h265enc->profile_name, "main-12"))

View file

@ -71,6 +71,7 @@ struct _GstMsdkH265Enc
guint dblk_idc;
mfxExtHEVCTiles ext_tiles;
mfxExtHEVCParam ext_param;
/* roi[0] for current ROI and roi[1] for previous ROI */
mfxExtEncoderROI roi[2];