[FFmpeg-cvslog] avcodec/nvenc: Add 'nvenc_h264' as an alternative name for 'nvenc'

Philip Langdale git at videolan.org
Sat Jun 6 22:16:28 CEST 2015


ffmpeg | branch: master | Philip Langdale <philipl at overt.org> | Sat Jun  6 11:09:15 2015 -0700| [7e4661174ae11f95cb3527a9f58f1a71d297359c] | committer: Philip Langdale

avcodec/nvenc: Add 'nvenc_h264' as an alternative name for 'nvenc'

This allows us to offer the same codec name that libav uses. We don't have
a special way to do aliases, so it's all a bit more verbose than you'd want
but such is life.

Signed-off-by: Philip Langdale <philipl at overt.org>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e4661174ae11f95cb3527a9f58f1a71d297359c
---

 configure              |    1 +
 libavcodec/allcodecs.c |    1 +
 libavcodec/nvenc.c     |   25 +++++++++++++++++++++++++
 3 files changed, 27 insertions(+)

diff --git a/configure b/configure
index 8290591..058c199 100755
--- a/configure
+++ b/configure
@@ -2485,6 +2485,7 @@ libutvideo_decoder_deps="libutvideo"
 libutvideo_encoder_deps="libutvideo"
 libzvbi_teletext_decoder_deps="libzvbi"
 nvenc_encoder_deps="nvenc"
+nvenc_h264_encoder_deps="nvenc"
 nvenc_hevc_encoder_deps="nvenc"
 
 # demuxers / muxers
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index e873705..4cc93aa 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -236,6 +236,7 @@ void avcodec_register_all(void)
     REGISTER_DECODER(MXPEG,             mxpeg);
     REGISTER_DECODER(NUV,               nuv);
     REGISTER_ENCODER(NVENC,             nvenc);
+    REGISTER_ENCODER(NVENC_H264,        nvenc_h264);
     REGISTER_ENCODER(NVENC_HEVC,        nvenc_hevc);
     REGISTER_DECODER(PAF_VIDEO,         paf_video);
     REGISTER_ENCDEC (PAM,               pam);
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 246f6a1..87ce6f3 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -1427,6 +1427,31 @@ AVCodec ff_nvenc_encoder = {
 };
 #endif
 
+/* Add an alias for nvenc_h264 */
+#if CONFIG_NVENC_H264_ENCODER
+static const AVClass nvenc_h264_class = {
+    .class_name = "nvenc_h264",
+    .item_name = av_default_item_name,
+    .option = options,
+    .version = LIBAVUTIL_VERSION_INT,
+};
+
+AVCodec ff_nvenc_h264_encoder = {
+    .name = "nvenc_h264",
+    .long_name = NULL_IF_CONFIG_SMALL("Nvidia NVENC h264 encoder"),
+    .type = AVMEDIA_TYPE_VIDEO,
+    .id = AV_CODEC_ID_H264,
+    .priv_data_size = sizeof(NvencContext),
+    .init = nvenc_encode_init,
+    .encode2 = nvenc_encode_frame,
+    .close = nvenc_encode_close,
+    .capabilities = CODEC_CAP_DELAY,
+    .priv_class = &nvenc_h264_class,
+    .defaults = nvenc_defaults,
+    .pix_fmts = pix_fmts_nvenc,
+};
+#endif
+
 #if CONFIG_NVENC_HEVC_ENCODER
 static const AVClass nvenc_hevc_class = {
     .class_name = "nvenc_hevc",



More information about the ffmpeg-cvslog mailing list