gst_plugins_good/gst/avi/avi-ids.h
changeset 26 69c7080681bf
parent 24 bc39b352897e
child 28 4ed5253bb6ba
equal deleted inserted replaced
24:bc39b352897e 26:69c7080681bf
     1 /* GStreamer
       
     2  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
       
     3  *
       
     4  * This library is free software; you can redistribute it and/or
       
     5  * modify it under the terms of the GNU Library General Public
       
     6  * License as published by the Free Software Foundation; either
       
     7  * version 2 of the License, or (at your option) any later version.
       
     8  *
       
     9  * This library is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12  * Library General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU Library General Public
       
    15  * License along with this library; if not, write to the
       
    16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
       
    17  * Boston, MA 02111-1307, USA.
       
    18  */
       
    19 
       
    20 #ifndef __GST_AVI_H__
       
    21 #define __GST_AVI_H__
       
    22 
       
    23 #include <gst/gst.h>
       
    24 
       
    25 typedef struct _gst_riff_avih {
       
    26   guint32 us_frame;          /* microsec per frame */
       
    27   guint32 max_bps;           /* byte/s overall */
       
    28   guint32 pad_gran;          /* pad_granularity */
       
    29   guint32 flags;
       
    30 /* flags values */
       
    31 #define GST_RIFF_AVIH_HASINDEX       0x00000010 /* has idx1 chunk */
       
    32 #define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020 /* must use idx1 chunk to determine order */
       
    33 #define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100 /* AVI file is interleaved */
       
    34 #define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000 /* specially allocated used for capturing real time video */
       
    35 #define GST_RIFF_AVIH_COPYRIGHTED    0x00020000 /* contains copyrighted data */
       
    36   guint32 tot_frames;        /* # of frames (all) */
       
    37   guint32 init_frames;       /* initial frames (???) */
       
    38   guint32 streams;
       
    39   guint32 bufsize;           /* suggested buffer size */
       
    40   guint32 width;
       
    41   guint32 height;
       
    42   guint32 scale;
       
    43   guint32 rate;
       
    44   guint32 start;
       
    45   guint32 length;
       
    46 } gst_riff_avih;
       
    47 
       
    48 /* vprp (video properties) ODML header */
       
    49 /* see ODML spec for some/more explanation */
       
    50 #define GST_RIFF_TAG_vprp GST_MAKE_FOURCC ('v','p','r','p')
       
    51 #define GST_RIFF_VPRP_VIDEO_FIELDS        (2)
       
    52 
       
    53 typedef struct _gst_riff_vprp_video_field_desc {
       
    54   guint32 compressed_bm_height;
       
    55   guint32 compressed_bm_width;
       
    56   guint32 valid_bm_height;
       
    57   guint32 valid_bm_width;
       
    58   guint32 valid_bm_x_offset;
       
    59   guint32 valid_bm_y_offset;
       
    60   guint32 video_x_t_offset;
       
    61   guint32 video_y_start;
       
    62 } gst_riff_vprp_video_field_desc;
       
    63 
       
    64 typedef struct _gst_riff_vprp {
       
    65   guint32 format_token;      /* whether fields defined by standard */
       
    66   guint32 standard;          /* video display standard, UNKNOWN, PAL, etc */
       
    67   guint32 vert_rate;         /* vertical refresh rate */
       
    68   guint32 hor_t_total;       /* width */
       
    69   guint32 vert_lines;        /* height */
       
    70   guint32 aspect;            /* aspect ratio high word:low word */
       
    71   guint32 width;             /* active width */
       
    72   guint32 height;            /* active height */
       
    73   guint32 fields;            /* field count */
       
    74   gst_riff_vprp_video_field_desc field_info[GST_RIFF_VPRP_VIDEO_FIELDS];
       
    75 } gst_riff_vprp;
       
    76 
       
    77 #endif /* __GST_AVI_H__ */