On 22.05.2019 08:59, lance.lmw...@gmail.com wrote:
From: Limin Wang <lance.lmw...@gmail.com>

The testing command for the HDR10 output with nvenc:
$ ./ffmpeg_g -y -i 4K.mp4 -c:v hevc_nvenc -g 7 -color_primaries bt2020 
-colorspace bt2020_ncl -color_trc smpte2084 -sei hdr10 \
         -master_display 
"G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,50)" -max_cll "0, 
0" test.ts

Please notice it is preferable to use the frame sei side data than 
master_display and max_cll paramters config
---
  libavcodec/nvenc.c      | 129 ++++++++++++++++++++++++++++++++++++++++
  libavcodec/nvenc.h      |  18 ++++++
  libavcodec/nvenc_hevc.c |  11 ++++
  3 files changed, 158 insertions(+)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 75dda6d689..3fd0eca4a5 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -22,6 +22,9 @@
  #include "config.h"
#include "nvenc.h"
+#include "cbs_h265.h"
+#include "hevc_sei.h"
+#include "put_bits.h"
#include "libavutil/hwcontext_cuda.h"
  #include "libavutil/hwcontext.h"
@@ -30,6 +33,7 @@
  #include "libavutil/avassert.h"
  #include "libavutil/mem.h"
  #include "libavutil/pixdesc.h"
+#include "libavutil/mastering_display_metadata.h"
  #include "internal.h"
#define CHECK_CU(x) FF_CUDA_CHECK_DL(avctx, dl_fn->cuda_dl, x)
@@ -1491,6 +1495,46 @@ av_cold int ff_nvenc_encode_init(AVCodecContext *avctx)
          ctx->data_pix_fmt = avctx->pix_fmt;
      }
+ ctx->display_primaries_x[0] = 13250;
+    ctx->display_primaries_y[0] = 34500;
+    ctx->display_primaries_x[1] = 7500;
+    ctx->display_primaries_y[1] = 3000;
+    ctx->display_primaries_x[2] = 34000;
+    ctx->display_primaries_y[2] = 16000;
+    ctx->white_point_x          = 15635;
+    ctx->white_point_y          = 16450;
+    ctx->max_display_mastering_luminance = 10000000;
+    ctx->min_display_mastering_luminance = 500;
+    ctx->max_content_light_level = 0;
+    ctx->max_pic_average_light_level = 0;

Does all this really belong into an encoder? The command line parameter also looks very arcane. To me, this looks more like a filter or something should add this as extra data, and then multiple encoders can pick it up from there.

Same goes for patch 3/3. Patch 1/3 is looks OK to me.


Timo

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to