Annotation of margi2/streams.h, revision 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>