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, };