diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 2dfea9431eea812adc2cfa8bbcd79fee903d1be2..53f0b13e16928a27e01346320e0a1afa34a28424 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -76,6 +76,13 @@
         }                                    \
     } while (0)
 
+const enum AVPixelFormat ff_nvenc_pix_fmts[] = {
+    AV_PIX_FMT_NV12,
+    AV_PIX_FMT_YUV420P,
+    AV_PIX_FMT_YUV444P,
+    AV_PIX_FMT_NONE
+};
+
 static const struct {
     NVENCSTATUS nverr;
     int         averr;
diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h
index 32d334541460af3d6d4affc75c920affc4015f2e..7b1e8a559613492c136f123dfa21e5c238a4b8ff 100644
--- a/libavcodec/nvenc.h
+++ b/libavcodec/nvenc.h
@@ -135,4 +135,6 @@ int ff_nvenc_encode_close(AVCodecContext *avctx);
 int ff_nvenc_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
                           const AVFrame *frame, int *got_packet);
 
+extern const enum AVPixelFormat ff_nvenc_pix_fmts[];
+
 #endif /* AVCODEC_NVENC_H */
diff --git a/libavcodec/nvenc_h264.c b/libavcodec/nvenc_h264.c
index 92eb5196b3fc366239859a903d4d63da07e6d423..7374b13f68ac5bc6d02028c2fbfc4a46b04e71ef 100644
--- a/libavcodec/nvenc_h264.c
+++ b/libavcodec/nvenc_h264.c
@@ -101,12 +101,9 @@ AVCodec ff_h264_nvenc_encoder = {
     .priv_data_size = sizeof(NVENCContext),
     .priv_class     = &nvenc_hevc_class,
     .defaults       = defaults,
-    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
-                                                    AV_PIX_FMT_YUV420P,
-                                                    AV_PIX_FMT_YUV444P,
-                                                    AV_PIX_FMT_NONE },
     .capabilities   = AV_CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
+    .pix_fmts       = ff_nvenc_pix_fmts,
 };
 
 #if FF_API_NVENC_OLD_NAME
@@ -135,11 +132,8 @@ AVCodec ff_nvenc_h264_encoder = {
     .priv_data_size = sizeof(NVENCContext),
     .priv_class     = &nvenc_h264_old_class,
     .defaults       = defaults,
-    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
-                                                    AV_PIX_FMT_YUV420P,
-                                                    AV_PIX_FMT_YUV444P,
-                                                    AV_PIX_FMT_NONE },
     .capabilities   = AV_CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
+    .pix_fmts       = ff_nvenc_pix_fmts,
 };
 #endif
diff --git a/libavcodec/nvenc_hevc.c b/libavcodec/nvenc_hevc.c
index 2a6919797e2f675e18eca0eb2a89ddffd9c42928..f0c6d41b8323b827a3608c53fc3803d6cb728028 100644
--- a/libavcodec/nvenc_hevc.c
+++ b/libavcodec/nvenc_hevc.c
@@ -99,10 +99,7 @@ AVCodec ff_hevc_nvenc_encoder = {
     .priv_data_size = sizeof(NVENCContext),
     .priv_class     = &nvenc_hevc_class,
     .defaults       = defaults,
-    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
-                                                    AV_PIX_FMT_YUV420P,
-                                                    AV_PIX_FMT_YUV444P,
-                                                    AV_PIX_FMT_NONE },
+    .pix_fmts       = ff_nvenc_pix_fmts,
     .capabilities   = AV_CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
@@ -133,10 +130,7 @@ AVCodec ff_nvenc_hevc_encoder = {
     .priv_data_size = sizeof(NVENCContext),
     .priv_class     = &nvenc_hevc_old_class,
     .defaults       = defaults,
-    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
-                                                    AV_PIX_FMT_YUV420P,
-                                                    AV_PIX_FMT_YUV444P,
-                                                    AV_PIX_FMT_NONE },
+    .pix_fmts       = ff_nvenc_pix_fmts,
     .capabilities   = AV_CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };