diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2004-04-01 11:48:27 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2004-04-01 11:48:27 +0000 |
commit | bc4cb91fab1a4efca7e0addf7a327f397b9ba2dd (patch) | |
tree | 5c53e0af75d5df62749bc0ea9ff89eb4fc2f531f /gst/mpeg2sub/gstmpeg2subt.h | |
parent | 23fb6b5caeeba3badc8ef414fbfff2633b8aa542 (diff) | |
download | gst-plugins-bad-bc4cb91fab1a4efca7e0addf7a327f397b9ba2dd.tar.gz gst-plugins-bad-bc4cb91fab1a4efca7e0addf7a327f397b9ba2dd.tar.bz2 gst-plugins-bad-bc4cb91fab1a4efca7e0addf7a327f397b9ba2dd.zip |
a52dec: Use a debug category, Output timestamps correctly
Original commit message from CVS:
a52dec: Use a debug category, Output timestamps correctly
Emit tag info, Handle events, tell liba52dec about cpu
capabilities so it can use MMX etc.
dvdec: Fix a crasher accessing invalid memory
dvdnavsrc:Some support for byte-format seeking.
Small fixes for still frames and menu button overlays
mpeg2dec: Use a debug category. Adjust the report level of several items to
LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers'
so it doesn't lose the GstBuffer pointer
navseek: Add the navseek debug element for seeking back and forth in a
video stream using arrow keys.
mpeg2subt:Pretty much a complete rewrite. Now a loopbased element. May still
require work to properly synchronise subtitle buffers.
mpegdemux:
dvddemux: Don't attempt to create subbuffers of size 0
Reduce a couple of error outputs to warnings.
y4mencode:Output the y4m frame header correctly
Diffstat (limited to 'gst/mpeg2sub/gstmpeg2subt.h')
-rw-r--r-- | gst/mpeg2sub/gstmpeg2subt.h | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/gst/mpeg2sub/gstmpeg2subt.h b/gst/mpeg2sub/gstmpeg2subt.h index 29f60b27..8a078171 100644 --- a/gst/mpeg2sub/gstmpeg2subt.h +++ b/gst/mpeg2sub/gstmpeg2subt.h @@ -44,26 +44,59 @@ extern "C" { typedef struct _GstMpeg2Subt GstMpeg2Subt; typedef struct _GstMpeg2SubtClass GstMpeg2SubtClass; +/* Hold premultimplied colour values */ +typedef struct YUVA_val { + guint16 Y; + guint16 U; + guint16 V; + guint16 A; +} YUVA_val; + struct _GstMpeg2Subt { GstElement element; GstPad *videopad,*subtitlepad,*srcpad; - GstBuffer *partialbuf; /* previous buffer (if carryover) */ - - gboolean have_title; + GstBuffer *partialbuf; /* Collect together subtitle buffers until we have a full control sequence */ + GstBuffer *hold_frame; /* Hold back one frame of video */ + GstBuffer *still_frame; guint16 packet_size; guint16 data_size; gint offset[2]; - guchar color[5]; - guchar trans[4]; - guint duration; + YUVA_val palette_cache[4]; - gint width, height; + /* + * Store 1 line width of U, V and A respectively. + * Y is composited direct onto the frame. + */ + guint16 *out_buffers[3]; + guchar subtitle_index[4]; + guchar menu_index[4]; + guchar subtitle_alpha[4]; + guchar menu_alpha[4]; + guint32 current_clut[16]; + + gboolean have_title; + gboolean forced_display; + + GstClockTime start_display_time; + GstClockTime end_display_time; + gint left, top, + right, bottom; + gint clip_left, clip_top, + clip_right, clip_bottom; + + gint in_width, in_height; + gint current_button; + + GstData *pending_video_buffer; + GstClockTime next_video_time; + GstData *pending_subtitle_buffer; + GstClockTime next_subtitle_time; }; struct _GstMpeg2SubtClass { |