"Fossies" - the Fresh Open Source Software Archive

Member "quicktime4linux-2.3/qtasf.h" (5 Feb 2007, 1692 Bytes) of package /linux/privat/old/quicktime4linux-2.3-src.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #ifndef QTASF_H
    2 #define QTASF_H
    3 
    4 #include "quicktime.h"
    5 #include <stdint.h>
    6 
    7 /* We have lifted sections of ASF decoding from ffmpeg */
    8 /* to add direct copy support and seeking to it */
    9 
   10 #define MAX_ASFSTREAMS 256
   11 
   12 typedef struct 
   13 {
   14     uint32_t v1;
   15     uint16_t v2;
   16     uint16_t v3;
   17     uint8_t v4[8];
   18 } quicktime_guid_t;
   19 
   20 typedef struct
   21 {
   22     int number;
   23     int count;
   24 } quicktime_asfpacket_t;
   25 
   26 typedef struct
   27 {
   28     int is_audio;
   29     int is_video;
   30     int is_ext_audio;
   31     int total_size;
   32     int type_specific_size;
   33     int start_time;
   34     int duration;
   35     int id;
   36     int need_parsing;
   37     int bits_per_sample;
   38     int extradata_size;
   39     unsigned char *extradata;
   40     unsigned char fourcc[5];
   41 
   42 /* Audio */
   43     int ds_span;
   44     int ds_packet_size;
   45     int ds_chunk_size;
   46     int ds_data_size;
   47     int ds_silence_data;
   48     int frame_size;
   49 /* WAV header */
   50     int codec_tag;
   51     int channels;
   52     int samplerate;
   53     int bitrate;
   54     int block_align;
   55     int signed_;
   56     int littleendian;
   57 
   58 /* Video */
   59     int width;
   60     int height;
   61 } quicktime_asfstream_t;
   62 
   63 typedef struct
   64 {
   65     quicktime_guid_t quid;
   66     int64_t file_size;
   67     int64_t create_time;
   68     int64_t total_packets;
   69     int64_t send_time;
   70     int64_t play_time;
   71     int preroll;
   72     int ignore;
   73     int flags;
   74     int min_packet;
   75     int max_packet;
   76     int max_bitrate;
   77     int packet_size;
   78 } quicktime_asfheader_t;
   79 
   80 
   81 typedef struct
   82 {
   83     quicktime_asfheader_t header;
   84     quicktime_asfstream_t *streams[MAX_ASFSTREAMS];
   85     int total_streams;
   86     quicktime_asfpacket_t *index;
   87     int index_size;
   88     int index_allocated;
   89 } quicktime_asf_t;
   90 
   91 
   92 
   93 int quicktime_read_asf_header(quicktime_t *file);
   94 void quicktime_delete_asf(quicktime_asf_t *asf);
   95 void quicktime_dump_asf(quicktime_asf_t *asf);
   96 int quicktime_read_guid(quicktime_t *file, quicktime_guid_t *guid);
   97 
   98 
   99 
  100 #endif