Mercurial > mplayer.hg
changeset 13507:ced94062bbed
Removal of vo_pgm and vo_md5, because they have been replaced by vo_pnm
and vo_md5sum. If one tries to use the old video output drivers, a message
is printed to direct them to the new drivers.
Manual page is updated (or is this called downdated? :-) ).
author | ivo |
---|---|
date | Wed, 29 Sep 2004 01:46:30 +0000 |
parents | dbe37fbd1848 |
children | d3a1e13e44a6 |
files | DOCS/man/en/mplayer.1 help/help_mp-en.h libvo/Makefile libvo/video_out.c libvo/vo_md5.c libvo/vo_pgm.c |
diffstat | 6 files changed, 9 insertions(+), 310 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1 Wed Sep 29 00:18:34 2004 +0000 +++ b/DOCS/man/en/mplayer.1 Wed Sep 29 01:46:30 2004 +0000 @@ -2774,18 +2774,6 @@ .PD 1 . .TP -.B md5\ \ \ \ -Generates images from each frame with the help of \-vo pgm and writes -their MD5 sums into a file. -Useful for debugging. -.PD 0 -.RSs -.IPs filename -Allows specifying the output filename (default: ./md5). -.RE -.PD 1 -. -.TP .B md5sum\ Calculate MD5 sums of each frame and write them to a file. Supports RGB24 and YV12 colorspaces. @@ -2906,17 +2894,6 @@ .PD 1 . .TP -.B pgm\ \ \ \ -Output each frame into a PGM file in the current directory. -Each file takes the frame number padded with leading zeros as name. -Only supports the YV12 format. -The resulting image is (width) * (height * 1.5) of the original -image. -At coordinates 0,0 for width,height you have the Y plane, at -coordinates 0,height for width/2,height/2 you have the U plane -and at width/2,height for width/2,height/2 you have the V plane. -. -.TP .B png (also see \-z) Output each frame into a PNG file in the current directory. Each file takes the frame number padded with leading zeros as name.
--- a/help/help_mp-en.h Wed Sep 29 00:18:34 2004 +0000 +++ b/help/help_mp-en.h Wed Sep 29 01:46:30 2004 +0000 @@ -801,6 +801,10 @@ #define MSGTR_VO_YUV4MPEG_InterlacedBFFMode "Using interlaced output mode, bottom-field first." #define MSGTR_VO_YUV4MPEG_ProgressiveMode "Using (default) progressive frame mode." +// Old vo drivers that have been replaced + +#define MSGTR_VO_PGM_HasBeenReplaced "The pgm video output driver has been replaced by -vo pnm:pgmyuv.\n" +#define MSGTR_VO_MD5_HasBeenReplaced "The md5 video output driver has been replaced by -vo md5sum.\n" // ======================= AO Audio Output drivers ========================
--- a/libvo/Makefile Wed Sep 29 00:18:34 2004 +0000 +++ b/libvo/Makefile Wed Sep 29 01:46:30 2004 +0000 @@ -3,7 +3,7 @@ LIBNAME = libvo.a -SRCS=geometry.c aspect.c aclib.c osd.c font_load.c gtf.c spuenc.c video_out.c vo_null.c vo_pgm.c vo_md5.c vo_mpegpes.c vo_yuv4mpeg.c $(OPTIONAL_SRCS) sub.c font_load_ft.c vo_pnm.c vo_md5sum.c md5sum.c +SRCS=geometry.c aspect.c aclib.c osd.c font_load.c gtf.c spuenc.c video_out.c vo_null.c vo_mpegpes.c vo_yuv4mpeg.c $(OPTIONAL_SRCS) sub.c font_load_ft.c vo_pnm.c vo_md5sum.c md5sum.c OBJS=$(SRCS:.c=.o) ifeq ($(VIDIX),yes)
--- a/libvo/video_out.c Wed Sep 29 00:18:34 2004 +0000 +++ b/libvo/video_out.c Wed Sep 29 01:46:30 2004 +0000 @@ -76,8 +76,6 @@ extern vo_functions_t video_out_zr; extern vo_functions_t video_out_zr2; extern vo_functions_t video_out_bl; -extern vo_functions_t video_out_pgm; -extern vo_functions_t video_out_md5; extern vo_functions_t video_out_syncfb; extern vo_functions_t video_out_fbdev; extern vo_functions_t video_out_fbdev2; @@ -217,8 +215,6 @@ #endif &video_out_null, // &video_out_odivx, - &video_out_pgm, - &video_out_md5, &video_out_mpegpes, &video_out_yuv4mpeg, #ifdef HAVE_VESA @@ -264,6 +260,10 @@ while(vo_list[0][0]){ char* vo=strdup(vo_list[0]); vo_subdevice=strchr(vo,':'); + if (!strcmp(vo, "pgm")) + mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_VO_PGM_HasBeenReplaced); + if (!strcmp(vo, "md5")) + mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_VO_MD5_HasBeenReplaced); if(vo_subdevice){ vo_subdevice[0]=0; ++vo_subdevice;
--- a/libvo/vo_md5.c Wed Sep 29 00:18:34 2004 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -/* - * video_out_pgm.c, pgm interface - * - * - * Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. - * - * Hacked into mpeg2dec by - * - * Aaron Holtzman <aholtzma@ess.engr.uvic.ca> - * - * 15 & 16 bpp support added by Franck Sicard <Franck.Sicard@solsoft.fr> - * - * Xv image suuport by Gerd Knorr <kraxel@goldbach.in-berlin.de> - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -#include "config.h" -#include "video_out.h" -#include "video_out_internal.h" - -static vo_info_t info = -{ - "MD5 sum", - "md5", - "walken", - "" -}; - -LIBVO_EXTERN (md5) - -extern vo_functions_t video_out_pgm; -extern char vo_pgm_filename[24]; - -static FILE * md5_file = NULL; -static char * md5_filename = NULL; - -static uint32_t -config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format) -{ - md5_file = fopen (md5_filename?md5_filename:"md5", "w"); - if (!md5_file) - return -1; - return video_out_pgm.config (width, height, d_width,d_height,fullscreen, title, format); -} - -static void draw_osd(void) -{ -} - -static void flip_page (void) -{ - char buf2[100]; - FILE * f; - int i; - - video_out_pgm.flip_page(); - - snprintf (buf2, 100, "md5sum %s", vo_pgm_filename); - f = popen (buf2, "r"); - if (!f) { - snprintf (buf2, 100, "md5 %s", vo_pgm_filename); - f = popen(buf2, "r"); - } - if (f) { - i = fread (buf2, 1, sizeof(buf2), f); - pclose (f); - fwrite (buf2, 1, i, md5_file); - } - remove (vo_pgm_filename); -} - -//static uint32_t draw_slice(uint8_t * src[], uint32_t slice_num) -static uint32_t draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y) -{ - return video_out_pgm.draw_slice(image,stride,w,h,x,y); -} - -//extern uint32_t output_pgm_frame (char * fname, uint8_t * src[]); - -static uint32_t draw_frame(uint8_t * src[]) -{ - return 0; -} - -static uint32_t -query_format(uint32_t format) -{ - return video_out_pgm.control(VOCTRL_QUERY_FORMAT, &format); -} - - -static void -uninit(void) -{ - video_out_pgm.uninit(); - if (md5_file) - { - fflush(md5_file); - fclose(md5_file); - md5_file = NULL; - } - if (md5_filename) - { - free(md5_filename); - md5_filename = NULL; - } -} - - -static void check_events(void) -{ -} - -static uint32_t preinit(const char *arg) -{ - if(arg) - md5_filename = strdup(arg); - return 0; -} - -static uint32_t control(uint32_t request, void *data, ...) -{ - switch (request) { - case VOCTRL_QUERY_FORMAT: - return query_format(*((uint32_t*)data)); - } - return VO_NOTIMPL; -}
--- a/libvo/vo_pgm.c Wed Sep 29 00:18:34 2004 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* - * video_out_pgm.c, pgm interface - * - * - * Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. - * - * Hacked into mpeg2dec by - * - * Aaron Holtzman <aholtzma@ess.engr.uvic.ca> - * - * 15 & 16 bpp support added by Franck Sicard <Franck.Sicard@solsoft.fr> - * - * Xv image suuport by Gerd Knorr <kraxel@goldbach.in-berlin.de> - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -#include "config.h" -#include "video_out.h" -#include "video_out_internal.h" - -static vo_info_t info = -{ - "PGM file", - "pgm", - "walken", - "" -}; - -LIBVO_EXTERN (pgm) - -static int image_width; -static int image_height; -static char header[1024]; -static int framenum = 0; - -static uint8_t *image=NULL; - -char vo_pgm_filename[24]; - -static uint32_t -config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format) -{ - image_height = height; - image_width = width; - image=malloc(width*height*3/2); - - snprintf (header, 1024, "P5\n\n%d %d\n255\n", width, height*3/2); - - return 0; -} - -static void draw_osd(void) -{ -} - -static void flip_page (void) -{ - FILE * f; - - snprintf (vo_pgm_filename, 24, "%08d.pgm", framenum++); - - f = fopen (vo_pgm_filename, "wb"); if (f == NULL) return; - fwrite (header, strlen (header), 1, f); - fwrite (image, image_width, image_height*3/2, f); - fclose (f); - - return; -} - -static uint32_t draw_slice(uint8_t *srcimg[], int stride[], int w,int h,int x,int y) -{ - int i; - // copy Y: - uint8_t *dst=image+image_width*y+x; - uint8_t *src=srcimg[0]; - for(i=0;i<h;i++){ - memcpy(dst,src,w); - src+=stride[0]; - dst+=image_width; - } -{ - // copy U+V: - uint8_t *src1=srcimg[1]; - uint8_t *src2=srcimg[2]; - uint8_t *dst=image+image_width*image_height+image_width*(y/2)+(x/2); - for(i=0;i<h/2;i++){ - memcpy(dst,src1,w/2); - memcpy(dst+image_width/2,src2,w/2); - src1+=stride[1]; - src2+=stride[2]; - dst+=image_width; - } - -} - - return 0; -} - - -static uint32_t draw_frame(uint8_t * src[]) -{ - return 0; -} - -static uint32_t -query_format(uint32_t format) -{ - if(format==IMGFMT_YV12) return 1; -// switch(format){ -// case IMGFMT_YV12: -// case IMGFMT_RGB|24: -// case IMGFMT_BGR|24: -// return 1; -// } - return 0; -} - -static void -uninit(void) -{ - if(image){ free(image);image=NULL;} -} - - -static void check_events(void) -{ -} - -static uint32_t preinit(const char *arg) -{ - if(arg) - { - printf("vo_pgm: Unknown subdevice: %s\n",arg); - return ENOSYS; - } - return 0; -} - -static uint32_t control(uint32_t request, void *data, ...) -{ - switch (request) { - case VOCTRL_QUERY_FORMAT: - return query_format(*((uint32_t*)data)); - } - return VO_NOTIMPL; -}