rtpmux: fix output segment and buffer DTS to correspond to the flattened PTS
[platform/upstream/gst-plugins-good.git] / gst / avi / avi-ids.h
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., 51 Franklin St, Fifth Floor,
17  * Boston, MA 02110-1301, 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_TRUSTCKTYPE    0x00000800 /* Use CKType to find key frames */
35 #define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000 /* specially allocated used for capturing real time video */
36 #define GST_RIFF_AVIH_COPYRIGHTED    0x00020000 /* contains copyrighted data */
37   guint32 tot_frames;        /* # of frames (all) */
38   guint32 init_frames;       /* initial frames (???) */
39   guint32 streams;
40   guint32 bufsize;           /* suggested buffer size */
41   guint32 width;
42   guint32 height;
43   guint32 scale;
44   guint32 rate;
45   guint32 start;
46   guint32 length;
47 } gst_riff_avih;
48
49 /* vprp (video properties) ODML header */
50 /* see ODML spec for some/more explanation */
51 #define GST_RIFF_TAG_vprp GST_MAKE_FOURCC ('v','p','r','p')
52 #define GST_RIFF_DXSB GST_MAKE_FOURCC ('D','X','S','B')
53 #define GST_RIFF_VPRP_VIDEO_FIELDS        (2)
54
55 typedef struct _gst_riff_vprp_video_field_desc {
56   guint32 compressed_bm_height;
57   guint32 compressed_bm_width;
58   guint32 valid_bm_height;
59   guint32 valid_bm_width;
60   guint32 valid_bm_x_offset;
61   guint32 valid_bm_y_offset;
62   guint32 video_x_t_offset;
63   guint32 video_y_start;
64 } gst_riff_vprp_video_field_desc;
65
66 typedef struct _gst_riff_vprp {
67   guint32 format_token;      /* whether fields defined by standard */
68   guint32 standard;          /* video display standard, UNKNOWN, PAL, etc */
69   guint32 vert_rate;         /* vertical refresh rate */
70   guint32 hor_t_total;       /* width */
71   guint32 vert_lines;        /* height */
72   guint32 aspect;            /* aspect ratio high word:low word */
73   guint32 width;             /* active width */
74   guint32 height;            /* active height */
75   guint32 fields;            /* field count */
76   gst_riff_vprp_video_field_desc field_info[GST_RIFF_VPRP_VIDEO_FIELDS];
77 } gst_riff_vprp;
78
79 #endif /* __GST_AVI_H__ */