Mercurial > mplayer.hg
changeset 2817:cc93d9786954
added support for -tv outfmt
author | alex |
---|---|
date | Sun, 11 Nov 2001 02:54:50 +0000 |
parents | 190e713d8e07 |
children | 9f68d309f8cb |
files | libmpdemux/tv.c libmpdemux/tv.h |
diffstat | 2 files changed, 22 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/tv.c Sun Nov 11 02:54:21 2001 +0000 +++ b/libmpdemux/tv.c Sun Nov 11 02:54:50 2001 +0000 @@ -31,6 +31,7 @@ int tv_param_width = -1; int tv_param_height = -1; int tv_param_input = 0; /* used in v4l and bttv */ +char *tv_param_outfmt = "yv12"; /* ================== DEMUX_TV ===================== */ @@ -95,8 +96,24 @@ sh_video = new_sh_video(demuxer, 0); - /* hack to use YUV 4:2:0 format ;) */ - sh_video->format = IMGFMT_UYVY; + if (!strcasecmp(tv_param_outfmt, "yv12")) + sh_video->format = IMGFMT_YV12; + else if (!strcasecmp(tv_param_outfmt, "uyvy")) + sh_video->format = IMGFMT_UYVY; + else if (!strcasecmp(tv_param_outfmt, "rgb32")) + sh_video->format = IMGFMT_RGB32; + else if (!strcasecmp(tv_param_outfmt, "rgb24")) + sh_video->format = IMGFMT_RGB24; + else if (!strcasecmp(tv_param_outfmt, "rgb16")) + sh_video->format = IMGFMT_RGB16; + else if (!strcasecmp(tv_param_outfmt, "rgb15")) + sh_video->format = IMGFMT_RGB15; + else + { + printf("Unknown format given: %s\n", tv_param_outfmt); + printf("Using default: Planar YV12\n"); + sh_video->format = IMGFMT_YV12; + } funcs->control(tvh->priv, TVI_CONTROL_VID_SET_FORMAT, &sh_video->format); /* get IMGFMT_ */ @@ -185,7 +202,7 @@ case AFMT_MPEG: case AFMT_AC3: default: - printf("%s unsupported!\n", audio_out_format_name(audio_format)); +// printf("%s unsupported!\n", audio_out_format_name(audio_format)); goto no_audio; }
--- a/libmpdemux/tv.h Sun Nov 11 02:54:21 2001 +0000 +++ b/libmpdemux/tv.h Sun Nov 11 02:54:50 2001 +0000 @@ -3,6 +3,7 @@ #ifdef USE_TV #include "../libao2/afmt.h" #include "../libvo/img_format.h" +#include "../libvo/fastmemcpy.h" extern unsigned long tv_param_freq; extern char *tv_param_channel; @@ -13,6 +14,7 @@ extern int tv_param_width; extern int tv_param_height; extern int tv_param_input; +extern char *tv_param_outfmt; typedef struct tvi_info_s {