[MPlayer-cvslog] r23593 - in trunk: Changelog DOCS/man/en/mplayer.1 DOCS/tech/MAINTAINERS DOCS/tech/slave.txt cfg-common.h command.c configure input/input.c input/input.h libvo/sub.c libvo/sub.h mpcommon.c mplayer.c spudec.c spudec.h stream/Makefile stream/tv.c stream/tv.h stream/tvi_vbi.c stream/tvi_vbi.h

voroshil subversion at mplayerhq.hu
Thu Jun 21 10:18:52 CEST 2007


Author: voroshil
Date: Thu Jun 21 10:18:51 2007
New Revision: 23593

Log:
Revert r23530.

r23530 breaks policy: notification was not sent to mailing list,
agreements of other devs were not received.
Code also should be reviewed/cleaned up/fixed.


Removed:
   trunk/stream/tvi_vbi.c
   trunk/stream/tvi_vbi.h
Modified:
   trunk/Changelog
   trunk/DOCS/tech/MAINTAINERS
   trunk/DOCS/tech/slave.txt
   trunk/cfg-common.h
   trunk/command.c
   trunk/configure
   trunk/input/input.c
   trunk/input/input.h
   trunk/libvo/sub.c
   trunk/libvo/sub.h
   trunk/mpcommon.c
   trunk/mplayer.c
   trunk/spudec.c
   trunk/spudec.h
   trunk/stream/Makefile
   trunk/stream/tv.c
   trunk/stream/tv.h

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

Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog	(original)
+++ trunk/Changelog	Thu Jun 21 10:18:51 2007
@@ -51,7 +51,6 @@ MPlayer (1.0)
     * support H.264 over RTSP
     * "device" and "adevice" suboptions now works for *BSD BT848 tv driver too
     * dvdnav:// now depends on mplayer's fork of libdvdnav
-    * Teletext support for tv:// (v4l and v4l2 only)
 
     FFmpeg/libavcodec:
     * Intel Music coder audio decoder

Modified: trunk/DOCS/tech/MAINTAINERS
==============================================================================
--- trunk/DOCS/tech/MAINTAINERS	(original)
+++ trunk/DOCS/tech/MAINTAINERS	Thu Jun 21 10:18:51 2007
@@ -77,7 +77,6 @@ MPlayer code:
     * libmpdemux: Roberto Togni, Nico Sabbi
     * libmpcodecs: Roberto Togni
     * TV input/capture: Vladimir Voroshilov
-    * TV teletext: Vladimir Voroshilov
     * network streaming: Roberto Togni, Nico Sabbi, Benjamin Zores
     * DVD/VOB subtitles: None
     * config files & commandline parser: Alban Bedel

Modified: trunk/DOCS/tech/slave.txt
==============================================================================
--- trunk/DOCS/tech/slave.txt	(original)
+++ trunk/DOCS/tech/slave.txt	Thu Jun 21 10:18:51 2007
@@ -314,19 +314,6 @@ switch_vsync [value]
     Toggle vsync (1 == on, 0 == off). If [value] is not provided,
     vsync status is inverted.
 
-teletext_add_dec <value>
-    On/off teletext page number editing mode and append given digit to
-    previously entered one
-    0..9 - append apropriate digit (enables editing mode if called from normal mode, and
-           switches to normal mode when third digit is entered.
-    -    - delete last digit from page number (backspace amulation, works only in page number
-           editing mode)
-
-teletext_go_link <value>
-    Follow given links on current teletext page
-    0    - go to initial page (specified by -tv tpage= parameter)
-    1..6 - follow given link
-
 tv_step_channel <channel>
     Select next/previous TV channel.
 
@@ -460,8 +447,4 @@ tv_brightness      int       -100    100
 tv_contrast        int       -100    100     X   X   X
 tv_saturation      int       -100    100     X   X   X
 tv_hue             int       -100    100     X   X   X
-teletext_page      int       100     999     X   X   X
-teletext_mode      int       0       3       X   X   X    0 - off, 1 - opaque, 2 - transparent,
-                                                          3 - transparent inverted (bw format)
-teletext_format    int       0       3       X            0 - text, 1 - b/w, 2 - gray, 3 - color
-teletext_half_page int       0       2       X   X   X    0 - off, 1 - top half, 2- bottom half
+

Modified: trunk/cfg-common.h
==============================================================================
--- trunk/cfg-common.h	(original)
+++ trunk/cfg-common.h	Thu Jun 21 10:18:51 2007
@@ -460,11 +460,6 @@ m_option_t tvopts_conf[]={
 #endif
 	{"adevice", &tv_param_adevice, CONF_TYPE_STRING, 0, 0, 0, NULL},
 #endif
-#ifdef HAVE_TV_TELETEXT
-    {"tdevice", &tv_param_tdevice, CONF_TYPE_STRING, 0, 0, 0, NULL},
-    {"tformat", &tv_param_tformat, CONF_TYPE_STRING, 0, 0, 0, NULL},
-    {"tpage", &tv_param_tpage, CONF_TYPE_INT, CONF_RANGE, 100, 999, NULL},
-#endif
 	{"audioid", &tv_param_audio_id, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL},
 	{NULL, NULL, 0, 0, 0, 0, NULL}
 };

Modified: trunk/command.c
==============================================================================
--- trunk/command.c	(original)
+++ trunk/command.c	Thu Jun 21 10:18:51 2007
@@ -1459,134 +1459,6 @@ static int mp_property_tv_color(m_option
 
 #endif
 
-#ifdef HAVE_TV_TELETEXT
-/// teletext page (RW)
-static int mp_property_teletext_page(m_option_t * prop, int action, void *arg,
-                  MPContext * mpctx)
-{
-    int val,result;
-    tvi_handle_t *tvh = mpctx->demuxer->priv;
-    if (mpctx->demuxer->type != DEMUXER_TYPE_TV || !tvh || !tvh->priv_vbi)
-        return M_PROPERTY_UNAVAILABLE;
-
-    switch (action) {
-    case M_PROPERTY_SET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        M_PROPERTY_CLAMP(prop, *(int *) arg);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_SET_PAGE, arg);
-	break;
-    case M_PROPERTY_GET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_GET_PAGE, arg);
-	break;
-    case M_PROPERTY_STEP_UP:
-    case M_PROPERTY_STEP_DOWN:
-        val = (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_STEP_PAGE, &val);
-	break;
-    default:
-        return M_PROPERTY_NOT_IMPLEMENTED;
-    }
-    return (result==TVI_CONTROL_TRUE?M_PROPERTY_OK:M_PROPERTY_ERROR);
-}
-/// VBI teletext mode (RW)
-static int mp_property_teletext_mode(m_option_t * prop, int action, void *arg,
-                  MPContext * mpctx)
-{
-    int val,result;
-    tvi_handle_t *tvh = mpctx->demuxer->priv;
-    if (mpctx->demuxer->type != DEMUXER_TYPE_TV || !tvh || !tvh->priv_vbi)
-        return M_PROPERTY_UNAVAILABLE;
-
-    switch (action) {
-    case M_PROPERTY_SET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        M_PROPERTY_CLAMP(prop, *(int *) arg);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_SET_MODE, arg);
-	break;
-    case M_PROPERTY_GET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_GET_MODE, arg);
-	break;
-    case M_PROPERTY_STEP_UP:
-    case M_PROPERTY_STEP_DOWN:    
-        val = (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_STEP_MODE, &val);
-	break;
-    default:
-        return M_PROPERTY_NOT_IMPLEMENTED;
-    }
-    return (result==TVI_CONTROL_TRUE?M_PROPERTY_OK:M_PROPERTY_ERROR);
-}
-/// VBI teletext format (R)
-static int mp_property_teletext_format(m_option_t * prop, int action, void *arg,
-                  MPContext * mpctx)
-{
-    int val,result;
-    tvi_handle_t *tvh = mpctx->demuxer->priv;
-    if (mpctx->demuxer->type != DEMUXER_TYPE_TV || !tvh || !tvh->priv_vbi)
-        return M_PROPERTY_UNAVAILABLE;
-
-    switch (action) {
-    case M_PROPERTY_GET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_GET_FORMAT, arg);
-	break;
-    case M_PROPERTY_SET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        M_PROPERTY_CLAMP(prop, *(int *) arg);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_SET_FORMAT, arg);
-	break;
-    case M_PROPERTY_STEP_UP:
-    case M_PROPERTY_STEP_DOWN:
-        val = (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_STEP_FORMAT, &val);
-	break;
-    default:
-        return M_PROPERTY_NOT_IMPLEMENTED;
-    }
-    return (result==TVI_CONTROL_TRUE?M_PROPERTY_OK:M_PROPERTY_ERROR);
-}
-
-/// VBI teletext half-page mode (RW)
-static int mp_property_teletext_half_page(m_option_t * prop, int action, void *arg,
-                  MPContext * mpctx)
-{
-    int val,result;
-    tvi_handle_t *tvh = mpctx->demuxer->priv;
-    if (mpctx->demuxer->type != DEMUXER_TYPE_TV || !tvh || !tvh->priv_vbi)
-        return M_PROPERTY_UNAVAILABLE;
-
-    switch (action) {
-    case M_PROPERTY_GET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_GET_HALF_PAGE, arg);
-	break;
-    case M_PROPERTY_SET:
-        if (!arg)
-            return M_PROPERTY_ERROR;
-        M_PROPERTY_CLAMP(prop, *(int *) arg);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_SET_HALF_PAGE, arg);
-	break;
-    case M_PROPERTY_STEP_UP:
-    case M_PROPERTY_STEP_DOWN:
-        val = (arg ? *(int *) arg : 1) * (action == M_PROPERTY_STEP_DOWN ? -1 : 1);
-        result=tv_teletext_control(tvh, TVI_CONTROL_VBI_STEP_HALF_PAGE, &val);
-	break;
-    default:
-        return M_PROPERTY_NOT_IMPLEMENTED;
-    }
-    return (result==TVI_CONTROL_TRUE?M_PROPERTY_OK:M_PROPERTY_ERROR);
-}
-#endif /* HAVE_TV_TELETEXT */
-
 ///@}
 
 /// All properties available in MPlayer.
@@ -1714,17 +1586,6 @@ static m_option_t mp_properties[] = {
      M_OPT_RANGE, -100, 100, (void *) TV_COLOR_HUE },
 #endif
 
-#ifdef HAVE_TV_TELETEXT
-    { "teletext_page", mp_property_teletext_page, CONF_TYPE_INT,
-     M_OPT_RANGE, -999, 999, NULL },
-    { "teletext_mode", mp_property_teletext_mode, CONF_TYPE_INT,
-     M_OPT_RANGE, 0, 3, NULL },
-    { "teletext_format", mp_property_teletext_format, CONF_TYPE_INT,
-     M_OPT_RANGE, 0, 3, NULL },
-    { "teletext_half_page", mp_property_teletext_half_page, CONF_TYPE_INT,
-     M_OPT_RANGE, 0, 2, NULL },
-#endif
-
     { NULL, NULL, NULL, 0, 0, 0, NULL }
 };
 
@@ -2419,16 +2280,6 @@ int run_command(MPContext * mpctx, mp_cm
 	    if (mpctx->file_format == DEMUXER_TYPE_TV)
 		tv_step_chanlist((tvi_handle_t *) (mpctx->demuxer->priv));
 	    break;
-#ifdef HAVE_TV_TELETEXT
-        case MP_CMD_TV_TELETEXT_ADD_DEC:
-            if (mpctx->file_format == DEMUXER_TYPE_TV)
-                tv_teletext_add_dec((tvi_handle_t *) (mpctx->demuxer->priv),cmd->args[0].v.s);
-            break;
-        case MP_CMD_TV_TELETEXT_GO_LINK:
-            if (mpctx->file_format == DEMUXER_TYPE_TV)
-                tv_teletext_go_link((tvi_handle_t *) (mpctx->demuxer->priv),cmd->args[0].v.i);
-            break;
-#endif /* HAVE_TV_TELETEXT */
 #endif				/* USE_TV */
 
 	case MP_CMD_SUB_LOAD:

Modified: trunk/configure
==============================================================================
--- trunk/configure	(original)
+++ trunk/configure	Thu Jun 21 10:18:51 2007
@@ -240,7 +240,6 @@ Optional features:
   --disable-tv-v4l1      disable Video4Linux TV interface [autodetect]
   --disable-tv-v4l2      disable Video4Linux2 TV interface [autodetect]
   --disable-tv-bsdbt848  disable BSD BT848 interface [autodetect]
-  --disable-tv-teletex   disable TV teletext interface [autodetect]
   --disable-pvr          disable Video4Linux2 MPEG PVR [autodetect]
   --disable-rtc          disable RTC (/dev/rtc) on Linux [autodetect]
   --disable-network      disable networking [enable]
@@ -589,7 +588,6 @@ _tv=yes
 _tv_v4l1=auto
 _tv_v4l2=auto
 _tv_bsdbt848=auto
-_tv_teletext=auto
 _pvr=auto
 _network=yes
 _winsock2=auto
@@ -937,8 +935,6 @@ for ac_option do
   --disable-tv-v4l1)	_tv_v4l1=no	;;
   --enable-tv-v4l2)	_tv_v4l2=yes	;;
   --disable-tv-v4l2)	_tv_v4l2=no	;;
-  --enable-tv-teletext)    _tv_teletext=yes        ;;
-  --disable-tv-teletext)    _tv_teletext=no        ;;
   --enable-radio)       _radio=yes	;;
   --enable-radio-capture)       _radio_capture=yes	;;
   --disable-radio-capture)       _radio_capture=no	;;
@@ -6674,28 +6670,6 @@ else
 fi
 echores "$_tv_v4l2"
 
-echocheck "TV teletext interface"
-if test "$_tv_teletext" = auto ; then
- _tv_teletext=no
- if test linux ; then
-  cat > $TMPC <<EOF
-#include <stdlib.h>
-#include <libzvbi.h>
-int main(void) { return 0; }
-EOF
-  cc_check && _tv_teletext=yes
- fi
-fi
-if test "$_tv_teletext" = yes ; then
-  _def_tv_teletext='#define HAVE_TV_TELETEXT 1'
-  _ld_extra="$_ld_extra -lzvbi"
-  _inputmodules="tv-teletext $_inputmodules"
-else
-  _noinputmodules="tv-teletext $_noinputmodules"
-  _def_tv_teletext='#undef HAVE_TV_TELETEXT'
-fi
-echores "$_tv_teletext"
-
 
 echocheck "Radio interface"
 if test "$_radio" = yes ; then
@@ -7560,7 +7534,6 @@ TV_V4L  = $_tv_v4l
 TV_V4L1 = $_tv_v4l1
 TV_V4L2 = $_tv_v4l2
 TV_BSDBT848 = $_tv_bsdbt848
-TV_TELETEXT = $_tv_teletext
 AUDIO_INPUT = $_audio_input
 PVR = $_pvr
 VCD = $_vcd
@@ -8126,9 +8099,6 @@ $_def_ioctl_bt848_h_name
 /* Enable *BSD BrookTree TV interface support */
 $_def_tv_bsdbt848
 
-/* Enable TV Teletext Interface support */
-$_def_tv_teletext
-
 /* Enable Radio Interface support */
 $_def_radio
 

Modified: trunk/input/input.c
==============================================================================
--- trunk/input/input.c	(original)
+++ trunk/input/input.c	Thu Jun 21 10:18:51 2007
@@ -137,10 +137,6 @@ static mp_cmd_t mp_cmds[] = {
   { MP_CMD_LOADLIST, "loadlist", 1, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
   { MP_CMD_RUN, "run", 1, { {MP_CMD_ARG_STRING,{0}}, {-1,{0}} } },
   { MP_CMD_VF_CHANGE_RECTANGLE, "change_rectangle", 2, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}}}},
-#ifdef HAVE_TV_TELETEXT
-  { MP_CMD_TV_TELETEXT_ADD_DEC, "teletext_add_dec", 1, { {MP_CMD_ARG_STRING,{0}}, {-1,{0}} } },
-  { MP_CMD_TV_TELETEXT_GO_LINK, "teletext_go_link",1, { { MP_CMD_ARG_INT ,{0}}, { MP_CMD_ARG_INT ,{0}}, {-1,{0}} } },
-#endif
 
 #ifdef HAVE_NEW_GUI  
   { MP_CMD_GUI_LOADFILE, "gui_loadfile", 0, { {-1,{0}} } },
@@ -393,12 +389,6 @@ static mp_cmd_bind_t def_cmd_binds[] = {
   { { 'n', 0 }, "tv_step_norm" },
   { { 'u', 0 }, "tv_step_chanlist" },
 #endif
-#ifdef HAVE_TV_TELETEXT
-  { { 'X', 0 }, "step_property teletext_mode 1" },
-  { { 'E', 0 }, "step_property teletext_half_page 1" },
-  { { 'W', 0 }, "step_property teletext_page 1" },
-  { { 'Q', 0 }, "step_property teletext_page -1" },
-#endif
 #ifdef HAVE_JOYSTICK
   { { JOY_AXIS0_PLUS, 0 }, "seek 10" },
   { { JOY_AXIS0_MINUS, 0 }, "seek -10" },

Modified: trunk/input/input.h
==============================================================================
--- trunk/input/input.h	(original)
+++ trunk/input/input.h	Thu Jun 21 10:18:51 2007
@@ -93,8 +93,6 @@
 #define MP_CMD_STEP_PROPERTY 91
 #define MP_CMD_RADIO_STEP_FREQ 92
 #define MP_CMD_TV_STEP_FREQ 93
-#define MP_CMD_TV_TELETEXT_ADD_DEC 94
-#define MP_CMD_TV_TELETEXT_GO_LINK 95
 #define MP_CMD_BALANCE 96
 
 #define MP_CMD_GUI_EVENTS       5000

Modified: trunk/libvo/sub.c
==============================================================================
--- trunk/libvo/sub.c	(original)
+++ trunk/libvo/sub.c	Thu Jun 21 10:18:51 2007
@@ -68,10 +68,6 @@ font_desc_t* vo_font=NULL;
 font_desc_t* sub_font=NULL;
 
 unsigned char* vo_osd_text=NULL;
-#ifdef HAVE_TV_TELETEXT
-unsigned char* vo_osd_teletex_text=NULL;
-int vo_osd_teletext_flip = 0;
-#endif
 int sub_unicode=0;
 int sub_utf8=0;
 int sub_pos=100;
@@ -234,121 +230,6 @@ inline static void vo_update_nav (mp_osd
 }
 #endif
 
-#ifdef HAVE_TV_TELETEXT
-inline static void vo_update_text_teletext(mp_osd_obj_t *obj, int dxs, int dys)
-{
-    char *p,*pe;
-    char line[256];
-    int h=0,w=0,i,c,w1,font,lines,endline;
-    int x1,y1,x2,y2;
-    unsigned char *t;
-
-    obj->flags|=OSDFLAG_CHANGED|OSDFLAG_VISIBLE;
-
-    if (vo_osd_teletex_text==NULL) {
-        obj->flags&=~OSDFLAG_VISIBLE;
-        return;
-    }
-    p=vo_osd_teletex_text;
-    lines=0;
-    endline=0;
-    do {    // calculate teletext size
-        memset(line,0,sizeof(line));
-        if(pe=strchr(p,'\n')) {
-            if(pe-p>sizeof(line))
-                strncpy(line,p,sizeof(line));
-            else
-                strncpy(line,p,pe-p);
-        }
-        else
-            strncpy(line,p,sizeof(line));
-
-        t=line;
-        w1=0;
-        while (*t) {
-            c = utf8_get_char(&t);
-            if (!c) c++; // avoid UCS 0
-            render_one_glyph(vo_font, c);
-            w1+=vo_font->width[c]+vo_font->charspace;
-        }
-        h+=vo_font->height;
-        if(w1>w) w=w1;
-        if(pe) pe++;
-        p=pe;
-        lines++;
-        if(h+vo_font->height*2>dys && endline==0) endline=lines;
-    } while (pe!=NULL);
-    h=h+vo_font->height;
-    w=w-vo_font->charspace;
-    if (w>dxs){
-        // calculate bbox size
-        x1=0; 
-        x2=dxs;
-    } 
-    else 
-    {
-        x1=(dxs-w)/2; 
-        x2=x1+w+1;
-    }
-    if (h>dys){
-        y1=0;
-        y2=dys;
-    }
-    else {
-        y1=0;
-        y2=y1+h+1;
-    }
-    obj->bbox.x1 = obj->x = x1;
-    obj->bbox.y1 = obj->y = y1;
-    obj->bbox.x2 = x2;
-    obj->bbox.y2 = y2;
-    obj->flags |= OSDFLAG_BBOX;
-    alloc_buf(obj);
-    p=vo_osd_teletex_text;
-    h=y1;
-    if (vo_osd_teletext_flip)
-        endline=lines-endline;    // bottom page
-    else
-        endline=0;                // top page
-    lines=0;
-    do {    // show teletext page
-        memset(line,0,sizeof(line));
-        if(pe=strchr(p,'\n')) {
-            if(pe-p>sizeof(line))
-                strncpy(line,p,sizeof(line));
-            else
-                strncpy(line,p,pe-p);}
-        else
-            strncpy(line,p,sizeof(line));
-
-        t=line;
-
-        w1=x1;
-        if(lines==0 || endline==0 || lines>endline) {
-            while (*t) {
-                c = utf8_get_char(&t);
-                if (!c) c++; // avoid UCS 0
-                render_one_glyph(vo_font, c);
-                if(w1+vo_font->width[c]>=x2) break;
-                    if ((font=vo_font->font[c])>=0)
-                        draw_alpha_buf(obj,w1,h,
-                            vo_font->width[c],
-                            vo_font->pic_a[font]->h,
-                            vo_font->pic_b[font]->bmp+vo_font->start[c],
-                            vo_font->pic_a[font]->bmp+vo_font->start[c],
-                            vo_font->pic_a[font]->w);
-                    w1+=vo_font->width[c]+vo_font->charspace;
-            }
-            h+=vo_font->height;
-        }
-        if(pe) pe++;
-        p=pe;
-        if(h+vo_font->height*2>dys) pe=NULL;
-        lines++;
-    } while (pe!=NULL);
-}
-#endif
-
 int vo_osd_progbar_type=-1;
 int vo_osd_progbar_value=100;   // 0..256
 
@@ -979,11 +860,6 @@ int vo_update_osd(int dxs,int dys){
 	case OSDTYPE_SUBTITLE:
 	    vo_update_text_sub(obj,dxs,dys);
 	    break;
-#ifdef HAVE_TV_TELETEXT
-        case OSDTYPE_TELETEXT:
-            vo_update_text_teletext(obj,dxs,dys);
-            break;
-#endif
 	case OSDTYPE_PROGBAR:
 	    vo_update_text_progbar(obj,dxs,dys);
 	    break;
@@ -1051,9 +927,6 @@ void vo_init_osd(void){
 #ifdef USE_DVDNAV
     new_osd_obj(OSDTYPE_DVDNAV);
 #endif
-#if HAVE_TV_TELETEXT
-    new_osd_obj(OSDTYPE_TELETEXT);
-#endif
 #ifdef HAVE_FREETYPE
     force_load_font = 1;
 #endif
@@ -1092,9 +965,6 @@ void vo_draw_text(int dxs,int dys,void (
 #ifdef USE_DVDNAV
         case OSDTYPE_DVDNAV:
 #endif
-#ifdef HAVE_TV_TELETEXT
-        case OSDTYPE_TELETEXT:
-#endif
 	case OSDTYPE_OSD:
 	case OSDTYPE_SUBTITLE:
 	case OSDTYPE_PROGBAR:

Modified: trunk/libvo/sub.h
==============================================================================
--- trunk/libvo/sub.h	(original)
+++ trunk/libvo/sub.h	Thu Jun 21 10:18:51 2007
@@ -2,10 +2,6 @@
 #ifndef __MPLAYER_SUB_H
 #define __MPLAYER_SUB_H
 
-#ifdef HAVE_TV_TELETEXT
-#include "libmpcodecs/mp_image.h"
-#endif
-
 typedef struct mp_osd_bbox_s {
     int x1,y1,x2,y2;
 } mp_osd_bbox_t;
@@ -15,7 +11,6 @@ typedef struct mp_osd_bbox_s {
 #define OSDTYPE_PROGBAR 3
 #define OSDTYPE_SPU 4
 #define OSDTYPE_DVDNAV 5
-#define OSDTYPE_TELETEXT 6
 
 #define OSDFLAG_VISIBLE 1
 #define OSDFLAG_CHANGED 2
@@ -69,11 +64,6 @@ extern subtitle* vo_sub;
 
 extern unsigned char* vo_osd_text;
 
-#ifdef HAVE_TV_TELETEXT
-extern unsigned char* vo_osd_teletex_text;
-extern int vo_osd_teletext_flip;
-#endif
-
 extern int vo_osd_progbar_type;
 extern int vo_osd_progbar_value;   // 0..255
 

Modified: trunk/mpcommon.c
==============================================================================
--- trunk/mpcommon.c	(original)
+++ trunk/mpcommon.c	Thu Jun 21 10:18:51 2007
@@ -7,9 +7,6 @@
 #include "libvo/video_out.h"
 #include "spudec.h"
 #include "vobsub.h"
-#ifdef HAVE_TV_TELETEXT
-#include "stream/tv.h"
-#endif
 
 double sub_last_pts = -303;
 
@@ -141,31 +138,3 @@ void update_subtitles(sh_video_t *sh_vid
     }
     current_module=NULL;
 }
-
-void update_teletext(sh_video_t *sh_video, demuxer_t *demuxer, int reset)
-{
-#ifdef HAVE_TV_TELETEXT
-    int half_page;
-    tvi_handle_t *tvh = demuxer->priv;
-    if (demuxer->type != DEMUXER_TYPE_TV) return;
-    if(!tvh) return;
-    if(vo_spudec) {
-        tv_teletext_img_t* img=tv_get_teletext_imgpage(tvh);
-        if(img!=NULL) {
-            spudec_heartbeat_teletext(vo_spudec, img);
-            if(img->canvas) 
-                free(img->canvas);
-            free(img);
-            vo_osd_changed(OSDTYPE_SPU);
-            vo_osd_teletex_text=NULL;
-            vo_osd_changed(OSDTYPE_TELETEXT);
-            return;
-        }
-        vo_osd_changed(OSDTYPE_SPU);
-    }
-    vo_osd_teletex_text=tv_get_teletext_txtpage(tvh);
-    tv_teletext_control(tvh,TVI_CONTROL_VBI_GET_HALF_PAGE,&half_page);
-    vo_osd_teletext_flip=half_page;
-    vo_osd_changed(OSDTYPE_TELETEXT);
-#endif
-}

Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c	(original)
+++ trunk/mplayer.c	Thu Jun 21 10:18:51 2007
@@ -1040,10 +1040,6 @@ void init_vo_spudec(void) {
     spudec_set_font_factor(vo_spudec,font_factor);
   }
 
-#ifdef HAVE_TV_TELETEXT
-    if (vo_spudec==NULL && mpctx->demuxer->type==DEMUXER_TYPE_TV)
-        vo_spudec=spudec_new_scaled(NULL, mpctx->sh_video->disp_w, mpctx->sh_video->disp_h);
-#endif
   if (vo_spudec!=NULL)
     inited_flags|=INITED_SPUDEC;
 }
@@ -1626,7 +1622,6 @@ static int generate_video_frame(sh_video
 	decoded_frame = decode_video(sh_video, start, in_size, 0, pts);
 	if (decoded_frame) {
 	    update_subtitles(sh_video, mpctx->d_sub, 0);
-	    update_teletext(sh_video, mpctx->demuxer, 0);
 	    update_osd_msg();
 	    current_module = "filter video";
 	    if (filter_video(sh_video, decoded_frame, sh_video->pts))
@@ -2041,7 +2036,6 @@ static double update_video(int *blit_fra
 	    ++total_frame_cnt;
 	}
 	update_subtitles(sh_video, mpctx->d_sub, 0);
-	update_teletext(sh_video, mpctx->demuxer, 0);
 	update_osd_msg();
 	current_module = "decode_video";
 	decoded_frame = decode_video(sh_video, start, in_size, drop_frame,
@@ -2255,7 +2249,6 @@ static int seek(MPContext *mpctx, double
 	// be completely wrong (probably 0).
 	mpctx->sh_video->pts = mpctx->d_video->pts;
 	update_subtitles(mpctx->sh_video, mpctx->d_sub, 1);
-	update_teletext(mpctx->sh_video, mpctx->demuxer, 1);
     }
       
     if (mpctx->sh_audio) {
@@ -3130,11 +3123,7 @@ demux_info_print(mpctx->demuxer);
 
 //================== Read SUBTITLES (DVD & TEXT) ==========================
 if(vo_spudec==NULL && mpctx->sh_video &&
-     (mpctx->stream->type==STREAMTYPE_DVD || mpctx->stream->type == STREAMTYPE_DVDNAV ||
-#ifdef HAVE_TV_TELETEXT
-     mpctx->demuxer->type==DEMUXER_TYPE_TV ||
-#endif
-     mpctx->d_sub->id >= 0)){
+     (mpctx->stream->type==STREAMTYPE_DVD || mpctx->stream->type == STREAMTYPE_DVDNAV || mpctx->d_sub->id >= 0)){
   init_vo_spudec();
 }
 

Modified: trunk/spudec.c
==============================================================================
--- trunk/spudec.c	(original)
+++ trunk/spudec.c	Thu Jun 21 10:18:51 2007
@@ -29,9 +29,6 @@
 #include "avutil.h"
 #endif
 #include "libswscale/swscale.h"
-#ifdef HAVE_TV_TELETEXT
-#include "stream/tv.h"
-#endif
 
 /* Valid values for spu_aamode:
    0: none (fastest, most ugly)
@@ -1188,115 +1185,3 @@ void spudec_set_hw_spu(void *this, vo_fu
   spu->hw_spu = hw_spu;
   hw_spu->control(VOCTRL_SET_SPU_PALETTE,spu->global_palette);
 }
-
-#ifdef HAVE_TV_TELETEXT
-#define VBI_R(rgba) (((rgba) >> 0) & 0xFF)
-#define VBI_G(rgba) (((rgba) >> 8) & 0xFF)
-#define VBI_B(rgba) (((rgba) >> 16) & 0xFF)
-#define VBI_A(rgba) (((rgba) >> 24) & 0xFF)
-
-
-static unsigned char rgbtoy(int r, int g, int b) {
-    int ret=(257*r+504*g+98*b+16000)/1000;
-    return ret & 0xff;
-}
-
-/// correction u and v planes half size
-#define SPU_DOUBLE_SIZE    1
-
-void alloc_images(spudec_handle_t* spu, int cmode) {
-
-    if (spu->image_size < spu->stride * spu->height) {
-        if (spu->image != NULL) {
-            free(spu->image);
-            spu->image_size = 0;
-        }
-        spu->image = malloc(2 * spu->stride * spu->height);
-        if (spu->image) {
-            spu->image_size = spu->stride * spu->height;
-            spu->aimage = spu->image + spu->image_size;
-        }
-    }
-}
-
-/**
-    Render from VBI_PIXFMT_RGBA32_LE to spu
-**/
-void spudec_heartbeat_teletext(void *this, void *imgptr)
-{
-    int px,py;
-    int grey,alpha,cy,cu,cv,alphauv;
-    uint32_t *canvas;
-    uint32_t *pin;
-    spudec_handle_t *spu = (spudec_handle_t*)this;
-    tv_teletext_img_t *img = (tv_teletext_img_t*)imgptr;
-    unsigned char *iptr;
-    unsigned char *aptr;
-    int h1 = 10;
-    int hs = 0;
-
-    if(!spu || !img)
-        return;
-    if(img->canvas==NULL) {
-        spudec_reset(spu);
-        if (spu->image)
-            free(spu->image);
-        spu->image=NULL;
-        spu->image_size = 0;
-        return;
-    }
-
-    if(img->half) h1=5;                // top half page
-    if(img->half==2) hs=5;             // bottom half page
-
-    spu->start_pts=0;
-    spu->end_pts=0;
-    spu->now_pts=1;
-    spu->orig_frame_width = img->columns*12;    // 1 char width 12 pixel
-    spu->orig_frame_height = img->rows*h1;      // 1 char height 10 pixel
-    spu->scaled_frame_width = 0;
-    spu->scaled_frame_height = 0;
-    spu->start_col = 0;
-    spu->end_col = img->columns*12;
-    spu->start_row = 0;
-    spu->end_row = img->rows*h1;
-    spu->height = img->rows*h1;
-    spu->width = img->columns*12;
-    spu->height = (spu->height+3)&(~3);         // round to 4
-    spu->stride = (spu->width+7)&(~7);          // round to 8
-
-    alloc_images(spu,img->tformat);             // alloc images buffer
-    if (spu->image == NULL) {
-        spudec_reset(spu);
-        return;
-    }
-    canvas=img->canvas;                         // RGBA32_LE image
-    pin=canvas+(hs*img->columns*12*img->rows);
-    memset(spu->image,0,spu->image_size*2);
-
-    for(py=0;py<img->rows*h1;py++) {
-        iptr=spu->image+(py-hs)*spu->stride;    // image ptr
-        aptr=spu->aimage+(py-hs)*spu->stride;   // alpha ptr
-        for(px=0;px<img->columns*12;px++) {
-            grey=rgbtoy(VBI_R(*pin),VBI_G(*pin),VBI_B(*pin));    // RGB to Y
-            if(grey<=0x10) grey=0;
-            alpha=VBI_A(*pin);
-            switch (img->tformat) {
-                case 0x01:    // BW
-                case 0x02:    // Gray
-                case 0x03:    // Color (not supported)
-                    alpha=0x100-alpha;
-                    if (grey + alpha > 255) grey = 256 - alpha;
-                    break;
-            }
-            *iptr=grey;    // store Y plane
-            *aptr=alpha;   // store alpha
-            iptr++;
-            aptr++;
-            pin++;
-        }
-    }
-    spu->start_pts=0;
-    spu->end_pts=UINT_MAX;
-}
-#endif

Modified: trunk/spudec.h
==============================================================================
--- trunk/spudec.h	(original)
+++ trunk/spudec.h	Thu Jun 21 10:18:51 2007
@@ -20,8 +20,5 @@ int spudec_changed(void *this);
 void spudec_calc_bbox(void *me, unsigned int dxs, unsigned int dys, unsigned int* bbox);
 void spudec_draw_scaled(void *me, unsigned int dxs, unsigned int dys, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
 void spudec_set_forced_subs_only(void * const this, const unsigned int flag);
-#ifdef HAVE_TV_TELETEXT
-void spudec_heartbeat_teletext(void *this, void *imgptr);
-#endif
 #endif
 

Modified: trunk/stream/Makefile
==============================================================================
--- trunk/stream/Makefile	(original)
+++ trunk/stream/Makefile	Thu Jun 21 10:18:51 2007
@@ -51,7 +51,6 @@ SRCS_COMMON-$(TV)                += stre
 SRCS_COMMON-$(TV_BSDBT848)       += tvi_bsdbt848.c
 SRCS_COMMON-$(TV_V4L1)           += tvi_v4l.c  audio_in.c
 SRCS_COMMON-$(TV_V4L2)           += tvi_v4l2.c audio_in.c
-SRCS_COMMON-$(TV_TELETEXT)       += tvi_vbi.c
 SRCS_COMMON-$(VCD)               += stream_vcd.c
 SRCS_COMMON-$(VSTREAM)           += stream_vstream.c
 

Modified: trunk/stream/tv.c
==============================================================================
--- trunk/stream/tv.c	(original)
+++ trunk/stream/tv.c	Thu Jun 21 10:18:51 2007
@@ -34,10 +34,6 @@
 
 #include "frequencies.h"
 
-#ifdef HAVE_TV_TELETEXT
-#include "tvi_vbi.h"
-#endif
-
 /* some default values */
 int tv_param_audiorate = 44100;
 int tv_param_noaudio = 0;
@@ -522,9 +518,6 @@ static demuxer_t* demux_open_tv(demuxer_
 	tv_uninit(tvh);
 	return NULL;
     }
-#ifdef HAVE_TV_TELETEXT
-    if(tvh->priv_vbi) teletext_control(tvh->priv_vbi,TVI_CONTROL_VBI_START,1); //arg must be not null
-#endif
     funcs = tvh->functions;
     demuxer->priv=tvh;
     
@@ -664,12 +657,6 @@ no_audio:
 static void demux_close_tv(demuxer_t *demuxer)
 {
     tvi_handle_t *tvh=(tvi_handle_t*)(demuxer->priv);
-#ifdef HAVE_TV_TELETEXT
-    if(tvh->priv_vbi) {
-        teletext_uninit(tvh->priv_vbi);
-        tvh->priv_vbi=NULL;
-    }
-#endif
     if (!tvh) return;
     tvh->functions->uninit(tvh->priv);
     demuxer->priv=NULL;
@@ -701,10 +688,6 @@ tvi_handle_t *tv_begin(void)
             tvi_driver_list[i]->name,
             tvi_driver_list[i]->author,
             tvi_driver_list[i]->comment?tvi_driver_list[i]->comment:"");
-#ifdef HAVE_TV_TELETEXT
-            h->priv_vbi=teletext_init();
-#endif
-
             return h;
         }
     }
@@ -790,9 +773,6 @@ int tv_set_freq(tvi_handle_t *tvh, unsig
 	mp_msg(MSGT_TV, MSGL_V, MSGTR_TV_CurrentFrequency,
 	    freq, (float)freq/16);
     }
-#ifdef HAVE_TV_TELETEXT
-    if (tvh->priv_vbi) teletext_control(tvh->priv_vbi,TVI_CONTROL_VBI_RESET,1); //arg must be not null
-#endif
     return(1);
 }
 
@@ -952,9 +932,6 @@ int tv_step_norm(tvi_handle_t *tvh)
       return 0;
     }
   }
-#ifdef HAVE_TV_TELETEXT
-    if (tvh->priv_vbi) teletext_control(tvh->priv_vbi,TVI_CONTROL_VBI_RESET,1); //arg must be not null
-#endif
     return(1);
 }
 
@@ -972,61 +949,9 @@ int tv_set_norm(tvi_handle_t *tvh, char*
 	mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_CannotSetNorm);
 	return 0;
     }
-#ifdef HAVE_TV_TELETEXT
-    if (tvh->priv_vbi) teletext_control(tvh->priv_vbi,TVI_CONTROL_VBI_RESET,1); //arg must be not null
-#endif
     return(1);
 }
 
-#ifdef HAVE_TV_TELETEXT
-int tv_teletext_control(tvi_handle_t* tvh, int control, void* arg)
-{
-    if (!tvh || !tvh->priv_vbi)
-        return TVI_CONTROL_FALSE;
-
-    return teletext_control(tvh->priv_vbi,control,arg);
-}
-
-int tv_teletext_add_dec(tvi_handle_t *tvh, char *dec)
-{
-    if(!dec) return 0;
-    if (teletext_control(tvh->priv_vbi, TVI_CONTROL_VBI_ADD_DEC, &dec)!= TVI_CONTROL_TRUE)
-        return 0;
-    return 1;
-}
-
-int tv_teletext_go_link(tvi_handle_t *tvh, int linkno)
-{
-    if (teletext_control(tvh->priv_vbi, TVI_CONTROL_VBI_GO_LINK, &linkno)!= TVI_CONTROL_TRUE)
-        return 0;
-    return 1;
-}
-
-void* tv_get_teletext_vbipage(tvi_handle_t *tvh)
-{
-    void* page = NULL;
-    if (teletext_control(tvh->priv_vbi, TVI_CONTROL_VBI_GET_VBIPAGE, &page)!= TVI_CONTROL_TRUE)
-        return NULL;
-    return page;
-}
-
-char* tv_get_teletext_txtpage(tvi_handle_t *tvh)
-{
-    char* page = NULL;
-    if (teletext_control(tvh->priv_vbi, TVI_CONTROL_VBI_GET_TXTPAGE, &page)!= TVI_CONTROL_TRUE)
-        return NULL;
-    return page;
-}
-
-tv_teletext_img_t* tv_get_teletext_imgpage(tvi_handle_t *tvh)
-{
-    tv_teletext_img_t* tv_teletext_img = NULL;
-    if (teletext_control(tvh->priv_vbi, TVI_CONTROL_VBI_GET_IMGPAGE, &tv_teletext_img)!= TVI_CONTROL_TRUE)
-        return NULL;
-    return tv_teletext_img;
-}
-#endif
-
 demuxer_desc_t demuxer_desc_tv = {
   "Tv card demuxer",
   "tv",

Modified: trunk/stream/tv.h
==============================================================================
--- trunk/stream/tv.h	(original)
+++ trunk/stream/tv.h	Thu Jun 21 10:18:51 2007
@@ -43,11 +43,6 @@ extern int tv_param_alsa;
 #endif
 extern char* tv_param_adevice;
 #endif
-#ifdef HAVE_TV_TELETEXT
-extern char* tv_param_tdevice;        ///< teletext vbi device
-extern char* tv_param_tformat;        ///< format: text,bw,gray,color
-extern int tv_param_tpage;            ///< page number
-#endif
 extern int tv_param_brightness;
 extern int tv_param_contrast;
 extern int tv_param_hue;
@@ -77,9 +72,6 @@ typedef struct tvi_functions_s
 typedef struct tvi_handle_s {
     tvi_functions_t	*functions;
     void		*priv;
-#ifdef HAVE_TV_TELETEXT
-    void                *priv_vbi;
-#endif
     int 		seq;
 
     /* specific */
@@ -98,18 +90,6 @@ typedef struct tv_channels_s {
     struct tv_channels_s *prev;
 } tv_channels_t;
 
-#ifdef HAVE_TV_TELETEXT
-typedef struct tv_teletext_img_s {
-    void*    canvas;
-    int        tformat;
-    int        columns;
-    int        rows;
-    int        height;
-    int        width;
-    int        half;
-} tv_teletext_img_t;
-#endif
-
 extern tv_channels_t *tv_channel_list;
 extern tv_channels_t *tv_channel_current, *tv_channel_last;
 extern char *tv_channel_last_real;
@@ -173,31 +153,6 @@ extern char *tv_channel_last_real;
 #define TVI_CONTROL_SPC_SET_INPUT	0x402	/* set input channel (tv,s-video,composite..) */
 #define TVI_CONTROL_SPC_GET_NORMID	0x403	/* get normid from norm name */
 
-/* TELETEXT controls */
-#define TVI_CONTROL_VBI_SET_MODE        0x501   ///< on/off grab teletext
-#define TVI_CONTROL_VBI_GET_MODE        0x502   ///< get current mode teletext
-#define TVI_CONTROL_VBI_STEP_MODE       0x503  ///< step teletext mode
-
-#define TVI_CONTROL_VBI_SET_PAGE        0x504   ///< set grab teletext page number
-#define TVI_CONTROL_VBI_STEP_PAGE       0x505   ///< step grab teletext page number
-#define TVI_CONTROL_VBI_GET_PAGE        0x506   ///< get grabbed teletext page
-
-#define TVI_CONTROL_VBI_SET_FORMAT      0x507   ///< set teletext format
-#define TVI_CONTROL_VBI_STEP_FORMAT     0x508   ///< step teletext format
-#define TVI_CONTROL_VBI_GET_FORMAT      0x509   ///< get eletext format
-
-#define TVI_CONTROL_VBI_GET_HALF_PAGE   0x50a   ///< get current half page
-#define TVI_CONTROL_VBI_STEP_HALF_PAGE  0x50b   ///< switch half page
-#define TVI_CONTROL_VBI_SET_HALF_PAGE   0x50c   ///< switch half page
-
-#define TVI_CONTROL_VBI_ADD_DEC         0x50d   ///< add page number with dec
-#define TVI_CONTROL_VBI_GO_LINK         0x50e   ///< go link (1..6)
-#define TVI_CONTROL_VBI_GET_TXTPAGE     0x50f   ///< get grabbed text teletext page
-#define TVI_CONTROL_VBI_GET_IMGPAGE     0x510   ///< get grabbed image teletext page
-#define TVI_CONTROL_VBI_GET_VBIPAGE     0x511   ///< get vbi_image for grabbed teletext page
-#define TVI_CONTROL_VBI_RESET           0x512   ///< vbi reset
-#define TVI_CONTROL_VBI_START           0x513   ///< vbi start
-
 extern tvi_handle_t *tv_begin(void);
 extern int tv_init(tvi_handle_t *tvh);
 extern int tv_uninit(tvi_handle_t *tvh);
@@ -228,20 +183,6 @@ int tv_step_freq(tvi_handle_t *tvh, floa
 
 int tv_set_norm(tvi_handle_t *tvh, char* norm);
 
-#ifdef HAVE_TV_TELETEXT
-int tv_teletext_control(tvi_handle_t* tvh, int control,void* arg);
-/// add dec to pageno
-int tv_teletext_add_dec(tvi_handle_t *tvh, char *dec);
-/// go link
-int tv_teletext_go_link(tvi_handle_t *tvh, int linkno);
-/// get current vbi_page
-void* tv_get_teletext_vbipage(tvi_handle_t *tvh);
-/// get current page text
-char* tv_get_teletext_txtpage(tvi_handle_t *tvh);
-/// get current page image (RGB32_LB format)
-tv_teletext_img_t* tv_get_teletext_imgpage(tvi_handle_t *tvh);
-#endif
-
 #define TV_NORM_PAL		1
 #define TV_NORM_NTSC		2
 #define TV_NORM_SECAM		3



More information about the MPlayer-cvslog mailing list