Commit 114afecd authored by Stefan Kost's avatar Stefan Kost
Browse files

gst/avi/gstavidemux.*: Save some memory (8%) by repacking the index entry...

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.
parent 77790aa2
2007-02-12 Stefan Kost <ensonic@users.sf.net>
* 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.
2007-02-12 Stefan Kost <ensonic@users.sf.net>
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_caps),
......
This diff is collapsed.
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment