diff options
Diffstat (limited to 'gst-libs/ext/mplex/videostrm.hh')
-rw-r--r-- | gst-libs/ext/mplex/videostrm.hh | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/gst-libs/ext/mplex/videostrm.hh b/gst-libs/ext/mplex/videostrm.hh deleted file mode 100644 index 6eeac476..00000000 --- a/gst-libs/ext/mplex/videostrm.hh +++ /dev/null @@ -1,155 +0,0 @@ - -/* - * videostrm.hh: Video stream elementary input stream - * - * Copyright (C) 2001 Andrew Stevens <andrew.stevens@philips.com> - * - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public License - * as published by the Free Software Foundation. - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __VIDEOSTRM_H__ -#define __VIDEOSTRM_H__ - -#include "inputstrm.hh" - -class VideoStream:public ElementaryStream -{ -public: - VideoStream (IBitStream & ibs, OutputStream & into); - void Init (const int stream_num); - static bool Probe (IBitStream & bs); - - void Close (); - - inline int AUType () - { - return au->type; - } - - inline bool EndSeq () - { - return au->end_seq; - } - - inline int NextAUType () - { - VAunit *p_au = Lookahead (); - - if (p_au != NULL) - return p_au->type; - else - return NOFRAME; - } - - inline bool SeqHdrNext () - { - VAunit *p_au = Lookahead (); - - return p_au != NULL && p_au->seq_header; - } - - virtual unsigned int NominalBitRate () - { - return bit_rate * 50; - } - - virtual void OutputGOPControlSector (); - bool RunOutComplete (); - virtual bool MuxPossible (clockticks currentSCR); - void SetMaxStdBufferDelay (unsigned int demux_rate); - void OutputSector (); - -protected: - void OutputSeqhdrInfo (); - virtual bool AUBufferNeedsRefill (); - virtual void FillAUbuffer (unsigned int frames_to_buffer); - virtual void InitAUbuffer (); - virtual void NextDTSPTS (clockticks & DTS, clockticks & PTS); - void ScanFirstSeqHeader (); - uint8_t NewAUTimestamps (int AUtype); - bool NewAUBuffers (int AUtype); - -public: - unsigned int num_sequence; - unsigned int num_seq_end; - unsigned int num_pictures; - unsigned int num_groups; - unsigned int num_frames[4]; - unsigned int avg_frames[4]; - - unsigned int horizontal_size; - unsigned int vertical_size; - unsigned int aspect_ratio; - unsigned int picture_rate; - unsigned int bit_rate; - unsigned int comp_bit_rate; - unsigned int peak_bit_rate; - unsigned int vbv_buffer_size; - unsigned int CSPF; - double secs_per_frame; - - - bool dtspts_for_all_au; - bool gop_control_packet; - -protected: - - /* State variables for scanning source bit-stream */ - VAunit access_unit; - unsigned int fields_presented; - unsigned int group_order; - unsigned int group_start_pic; - unsigned int group_start_field; - int temporal_reference; - unsigned int pict_rate; - unsigned int pict_struct; - int pulldown_32; - int repeat_first_field; - int prev_temp_ref; - double frame_rate; - unsigned int max_bits_persec; - int AU_pict_data; - int AU_hdr; - clockticks max_PTS; - clockticks max_STD_buffer_delay; - - int opt_mpeg; - int opt_multifile_segment; -}; - -// -// DVD's generate control sectors for each GOP... -// - -class DVDVideoStream:public VideoStream -{ -public: - DVDVideoStream (IBitStream & ibs, OutputStream & into):VideoStream (ibs, into) - { - gop_control_packet = true; - } - void OutputGOPControlSector (); -}; - -#endif // __INPUTSTRM_H__ - - -/* - * Local variables: - * c-file-style: "stroustrup" - * tab-width: 4 - * indent-tabs-mode: nil - * End: - */ |