diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2007-02-12 15:29:44 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2007-02-12 15:29:44 +0000 |
commit | 114afecd8daae4f16903aa90ee1261d051260b1e (patch) | |
tree | de55369019b05414354770f134e64e820b08e389 /gst/avi/gstavidemux.h | |
parent | 77790aa2dc976ef56a54ef0512f650ed2bc096d4 (diff) |
gst/avi/gstavidemux.*: Save some memory (8%) by repacking the index entry structure (more to come). Add more FIXMEs t...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_next_data_buffer),
(gst_avi_demux_stream_scan), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull),
(gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Save some memory (8%) by repacking the index entry structure (more to
come). Add more FIXMEs to questionable parts.
Diffstat (limited to 'gst/avi/gstavidemux.h')
-rw-r--r-- | gst/avi/gstavidemux.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h index 7912ec1a..599ef9e4 100644 --- a/gst/avi/gstavidemux.h +++ b/gst/avi/gstavidemux.h @@ -47,15 +47,19 @@ G_BEGIN_DECLS ((((chunkid) & 0xff) - '0') * 10 + \ (((chunkid) >> 8) & 0xff) - '0') +#define GST_AVI_INDEX_ENTRY_FLAG_KEYFRAME 1 + +/* 48 bytes */ typedef struct { - gint index_nr; - gint stream_nr; - guint64 ts, dur; - guint32 flags; + guint index_nr; /* = (entry-index_entries)/sizeof(gst_avi_index_entry); */ + guchar stream_nr; + guchar flags; + guint64 ts; + guint64 dur; /* =entry[1].ts-entry->ts */ guint64 offset; - gint size; - guint64 bytes_before; - guint32 frames_before; + guint64 bytes_before; /* calculated */ + guint32 frames_before; /* calculated */ + guint32 size; /* could be read from the chunk (if we don't split) */ } gst_avi_index_entry; typedef struct { @@ -95,6 +99,7 @@ typedef struct { /* VBR indicator */ gboolean is_vbr; + /* openDML support (for files >4GB) */ gboolean superindex; guint64 *indexes; |