[MPlayer-cvslog] r38477 - in trunk: DOCS/man/en/mplayer.1 DOCS/tech/MAINTAINERS DOCS/tech/TODO Makefile TOOLS/coverity.sh codec-cfg.c configure etc/codecs.conf help/help_mp-en.h libmpcodecs/img_format.c libmpcodecs...

al subversion at mplayerhq.hu
Sun Apr 28 22:35:11 EEST 2024


Author: al
Date: Sun Apr 28 22:35:10 2024
New Revision: 38477

Log:
Remove XvMC support

The functionality was removed from FFmpeg for years.

With the recent FFmpeg 7 release it was completely removed from
FFmpeg, so --enable-xvmc in MPlayer now results in build errors.

This removal was discussed with Ivan who initially developed
XvMC support and maintained it in the last two decades.

Deleted:
   trunk/libvo/vo_xvmc.c
Modified:
   trunk/DOCS/tech/MAINTAINERS
   trunk/DOCS/tech/TODO
   trunk/Makefile
   trunk/TOOLS/coverity.sh
   trunk/codec-cfg.c
   trunk/configure
   trunk/etc/codecs.conf
   trunk/libmpcodecs/img_format.c
   trunk/libmpcodecs/img_format.h
   trunk/libmpcodecs/vd_ffmpeg.c
   trunk/libvo/video_out.c

Changes in other areas also in this revision:
Modified:
   trunk/DOCS/man/en/mplayer.1
   trunk/help/help_mp-en.h

Modified: trunk/DOCS/tech/MAINTAINERS
==============================================================================
--- trunk/DOCS/tech/MAINTAINERS	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/DOCS/tech/MAINTAINERS	Sun Apr 28 22:35:10 2024	(r38477)
@@ -190,7 +190,6 @@ libvo drivers:
     * vo_xover.c - Alban Bedel
     * vo_xv.c - Alexander Strasser
     * vo_xvidix.c - None
-    * vo_xvmc.c - Ivan Kalvachev
     * vo_yuv4mpeg.c - Robert Kesterson
     * vo_zr.c - Rik Snel
     * vo_zr2.c - Rik Snel

Modified: trunk/DOCS/tech/TODO
==============================================================================
--- trunk/DOCS/tech/TODO	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/DOCS/tech/TODO	Sun Apr 28 22:35:10 2024	(r38477)
@@ -52,7 +52,6 @@ mencoder:
 - stop/resume
 
 DOCS:
-- merge iive's XvMC docs into video.xml
 - enhance and merge the FAQ with the wiki FAQ
 - split man page into mplayer.1 and mencoder.1
 

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/Makefile	Sun Apr 28 22:35:10 2024	(r38477)
@@ -591,7 +591,6 @@ SRCS_MPLAYER-$(X11)           += libvo/v
 SRCS_MPLAYER-$(XMGA)          += libvo/vo_xmga.c
 SRCS_MPLAYER-$(XV)            += libvo/vo_xv.c
 SRCS_MPLAYER-$(XVIDIX)        += libvo/vo_xvidix.c
-SRCS_MPLAYER-$(XVMC)          += libvo/vo_xvmc.c
 SRCS_MPLAYER-$(XVR100)        += libvo/vo_xvr100.c
 SRCS_MPLAYER-$(YUV4MPEG)      += libvo/vo_yuv4mpeg.c
 SRCS_MPLAYER-$(ZR)            += libvo/jpeg_enc.c libvo/vo_zr.c libvo/vo_zr2.c

Modified: trunk/TOOLS/coverity.sh
==============================================================================
--- trunk/TOOLS/coverity.sh	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/TOOLS/coverity.sh	Sun Apr 28 22:35:10 2024	(r38477)
@@ -1,4 +1,4 @@
-MPLAYER_COV_OPTS="--enable-xvmc --enable-menu --enable-gui --enable-mga --enable-bl --enable-joystick --enable-radio --enable-s3fb --enable-tdfxfb --enable-tdfxvid --enable-wii --yasm=nasm"
+MPLAYER_COV_OPTS="--enable-menu --enable-gui --enable-mga --enable-bl --enable-joystick --enable-radio --enable-s3fb --enable-tdfxfb --enable-tdfxvid --enable-wii --yasm=nasm"
 rm -rf cov-int MPlayer.tgz
 make distclean
 svn up

Modified: trunk/codec-cfg.c
==============================================================================
--- trunk/codec-cfg.c	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/codec-cfg.c	Sun Apr 28 22:35:10 2024	(r38477)
@@ -254,9 +254,6 @@ static const struct {
     {"ZRMJPEGIT",   IMGFMT_ZRMJPEGIT},
     {"ZRMJPEGIB",   IMGFMT_ZRMJPEGIB},
 
-    {"IDCT_MPEG2",  IMGFMT_XVMC_IDCT_MPEG2},
-    {"MOCO_MPEG2",  IMGFMT_XVMC_MOCO_MPEG2},
-
     {"VDPAU_MPEG1", IMGFMT_VDPAU_MPEG1},
     {"VDPAU_MPEG2", IMGFMT_VDPAU_MPEG2},
     {"VDPAU_H264",  IMGFMT_VDPAU_H264},

Modified: trunk/configure
==============================================================================
--- trunk/configure	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/configure	Sun Apr 28 22:35:10 2024	(r38477)
@@ -498,7 +498,6 @@ Video output:
   --enable-mga             enable mga_vid video output [autodetect]
   --enable-xmga            enable mga_vid X11 video output [autodetect]
   --enable-xv              enable Xv video output [autodetect]
-  --enable-xvmc            enable XvMC acceleration [disable]
   --enable-vda             enable VDA acceleration [autodetect]
   --enable-vdpau           enable VDPAU acceleration [autodetect]
   --enable-vm              enable XF86VidMode support [autodetect]
@@ -617,7 +616,6 @@ Use these options if autodetection fails
   --extra-libs=FLAGS          extra linker flags
   --extra-libs-mplayer=FLAGS  extra linker flags for MPlayer
   --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
-  --with-xvmclib=NAME         adapter-specific library name (e.g. XvMCNVIDIA)
 
   --with-freetype-config=PATH path to freetype-config
   --with-sdl-config=PATH      path to sdl*-config
@@ -699,7 +697,6 @@ _xss=auto
 _dga1=auto
 _dga2=auto
 _xv=auto
-_xvmc=no  #auto when complete
 _vda=auto
 _vdpau=auto
 _sdl=auto
@@ -933,10 +930,6 @@ for ac_option do
   --with-install=*)
     _install=$(option_value $ac_option)
     ;;
-  --with-xvmclib=*)
-    _xvmclib=$(option_value $ac_option)
-    ;;
-
   --with-sdl-config=*)
     _sdlconfig=$(option_value $ac_option)
     ;;
@@ -1051,8 +1044,6 @@ for ac_option do
   --disable-xss)        _xss=no         ;;
   --enable-xv)          _xv=yes         ;;
   --disable-xv)         _xv=no          ;;
-  --enable-xvmc)        _xvmc=yes       ;;
-  --disable-xvmc)       _xvmc=no        ;;
   --enable-vda)         _vda=yes        ;;
   --disable-vda)        _vda=no         ;;
   --enable-vdpau)       _vdpau=yes      ;;
@@ -5046,37 +5037,6 @@ fi
 echores "$_xv"
 
 
-echocheck "XvMC"
-if test "$_xvmc" != no  && test "$_xv" = yes ; then
-  _xvmc=no
-  cat > $TMPC <<EOF
-#include <X11/Xlib.h>
-#include <X11/extensions/Xvlib.h>
-#include <X11/extensions/XvMClib.h>
-int main(void) {
-  XvMCQueryExtension(0, 0, 0);
-  XvMCCreateContext(0, 0, 0, 0, 0, 0, 0);
-  return 0; }
-EOF
-  for ld_tmp in $_xvmclib XvMCNVIDIA XvMCW I810XvMC ; do
-    cc_check -lXvMC -l$ld_tmp && _xvmc=yes && _xvmclib="$ld_tmp" && break
-  done
-fi
-if test "$_xvmc" = yes ; then
-  def_xvmc='#define CONFIG_XVMC 1'
-  libs_mplayer="$libs_mplayer -lXvMC"
-  test -n "$_xvmclib" && libs_mplayer="$libs_mplayer -l$_xvmclib"
-  vomodules="xvmc $vomodules"
-  res_comment="using $_xvmclib"
-  libavhwaccels="$libavhwaccels MPEG1_XVMC_HWACCEL MPEG2_XVMC_HWACCEL"
-else
-  def_xvmc='#define CONFIG_XVMC 0'
-  novomodules="xvmc $novomodules"
-  libavdecoders=$(filter_out_component decoder 'MPEG_XVMC')
-fi
-echores "$_xvmc"
-
-
 echocheck "Video Decode Acceleration (VDA)"
 if test "$_vda" = auto ; then
   _vda=no
@@ -8887,7 +8847,6 @@ XMMS_PLUGINS = $_xmms
 XV = $_xv
 XVID4 = $_xvid
 XVIDIX = $xvidix
-XVMC = $_xvmc
 XVR100 = $_xvr100
 YUV4MPEG = $_yuv4mpeg
 ZR = $_zr
@@ -9061,7 +9020,6 @@ CONFIG_RTPDEC   = $networking
 CONFIG_VF_LAVFI = $_vf_lavfi
 CONFIG_VDA      = $_vda
 CONFIG_VDPAU    = $_vdpau
-CONFIG_XVMC     = $_xvmc
 CONFIG_ZLIB     = $_zlib
 
 HAVE_GNU_AS     = $gnu_as
@@ -9472,7 +9430,6 @@ $def_xinerama
 $def_xmga
 $def_xss
 $def_xv
-$def_xvmc
 $def_xvr100
 $def_yuv4mpeg
 $def_zr

Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/etc/codecs.conf	Sun Apr 28 22:35:10 2024	(r38477)
@@ -459,8 +459,6 @@ videocodec ffmpeg1
   driver ffmpeg
   dll "mpeg1video"
   out YV12,I420,IYUV
-  out IDCT_MPEG2
-  out MOCO_MPEG2
 
 videocodec ffmpeg2
   info "FFmpeg MPEG-2"
@@ -502,8 +500,6 @@ videocodec ffmpeg2
   dll "mpeg2video"
   out YV12,I420,IYUV
   out 422P,444P
-  out IDCT_MPEG2
-  out MOCO_MPEG2
 
 ; for backward compatibility
 videocodec ffmpeg12
@@ -550,8 +546,6 @@ videocodec ffmpeg12
   dll "mpegvideo"
   out YV12,I420,IYUV
   out 422P,444P
-  out IDCT_MPEG2
-  out MOCO_MPEG2
 
 videocodec mpeg12
   info "MPEG-1 or 2 (libmpeg2)"
@@ -593,43 +587,6 @@ videocodec mpeg12
   out YV12,I420,IYUV
   out 422P
 
-videocodec ffmpeg12mc
-  info "FFmpeg MPEG-1/2 (XvMC) - deprecated, just use ffmpeg12"
-  status buggy
-  format 0x10000001  ; MPEG-1
-  format 0x10000002  ; MPEG-2
-  fourcc mpg1,mpg2,MPG2
-  fourcc "DVR "
-  fourcc PIM1        ; Pinnacle hardware-MPEG-1
-  fourcc PIM2        ; Pinnacle hardware-MPEG-2
-  fourcc VCR2
-  fourcc MPEG
-  fourcc mx5p        ; MPEG IMX 625/50 (50 Mb/s)
-  fourcc MMES,mmes   ; matrox mpeg2 in avi
-  fourcc hdv1,hdv2,hdv3
-  fourcc hdv4,hdv5,hdv6
-  fourcc hdv7,hdv8,hdv9
-  fourcc hdva,xdhd,xdh2
-  fourcc xdv1,xdv2,xdv3
-  fourcc xdv4,xdv5,xdv6
-  fourcc xdv7,xdv8,xdv9
-  fourcc xdva,xdvb,xdvc
-  fourcc xdvd,xdve,xdvf
-  fourcc xd5a,xd5b,xd5c
-  fourcc xd5d,xd5e,xd5f
-  fourcc xd59,xd54,xd55
-  fourcc xd51
-  fourcc mx5n,mx4n,mx4p
-  fourcc mx3n,mx3p
-  fourcc AVmp
-  fourcc mp2v,mpgv
-  fourcc m2v1,m1v1
-  fourcc "m1v "
-  fourcc LMP2 ; Lead mpeg2 in avi
-  driver ffmpeg
-  dll "mpegvideo_xvmc"
-  out IDCT_MPEG2
-  out MOCO_MPEG2
 
 videocodec ffmpeg1vdpau
   info "FFmpeg MPEG-1 (VDPAU)"

Modified: trunk/libmpcodecs/img_format.c
==============================================================================
--- trunk/libmpcodecs/img_format.c	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/libmpcodecs/img_format.c	Sun Apr 28 22:35:10 2024	(r38477)
@@ -139,8 +139,6 @@ const char *vo_format_name(int format)
     case IMGFMT_ZRMJPEGNI:       return "Zoran MJPEG non-interlaced";
     case IMGFMT_ZRMJPEGIT:       return "Zoran MJPEG top field first";
     case IMGFMT_ZRMJPEGIB:       return "Zoran MJPEG bottom field first";
-    case IMGFMT_XVMC_MOCO_MPEG2: return "MPEG1/2 Motion Compensation";
-    case IMGFMT_XVMC_IDCT_MPEG2: return "MPEG1/2 Motion Compensation and IDCT";
     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";

Modified: trunk/libmpcodecs/img_format.h
==============================================================================
--- trunk/libmpcodecs/img_format.h	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/libmpcodecs/img_format.h	Sun Apr 28 22:35:10 2024	(r38477)
@@ -284,14 +284,6 @@ static inline int normalize_yuvp16(int f
 #define IMGFMT_ZRMJPEGIT (('Z'<<24)|('R'<<16)|('I'<<8)|('T'))
 #define IMGFMT_ZRMJPEGIB (('Z'<<24)|('R'<<16)|('I'<<8)|('B'))
 
-// I think that this code could not be used by any other codec/format
-#define IMGFMT_XVMC 0x1DC70000
-#define IMGFMT_XVMC_MASK 0xFFFF0000
-#define IMGFMT_IS_XVMC(fmt) (((fmt)&IMGFMT_XVMC_MASK)==IMGFMT_XVMC)
-//these are chroma420
-#define IMGFMT_XVMC_MOCO_MPEG2 (IMGFMT_XVMC|0x02)
-#define IMGFMT_XVMC_IDCT_MPEG2 (IMGFMT_XVMC|0x82)
-
 // VDPAU specific format.
 #define IMGFMT_VDPAU               0x1DC80000
 #define IMGFMT_VDPAU_MASK          0xFFFF0000
@@ -304,7 +296,7 @@ static inline int normalize_yuvp16(int f
 #define IMGFMT_VDPAU_MPEG4         (IMGFMT_VDPAU|0x06)
 #define IMGFMT_VDPAU_HEVC          (IMGFMT_VDPAU|0x07)
 
-#define IMGFMT_IS_HWACCEL(fmt) (IMGFMT_IS_VDPAU(fmt) || IMGFMT_IS_XVMC(fmt))
+#define IMGFMT_IS_HWACCEL(fmt) (IMGFMT_IS_VDPAU(fmt))
 
 typedef struct {
     void* data;

Modified: trunk/libmpcodecs/vd_ffmpeg.c
==============================================================================
--- trunk/libmpcodecs/vd_ffmpeg.c	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/libmpcodecs/vd_ffmpeg.c	Sun Apr 28 22:35:10 2024	(r38477)
@@ -71,10 +71,6 @@ LIBVD_EXTERN(ffmpeg)
 #error palette too large, adapt libmpcodecs/vf.c:vf_get_image
 #endif
 
-#if CONFIG_XVMC
-#include "libavcodec/xvmc.h"
-#endif
-
 typedef struct {
     AVCodecContext *avctx;
     AVFrame *pic;
@@ -191,11 +187,6 @@ static int control(sh_video_t *sh, int c
             if(ctx->best_csp == IMGFMT_YV12) return CONTROL_TRUE;// u/v swap
             if(ctx->best_csp == IMGFMT_422P && !ctx->do_dr1) return CONTROL_TRUE;// half stride
             break;
-#if CONFIG_XVMC
-        case IMGFMT_XVMC_IDCT_MPEG2:
-        case IMGFMT_XVMC_MOCO_MPEG2:
-            if(avctx->pix_fmt == AV_PIX_FMT_XVMC) return CONTROL_TRUE;
-#endif
         }
         return CONTROL_FALSE;
     }
@@ -301,8 +292,7 @@ static void set_format_params(struct AVC
         ctx->do_dr1    = 1;
         ctx->nonref_dr = 0;
         avctx->get_buffer2 = get_buffer2;
-        mp_msg(MSGT_DECVIDEO, MSGL_V, IMGFMT_IS_XVMC(imgfmt) ?
-               MSGTR_MPCODECS_XVMCAcceleratedMPEG2 :
+        mp_msg(MSGT_DECVIDEO, MSGL_V,
                "[VD_FFMPEG] VDPAU accelerated decoding\n");
         if (ctx->use_vdpau) {
             avctx->draw_horiz_band = NULL;
@@ -741,21 +731,6 @@ static int get_buffer(AVCodecContext *av
         mpi->planes[3] = surface;
     }
 #endif
-#if CONFIG_XVMC
-    if(IMGFMT_IS_XVMC(mpi->imgfmt)) {
-        struct xvmc_pix_fmt *render = mpi->priv; //same as data[2]
-        if(!(mpi->flags & MP_IMGFLAG_DIRECT)) {
-            mp_msg(MSGT_DECVIDEO, MSGL_ERR, MSGTR_MPCODECS_OnlyBuffersAllocatedByVoXvmcAllowed);
-            assert(0);
-            return -1;//!!fixme check error conditions in ffmpeg
-        }
-        if(mp_msg_test(MSGT_DECVIDEO, MSGL_DBG5))
-            mp_msg(MSGT_DECVIDEO, MSGL_DBG5, "vd_ffmpeg::get_buffer (xvmc render=%p)\n", render);
-        assert(render != 0);
-        assert(render->xvmc_id == AV_XVMC_ID);
-        avctx->draw_horiz_band= draw_slice;
-    }
-#endif
 
     pic->data[0]= mpi->planes[0];
     pic->data[1]= mpi->planes[1];

Modified: trunk/libvo/video_out.c
==============================================================================
--- trunk/libvo/video_out.c	Fri Apr 26 12:40:15 2024	(r38476)
+++ trunk/libvo/video_out.c	Sun Apr 28 22:35:10 2024	(r38477)
@@ -100,7 +100,6 @@ char *vo_wintitle;
 extern const vo_functions_t video_out_mga;
 extern const vo_functions_t video_out_xmga;
 extern const vo_functions_t video_out_x11;
-extern const vo_functions_t video_out_xvmc;
 extern const vo_functions_t video_out_vdpau;
 extern const vo_functions_t video_out_xv;
 extern const vo_functions_t video_out_gl_nosw;
@@ -275,10 +274,6 @@ const vo_functions_t* const video_out_dr
 #endif
         &video_out_cvidix,
 #endif
-        // should not be auto-selected
-#if CONFIG_XVMC
-        &video_out_xvmc,
-#endif
         &video_out_null,
         &video_out_mpegpes,
 #ifdef CONFIG_YUV4MPEG


More information about the MPlayer-cvslog mailing list