/* margi.h Copyright (C) Marcus Metzler for convergence integrated media. This program 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. This program 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 this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef margi_cs_h #define margi_cs_h #include "cardbase.h" #include #include #include #include #include #include #include #include #include #include //#include /* PES */ #define PROG_STREAM_MAP 0xBC #define PRIVATE_STREAM1 0xBD #define PADDING_STREAM 0xBE #define PRIVATE_STREAM2 0xBF #define AUDIO_STREAM_S 0xC0 #define AUDIO_STREAM_E 0xDF #define VIDEO_STREAM_S 0xE0 #define VIDEO_STREAM_E 0xEF #define ECM_STREAM 0xF0 #define EMM_STREAM 0xF1 #define DSM_CC_STREAM 0xF2 #define ISO13522_STREAM 0xF3 #define PROG_STREAM_DIR 0xFF #define PBUFFER 100 enum{AUDIO, VIDEO}; typedef struct p2t_s{ u8 pes[PBUFFER]; int type; long int pos; int frags; } p2t_t; u_char read_indexed_register(struct cvdv_cards *card, int addr); void write_indexed_register(struct cvdv_cards *card, int addr, u_char data); void WriteByte(struct cvdv_cards *card, int addr, u_char data); u_char ReadByte(struct cvdv_cards *card, int addr); void MaskByte(struct cvdv_cards *card, int addr, u_char mask, u_char bits); int MargiFreeBuffers(struct cvdv_cards *card); int MargiSetBuffers(struct cvdv_cards *card, u32 size); int MargiFlush (struct cvdv_cards *card); int MargiPush(struct cvdv_cards *card, int count, const char *data); int DecoderStartChannel(struct cvdv_cards *card); int DecoderStopChannel(struct cvdv_cards *card); void DACSetFrequency(struct cvdv_cards *card, int khz, int multiple); stream_type get_stream_type(struct cvdv_cards *card); audio_type get_audio_type(struct cvdv_cards *card); #endif