Annotation of margi2/streams.h, revision 1.1.1.1
1.1 cvs 1: /*
2: streams.h
3:
4: Copyright (C) Christian Wolff for convergence integrated media.
5:
6: This program is free software; you can redistribute it and/or modify
7: it under the terms of the GNU General Public License as published by
8: the Free Software Foundation; either version 2 of the License, or
9: (at your option) any later version.
10:
11: This program is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with this program; if not, write to the Free Software
18: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19: */
20:
21: #ifndef CVDV_STREAMS_H
22: #define CVDV_STREAMS_H
23:
24: #include "cardbase.h"
25:
26: // Frees allocated channel buffers
27: int DecoderKillChannelBuffers(struct cvdv_cards *card);
28:
29: // Allocates channel buffers
30: // All sizes in bytes, preferably multiple of 256 (will be rounded up otherwise)
31: int DecoderSetChannelBuffers(struct cvdv_cards *card, int VideoES, // Video ES Channel Buffer size, e.g. 229376 byte for NTSC
32: int AudioES, // Audio ES Channel Buffer size, 4096 byte
33: int VideoPES, // Video PES Header / SPU Channel Buffer size, 512 byte
34: int DataDump, // Data Dump Channel Buffer size, e.g. 80896 byte
35: int AudioPES, // Audio PES Header / System Channel Buffer size, 512 byte
36: int NaviBank); // Navi Bank Channel Buffer size, 2048 byte
37:
38: //int DecoderReadFifo
39:
40: int DecoderUnPrepare(struct cvdv_cards *card);
41:
42: void DecoderPrepare(struct cvdv_cards *card);
43:
44: // Selects audio type MPEG and sets stream ID's
45: // AID: -1=all MPEG, Audio Stream ID: 0..31
46: // AExt: -1=unused, Audio Stream Extension ID: 0..31, only used if AType=5
47: void DecoderSelectAudioID(struct cvdv_cards *card);
48:
49: // AHeader: 0=No Headers, 1=first PTS/DTS header, 2=all headers, 3=All with PTS/DTS
50: // AType: 0=disable audio, 1=MPEG ID (MPEG 1), 2=Lin.PCM ID, 3=AC3 ID, 4=all MPEG (use only, if just one MPEG audio stream), 5=MPEG multichannel ID (MPEG 2)
51: // AID: -1=all MPEG, Audio Stream ID: 0..31
52: // AExt: -1=unused, Audio Stream Extension ID: 0..31, only used if AType=5
53: // IEC956: 0:MPEG/AC3 data on digital out 1:IEC956 data on digital S/PDIF out
54: void DecoderPrepareAudio(struct cvdv_cards *card);
55:
56: // VHeader: -1=disable Video, 0=No Headers, 1=first PTS/DTS header, 2=all headers, 3=All with PTS/DTS
57: // VID: -1=all MPEG, 0..15=Video Stream ID
58: void DecoderPrepareVideo(struct cvdv_cards *card);
59:
60: // Prepare Decoder for Elementary Streams, Disable Preparser
61: int DecoderPrepareES(struct cvdv_cards *card);
62:
63: // Prepare Decoder for Packetised Elementary Streams, set parameters of Preparser
64: int DecoderPreparePES(struct cvdv_cards *card);
65:
66:
67: // Prepare Decoder for MPEG 1 Systems Streams or MPEG 2 Program Streams
68: // SPUID: -1:ignore, 0...15 SPU Substream ID
69: // DataDump: 0:disable data dump stream, 1:enable data dump stream
70: // PackHeader: 0:write no headers, 1:write one header, 2:write all headers, 3:always discard
71: // SysHeaader: 0:always discard, 1:write one header, 2:write all headers, 3:always discard
72: // DSIHeader: 0:write no DSI or PCI headers, 3:write DSI and PCI headers + packets
73: // DVD: 0: normal MPEG-2 data, 1: DVD stream with navi pack data
74: int DecoderPreparePS(struct cvdv_cards *card,
75: int SPUID, int DataDump,
76: int PackHeader, int SysHeader, int DSIHeader,
77: int DVD);
78:
79: #endif /* CVDV_STREAMS_H */
LinuxTV legacy CVS <linuxtv.org/cvs>