[MPlayer-dev-eng] removing libmpcodecs/vf_yuy2.c
Reinhard Tartler
siretart at tauware.de
Thu May 13 20:06:03 CEST 2010
Hi,
Attila and I are thinking about what needs to be done to get started on
a potential rc4 release. The first task is to get mplayer compiled
against ffmpeg-0.6 with shared libraries. This currently fails because
parts of mplayer use symbols of libswscale that are *not* part of the
public API. First step is this linker error:
vf_yuy2.c:(.text+0x115): undefined reference to `yv12toyuy2'
vf_yuy2.c:(.text+0x180): undefined reference to `yuv422ptoyuy2'
collect2: ld returned 1 exit status
We have looked at libmpcodecs/vf_yuy2.c, and found that it is rather
redundant and is effectively replaced by -vf format=yuv2. We therefore
propose to remove that file.
patch follows:
Reinhard & Attila
Index: Makefile
===================================================================
--- Makefile (revision 31095)
+++ Makefile (working copy)
@@ -473,7 +473,6 @@
libmpcodecs/vf_vo.c \
libmpcodecs/vf_yadif.c \
libmpcodecs/vf_yuvcsp.c \
- libmpcodecs/vf_yuy2.c \
libmpcodecs/vf_yvu9.c \
libmpdemux/aac_hdr.c \
libmpdemux/asfheader.c \
Index: DOCS/man/en/mplayer.1
===================================================================
--- DOCS/man/en/mplayer.1 (revision 31095)
+++ DOCS/man/en/mplayer.1 (working copy)
@@ -4176,11 +4176,11 @@
.PD 1
.
.TP
-.B s3fb (Linux only) (also see \-vf yuv2 and \-dr)
+.B s3fb (Linux only) (also see \-dr)
S3 Virge specific video output driver.
This driver supports the card's YUV conversion and scaling, double
buffering and direct rendering features.
-Use \-vf yuy2 to get hardware-accelerated YUY2 rendering, which is
+Use \-vf format=yuy2 to get hardware-accelerated YUY2 rendering, which is
much faster than YV12 on this card.
.PD 0
.RSs
@@ -6071,11 +6071,6 @@
.RE
.
.TP
-.B "yuy2\ \ \ "
-Forces software YV12/\:I420/\:422P to YUY2 conversion.
-Useful for video cards/\:drivers with slow YV12 but fast YUY2 support.
-.
-.TP
.B "yvu9\ \ \ "
Forces software YVU9 to YV12 colorspace conversion.
Deprecated in favor of the software scaler.
Index: libmpcodecs/vf_yuy2.c
===================================================================
--- libmpcodecs/vf_yuy2.c (revision 31095)
+++ libmpcodecs/vf_yuy2.c (working copy)
@@ -1,100 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "help_mp.h"
-
-#include "img_format.h"
-#include "mp_image.h"
-#include "vf.h"
-
-#include "libswscale/rgb2rgb.h"
-#include "vf_scale.h"
-
-//===========================================================================//
-
-static int config(struct vf_instance *vf,
- int width, int height, int d_width, int d_height,
- unsigned int flags, unsigned int outfmt){
-
- sws_rgb2rgb_init(get_sws_cpuflags());
-
- if(vf_next_query_format(vf,IMGFMT_YUY2)<=0){
- mp_msg(MSGT_VFILTER, MSGL_WARN, MSGTR_MPCODECS_WarnNextFilterDoesntSupport, "YUY2");
- return 0;
- }
-
- return vf_next_config(vf,width,height,d_width,d_height,flags,IMGFMT_YUY2);
-}
-
-static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts){
- mp_image_t *dmpi;
-
- // hope we'll get DR buffer:
- dmpi=vf_get_image(vf->next,IMGFMT_YUY2,
- MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
- mpi->w, mpi->h);
-
- if(mpi->imgfmt==IMGFMT_422P)
- yuv422ptoyuy2(mpi->planes[0],mpi->planes[1],mpi->planes[2], dmpi->planes[0],
- mpi->w,mpi->h, mpi->stride[0],mpi->stride[1],dmpi->stride[0]);
- else
- yv12toyuy2(mpi->planes[0],mpi->planes[1],mpi->planes[2], dmpi->planes[0],
- mpi->w,mpi->h, mpi->stride[0],mpi->stride[1],dmpi->stride[0]);
-
- vf_clone_mpi_attributes(dmpi, mpi);
-
- return vf_next_put_image(vf,dmpi, pts);
-}
-
-//===========================================================================//
-
-static int query_format(struct vf_instance *vf, unsigned int fmt){
- switch(fmt){
- case IMGFMT_YV12:
- case IMGFMT_I420:
- case IMGFMT_IYUV:
- case IMGFMT_422P:
- return vf_next_query_format(vf,IMGFMT_YUY2) & (~VFCAP_CSP_SUPPORTED_BY_HW);
- }
- return 0;
-}
-
-static int vf_open(vf_instance_t *vf, char *args){
- vf->config=config;
- vf->put_image=put_image;
- vf->query_format=query_format;
- return 1;
-}
-
-const vf_info_t vf_info_yuy2 = {
- "fast YV12/Y422p -> YUY2 conversion",
- "yuy2",
- "A'rpi",
- "",
- vf_open,
- NULL
-};
-
-//===========================================================================//
--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4
More information about the MPlayer-dev-eng
mailing list