summaryrefslogtreecommitdiff
path: root/src/libspudec/spu.h
diff options
context:
space:
mode:
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