summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Langdale <philipl@overt.org>2015-06-06 11:09:15 -0700
committerPhilip Langdale <philipl@overt.org>2015-06-06 13:14:14 -0700
commit7e4661174ae11f95cb3527a9f58f1a71d297359c (patch)
treeceefa735f54b6b3ebd43775bd34e47e735707e08
parente79c40fe72475a37db44849c1e1399b593dcaffd (diff)
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@overt.org>
-rwxr-xr-xconfigure1
-rw-r--r--libavcodec/allcodecs.c1
-rw-r--r--libavcodec/nvenc.c25
3 files changed, 27 insertions, 0 deletions
diff --git a/configure b/configure
index 8290591d1b..058c19977d 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 e8737051f2..4cc93aae47 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 246f6a178b..87ce6f35cb 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",