1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-08-20 08:15:06 +02:00

nvenc: factor out the pixel format list

This commit is contained in:
Anton Khirnov 2016-01-30 21:33:48 +01:00
parent fb25d99b0a
commit 28259c13db
4 changed files with 13 additions and 16 deletions

View File

@ -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;

View File

@ -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 */

View File

@ -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

View File

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