summaryrefslogtreecommitdiff
path: root/src/libspudec/spu.h
diff options
context:
space:
mode:
authorEduard Hasenleithner <ehasenle@users.sourceforge.net>2001-08-13 12:52:33 +0000
committerEduard Hasenleithner <ehasenle@users.sourceforge.net>2001-08-13 12:52:33 +0000
commitda711d47f121b937d2ec4a15a7e607af9f528ce5 (patch)
tree5857b0175ab090206ca629bd34a8be6d4f6a50fc /src/libspudec/spu.h
parent9c7fc92c6c391b037393721dbe8742ddd260b1d1 (diff)
downloadxine-lib-da711d47f121b937d2ec4a15a7e607af9f528ce5.tar.gz
xine-lib-da711d47f121b937d2ec4a15a7e607af9f528ce5.tar.bz2
major rewrite of the subpicture mechanism in order to support menus.
CVS patchset: 416 CVS date: 2001/08/13 12:52:33
Diffstat (limited to 'src/libspudec/spu.h')
-rw-r--r--src/libspudec/spu.h41
1 files changed, 35 insertions, 6 deletions
diff --git a/src/libspudec/spu.h b/src/libspudec/spu.h
index 09cfd32ee..6899c7af8 100644
--- a/src/libspudec/spu.h
+++ b/src/libspudec/spu.h
@@ -19,7 +19,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: spu.h,v 1.2 2001/07/04 20:32:29 uid32519 Exp $
+ * $Id: spu.h,v 1.3 2001/08/13 12:52:33 ehasenle Exp $
*
* This file was originally part of the OMS program.
*
@@ -59,11 +59,40 @@ typedef struct spu_clut_struct {
#endif
} spu_clut_t;
+typedef struct {
+ uint8_t *buf;
+ u_int ra_offs; /* reassembly offset */
+ u_int seq_len;
+ u_int buf_len;
-void spuInit (void);
-void decode_spu (u_char *data_start, u_char *data_end);
-u_int buffer_spupack (u_int *length, u_char **start, u_char *end);
-int spuParseHdr (vo_overlay_t *spu, u_char *pkt_data, u_int pkt_len);
-void spuParseData (vo_overlay_t *spu);
+ u_int cmd_offs;
+
+ u_int PTS; /* Base PTS of this sequence */
+ int finished; /* Has this sequence been finished? */
+} spu_seq_t;
+
+typedef struct {
+ uint8_t *cmd_ptr;
+
+ int field_offs[2];
+ int b_top, o_top;
+ int b_bottom, o_bottom;
+ int b_left, o_left;
+ int b_right, o_right;
+
+ u_int next_pts; /* pts of next sub-sequence */
+ int modified; /* Was the sub-picture modified? */
+ int visible; /* Must the sub-picture be shown? */
+ int menu; /* This overlay is a menu */
+ int b_show; /* is a button shown? */
+
+ uint32_t clut[16];
+} spu_state_t;
+
+int spuReassembly (spu_seq_t *seq, int start, uint8_t *pkt_data, u_int pkt_len);
+int spuNextEvent (spu_state_t *state, spu_seq_t* seq, int pts);
+void spuDoCommands (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
+void spuDrawPicture (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
+void spuUpdateMenu (spu_state_t *state, vo_overlay_t *ovl);
#endif