[MPlayer-cvslog] r29885 - in trunk: DOCS/man/en/mplayer.1 codec-cfg.c etc/codecs.conf fmt-conversion.c libmpcodecs/img_format.c libmpcodecs/img_format.h libswscale/swscale.c libvo/vo_vdpau.c

cehoyos subversion at mplayerhq.hu
Tue Nov 10 20:11:13 CET 2009


Author: cehoyos
Date: Tue Nov 10 20:11:13 2009
New Revision: 29885

Log:
Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capable
hardware.

Original patch by NVIDIA corporation.

Modified:
   trunk/codec-cfg.c
   trunk/etc/codecs.conf
   trunk/fmt-conversion.c
   trunk/libmpcodecs/img_format.c
   trunk/libmpcodecs/img_format.h
   trunk/libvo/vo_vdpau.c

Changes in other areas also in this revision:
Modified:
   trunk/DOCS/man/en/mplayer.1
   trunk/libswscale/swscale.c

Modified: trunk/codec-cfg.c
==============================================================================
--- trunk/codec-cfg.c	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/codec-cfg.c	Tue Nov 10 20:11:13 2009	(r29885)
@@ -192,6 +192,7 @@ static int add_to_format(char *s, char *
 		{"VDPAU_H264",IMGFMT_VDPAU_H264},
 		{"VDPAU_WMV3",IMGFMT_VDPAU_WMV3},
 		{"VDPAU_VC1",IMGFMT_VDPAU_VC1},
+		{"VDPAU_MPEG4",IMGFMT_VDPAU_MPEG4},
 
 		{NULL,    0}
 	};

Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/etc/codecs.conf	Tue Nov 10 20:11:13 2009	(r29885)
@@ -954,6 +954,37 @@ videocodec ffodivx
   dll mpeg4 ;opendivx
   out YV12,I420,IYUV
 
+videocodec ffodivxvdpau
+  info "FFmpeg MPEG-4,DIVX-4/5 (VDPAU)"
+  status working
+  fourcc FMP4,fmp4
+  fourcc DIVX,divx
+  fourcc DIV1,div1 divx
+  fourcc MP4S,mp4s ; ISO MPEG-4 Video V1
+  fourcc M4S2,m4s2
+  fourcc xvid,XVID,XviD,XVIX
+  fourcc DX50,dx50,BLZ0 DX50
+  fourcc mp4v,MP4V
+  format 0x4
+  fourcc UMP4
+  fourcc RMP4
+  fourcc 3IV2,3iv2  ; 3ivx Delta 4
+  fourcc DXGM
+  fourcc SEDG ; diskless camcorder Samsung Miniket VP-M110
+  fourcc SMP4,smp4 ; Samsung SMP4 video codec
+  fourcc VIDM ; vidm 4.01 codec
+  format 0x10000004  ; mpeg 4 es
+  fourcc m4cc,M4CC
+  fourcc hdx4,HDX4
+  fourcc FVFW,fvfw
+  fourcc FFDS
+  fourcc DCOD,MVXM,EM4A,PM4V
+  fourcc M4T3,DMK2,DIGI,INMC
+  fourcc EPHV,SN40
+  driver ffmpeg
+  dll mpeg4_vdpau
+  out VDPAU_MPEG4
+
 videocodec ffwv1f
   info "WV1F MPEG-4"
   status working

Modified: trunk/fmt-conversion.c
==============================================================================
--- trunk/fmt-conversion.c	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/fmt-conversion.c	Tue Nov 10 20:11:13 2009	(r29885)
@@ -73,6 +73,7 @@ static const struct {
     {IMGFMT_VDPAU_H264,      PIX_FMT_VDPAU_H264},
     {IMGFMT_VDPAU_WMV3,      PIX_FMT_VDPAU_WMV3},
     {IMGFMT_VDPAU_VC1,       PIX_FMT_VDPAU_VC1},
+    {IMGFMT_VDPAU_MPEG4,     PIX_FMT_VDPAU_MPEG4},
     {0, PIX_FMT_NONE}
 };
 

Modified: trunk/libmpcodecs/img_format.c
==============================================================================
--- trunk/libmpcodecs/img_format.c	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/libmpcodecs/img_format.c	Tue Nov 10 20:11:13 2009	(r29885)
@@ -72,6 +72,7 @@ const char *vo_format_name(int format)
 	case IMGFMT_VDPAU_MPEG1: return "MPEG1 VDPAU acceleration";
 	case IMGFMT_VDPAU_MPEG2: return "MPEG2 VDPAU acceleration";
 	case IMGFMT_VDPAU_H264: return "H.264 VDPAU acceleration";
+	case IMGFMT_VDPAU_MPEG4: return "MPEG-4 Part 2 VDPAU acceleration";
 	case IMGFMT_VDPAU_WMV3: return "WMV3 VDPAU acceleration";
 	case IMGFMT_VDPAU_VC1: return "VC1 VDPAU acceleration";
     }

Modified: trunk/libmpcodecs/img_format.h
==============================================================================
--- trunk/libmpcodecs/img_format.h	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/libmpcodecs/img_format.h	Tue Nov 10 20:11:13 2009	(r29885)
@@ -120,6 +120,7 @@
 #define IMGFMT_VDPAU_H264          (IMGFMT_VDPAU|0x03)
 #define IMGFMT_VDPAU_WMV3          (IMGFMT_VDPAU|0x04)
 #define IMGFMT_VDPAU_VC1           (IMGFMT_VDPAU|0x05)
+#define IMGFMT_VDPAU_MPEG4         (IMGFMT_VDPAU|0x06)
 
 typedef struct {
     void* data;

Modified: trunk/libvo/vo_vdpau.c
==============================================================================
--- trunk/libvo/vo_vdpau.c	Tue Nov 10 19:10:16 2009	(r29884)
+++ trunk/libvo/vo_vdpau.c	Tue Nov 10 20:11:13 2009	(r29885)
@@ -579,6 +579,9 @@ static int create_vdp_decoder(uint32_t f
     case IMGFMT_VDPAU_VC1:
         vdp_decoder_profile = VDP_DECODER_PROFILE_VC1_ADVANCED;
         break;
+    case IMGFMT_VDPAU_MPEG4:
+        vdp_decoder_profile = VDP_DECODER_PROFILE_MPEG4_PART2_ASP;
+        break;
     default:
         goto err_out;
     }
@@ -1112,6 +1115,7 @@ static int query_format(uint32_t format)
     case IMGFMT_VDPAU_H264:
     case IMGFMT_VDPAU_WMV3:
     case IMGFMT_VDPAU_VC1:
+    case IMGFMT_VDPAU_MPEG4:
         if (create_vdp_decoder(format, 48, 48, 2))
             return default_flags;
     }


More information about the MPlayer-cvslog mailing list