diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-11-16 06:54:22 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-11-16 07:01:46 +0200 |
commit | 287b62163eed8811b6cd33716c0691d328947d48 (patch) | |
tree | 3143d2cb17b32a19e3e7e0aa428210d1bba3eb0b /stream/tv.h | |
parent | 507f4fe6c7811558b1367e4b64855ae7f9bc8da8 (diff) | |
parent | b411278fbb00767b8013604157a43e0203f66f4c (diff) | |
download | mpv-287b62163eed8811b6cd33716c0691d328947d48.tar.bz2 mpv-287b62163eed8811b6cd33716c0691d328947d48.tar.xz |
Merge svn changes up to r29912
Diffstat (limited to 'stream/tv.h')
-rw-r--r-- | stream/tv.h | 120 |
1 files changed, 7 insertions, 113 deletions
diff --git a/stream/tv.h b/stream/tv.h index d177628e85..48ff88ecc2 100644 --- a/stream/tv.h +++ b/stream/tv.h @@ -25,6 +25,9 @@ #ifndef MPLAYER_TV_H #define MPLAYER_TV_H +#include "libmpcodecs/dec_teletext.h" +#include "libmpdemux/demuxer.h" + typedef struct tv_param_s { char *freq; char *channel; @@ -62,10 +65,7 @@ typedef struct tv_param_s { int hue; int saturation; int gain; - char *tdevice; ///< teletext device - int tformat; ///< teletext display format - int tpage; ///< start teletext page - int tlang; ///< primary language code + struct tt_param teletext; int scan; int scan_threshold; @@ -125,6 +125,7 @@ typedef struct tvi_handle_s { const tvi_functions_t *functions; void *priv; int seq; + demuxer_t *demuxer; /* specific */ int norm; @@ -218,42 +219,9 @@ typedef struct { #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 */ -//tvi_* ioctl (not tvi_vbi.c !!!) +//tvi_* ioctl (not dec_teletext.c !!!) #define TVI_CONTROL_VBI_INIT 0x501 ///< vbi init - -/* - TELETEXT controls (through teletext_control() ) - NOTE: - _SET_ should be _GET_ +1 - _STEP_ should be _GET_ +2 -*/ -#define TV_VBI_CONTROL_GET_MODE 0x510 ///< get current mode teletext -#define TV_VBI_CONTROL_SET_MODE 0x511 ///< on/off grab teletext - -#define TV_VBI_CONTROL_GET_PAGE 0x513 ///< get grabbed teletext page -#define TV_VBI_CONTROL_SET_PAGE 0x514 ///< set grab teletext page number -#define TV_VBI_CONTROL_STEP_PAGE 0x515 ///< step grab teletext page number - -#define TV_VBI_CONTROL_GET_SUBPAGE 0x516 ///< get grabbed teletext page -#define TV_VBI_CONTROL_SET_SUBPAGE 0x517 ///< set grab teletext page number - -#define TV_VBI_CONTROL_GET_FORMAT 0x519 ///< get teletext format -#define TV_VBI_CONTROL_SET_FORMAT 0x51a ///< set teletext format - -#define TV_VBI_CONTROL_GET_HALF_PAGE 0x51c ///< get current half page -#define TV_VBI_CONTROL_SET_HALF_PAGE 0x51d ///< switch half page - -#define TV_VBI_CONTROL_IS_CHANGED 0x540 ///< teletext page is changed -#define TV_VBI_CONTROL_MARK_UNCHANGED 0x541 ///< teletext page is changed - -#define TV_VBI_CONTROL_ADD_DEC 0x550 ///< add page number with dec -#define TV_VBI_CONTROL_GO_LINK 0x551 ///< go link (1..6) NYI -#define TV_VBI_CONTROL_GET_VBIPAGE 0x552 ///< get vbi_image for grabbed teletext page -#define TV_VBI_CONTROL_RESET 0x553 ///< vbi reset -#define TV_VBI_CONTROL_START 0x554 ///< vbi start -#define TV_VBI_CONTROL_STOP 0x555 ///< vbi stop -#define TV_VBI_CONTROL_DECODE_PAGE 0x556 ///< decode vbi page -#define TV_VBI_CONTROL_GET_NETWORKNAME 0x557 ///< get current network name +#define TVI_CONTROL_GET_VBI_PTR 0x502 ///< get teletext private pointer int tv_set_color_options(tvi_handle_t *tvh, int opt, int val); int tv_get_color_options(tvi_handle_t *tvh, int opt, int* val); @@ -292,78 +260,4 @@ void tv_start_scan(tvi_handle_t *tvh, int start); #define TV_NORM_PALN 6 #define TV_NORM_NTSCJP 7 -#define VBI_TFORMAT_TEXT 0 ///< text mode -#define VBI_TFORMAT_BW 1 ///< black&white mode -#define VBI_TFORMAT_GRAY 2 ///< grayscale mode -#define VBI_TFORMAT_COLOR 3 ///< color mode (require color_spu patch!) - -#define VBI_MAX_PAGES 0x800 ///< max sub pages number -#define VBI_MAX_SUBPAGES 64 ///< max sub pages number - -#define VBI_ROWS 25 ///< teletext page height in rows -#define VBI_COLUMNS 40 ///< teletext page width in chars -#define VBI_TIME_LINEPOS 26 ///< time line pos in page header - -typedef -enum{ - TT_FORMAT_OPAQUE=0, ///< opaque - TT_FORMAT_TRANSPARENT, ///< transparent - TT_FORMAT_OPAQUE_INV, ///< opaque with inverted colors - TT_FORMAT_TRANSPARENT_INV ///< transparent with inverted colors -} teletext_format; - -typedef -enum{ - TT_ZOOM_NORMAL=0, - TT_ZOOM_TOP_HALF, - TT_ZOOM_BOTTOM_HALF -} teletext_zoom; - -typedef struct tt_char_s{ - unsigned int unicode; ///< unicode (utf8) character - unsigned char fg; ///< foreground color - unsigned char bg; ///< background color - unsigned char gfx; ///< 0-no gfx, 1-solid gfx, 2-separated gfx - unsigned char flh; ///< 0-no flash, 1-flash - unsigned char hidden; ///< char is hidden (for subtitle pages) - unsigned char ctl; ///< control character - unsigned char lng; ///< lang: 0-secondary language,1-primary language - unsigned char raw; ///< raw character (as received from device) -} tt_char; - -typedef struct tt_link_s{ - int pagenum; ///< page number - int subpagenum; ///< subpage number -} tt_link_t; - -typedef struct tt_page_s{ - int pagenum; ///< page number - int subpagenum; ///< subpage number - unsigned char primary_lang; ///< primary language code - unsigned char secondary_lang; ///< secondary language code - unsigned char active; ///< page is complete and ready for rendering - unsigned char flags; ///< page flags - unsigned char raw[VBI_ROWS*VBI_COLUMNS]; ///< page data - struct tt_page_s* next_subpage; - struct tt_link_s links[6]; -} tt_page; - -#define TT_PGFL_SUPPRESS_HEADER 0x01 -#define TT_PGFL_UPDATE_INDICATOR 0x02 -#define TT_PGFL_INTERRUPTED_SEQ 0x04 -#define TT_PGFL_INHIBIT_DISPLAY 0x08 -#define TT_PGFL_NEWFLASH 0x10 -#define TT_PGFL_SUBTITLE 0x20 -#define TT_PGFL_ERASE_PAGE 0x40 -#define TT_PGFL_MAGAZINE_SERIAL 0x80 - -typedef struct tt_stream_props_s{ - int sampling_rate; - int samples_per_line; - int offset; - int count[2]; ///< number of lines in first and second fields - int interlaced; ///< vbi data are interlaced - int bufsize; ///< required buffer size -} tt_stream_props; - #endif /* MPLAYER_TV_H */ |