From 2b3242253d9a8701f3ca1f3be88e5dd2d96c8dd6 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Date: Fri, 16 Jan 2009 16:50:32 +0000
Subject: [PATCH] Add mpeg1_vdpau decoder.

Originally committed as revision 16640 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 configure              |  1 +
 libavcodec/Makefile    |  1 +
 libavcodec/allcodecs.c |  1 +
 libavcodec/mpeg12.c    | 16 ++++++++++++++++
 4 files changed, 19 insertions(+)

diff --git a/configure b/configure
index 7e885316de1..94178511e92 100755
--- a/configure
+++ b/configure
@@ -994,6 +994,7 @@ mpeg1video_encoder_select="aandct"
 mpeg2video_encoder_select="aandct"
 mpeg4_encoder_select="aandct"
 mpeg_vdpau_decoder_deps="vdpau"
+mpeg1_vdpau_decoder_deps="vdpau"
 mpeg_xvmc_decoder_deps="xvmc X11_extensions_XvMClib_h"
 msmpeg4v1_encoder_select="aandct"
 msmpeg4v2_encoder_select="aandct"
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index f23b1cecfe4..fa8b71bc73a 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -134,6 +134,7 @@ OBJS-$(CONFIG_MPC7_DECODER)            += mpc7.o mpc.o mpegaudiodec.o mpegaudiod
 OBJS-$(CONFIG_MPC8_DECODER)            += mpc8.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
 OBJS-$(CONFIG_MDEC_DECODER)            += mdec.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
 OBJS-$(CONFIG_MPEG_VDPAU_DECODER)      += vdpauvideo.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
+OBJS-$(CONFIG_MPEG1_VDPAU_DECODER)     += vdpauvideo.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
 OBJS-$(CONFIG_MPEGVIDEO_DECODER)       += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
 OBJS-$(CONFIG_MPEG1VIDEO_DECODER)      += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
 OBJS-$(CONFIG_MPEG1VIDEO_ENCODER)      += mpeg12enc.o mpeg12data.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index ba3ab1648c7..8c3133e735f 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -110,6 +110,7 @@ void avcodec_register_all(void)
     REGISTER_ENCDEC  (MPEG4, mpeg4);
     REGISTER_DECODER (MPEGVIDEO, mpegvideo);
     REGISTER_DECODER (MPEG_VDPAU, mpeg_vdpau);
+    REGISTER_DECODER (MPEG1_VDPAU, mpeg1_vdpau);
     REGISTER_ENCDEC  (MSMPEG4V1, msmpeg4v1);
     REGISTER_ENCDEC  (MSMPEG4V2, msmpeg4v2);
     REGISTER_ENCDEC  (MSMPEG4V3, msmpeg4v3);
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 8d97103ca5e..6f2a49e9a66 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -2542,3 +2542,19 @@ AVCodec mpeg_vdpau_decoder = {
 };
 #endif
 
+#if CONFIG_MPEG1_VDPAU_DECODER
+AVCodec mpeg1_vdpau_decoder = {
+    "mpeg1video_vdpau",
+    CODEC_TYPE_VIDEO,
+    CODEC_ID_MPEG1VIDEO,
+    sizeof(Mpeg1Context),
+    mpeg_decode_init,
+    NULL,
+    mpeg_decode_end,
+    mpeg_decode_frame,
+    CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_HWACCEL_VDPAU | CODEC_CAP_DELAY,
+    .flush= ff_mpeg_flush,
+    .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video (VDPAU acceleration)"),
+};
+#endif
+
-- 
GitLab