---

Not totally sure about constrained high. If it is correct I'd add it
to the profiles mapped.

 libavcodec/nvenc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 9c35bd0..36ce11d 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -697,9 +697,6 @@ static int nvenc_setup_h264_config(AVCodecContext *avctx)
         h264->outputPictureTimingSEI   = 1;
     }

-    if (ctx->profile)
-        avctx->profile = ctx->profile;
-
     if (ctx->data_pix_fmt == AV_PIX_FMT_YUV444P)
         h264->chromaFormatIDC = 3;
     else
@@ -708,18 +705,23 @@ static int nvenc_setup_h264_config(AVCodecContext *avctx)
     switch (ctx->profile) {
     case NV_ENC_H264_PROFILE_BASELINE:
         cc->profileGUID = NV_ENC_H264_PROFILE_BASELINE_GUID;
+        avctx->profile  = FF_PROFILE_H264_BASELINE;
         break;
     case NV_ENC_H264_PROFILE_MAIN:
         cc->profileGUID = NV_ENC_H264_PROFILE_MAIN_GUID;
+        avctx->profile  = FF_PROFILE_H264_MAIN;
         break;
     case NV_ENC_H264_PROFILE_HIGH:
         cc->profileGUID = NV_ENC_H264_PROFILE_HIGH_GUID;
+        avctx->profile  = FF_PROFILE_H264_HIGH;
         break;
     case NV_ENC_H264_PROFILE_HIGH_444:
         cc->profileGUID = NV_ENC_H264_PROFILE_HIGH_444_GUID;
+        avctx->profile  = FF_PROFILE_H264_HIGH_444_PREDICTIVE;
         break;
     case NV_ENC_H264_PROFILE_CONSTRAINED_HIGH:
         cc->profileGUID = NV_ENC_H264_PROFILE_CONSTRAINED_HIGH_GUID;
+        avctx->profile  = FF_PROFILE_H264_HIGH|FF_PROFILE_H264_CONSTRAINED;
         break;
     }

--
2.9.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to