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.h38
1 files changed, 18 insertions, 20 deletions
diff --git a/src/libspudec/spu.h b/src/libspudec/spu.h
index 8b62301e3..695deb8a1 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.9 2002/01/06 18:27:47 jcdutton Exp $
+ * $Id: spu.h,v 1.10 2002/03/25 13:57:25 jcdutton Exp $
*
* This file was originally part of the OMS program.
*
@@ -62,7 +62,7 @@ typedef struct {
u_int cmd_offs;
- u_int PTS; /* Base PTS of this sequence */
+ int64_t pts; /* Base PTS of this sequence */
int finished; /* Has this sequence been finished? */
} spu_seq_t;
@@ -75,7 +75,7 @@ typedef struct {
int b_left, o_left;
int b_right, o_right;
- u_int next_pts; /* pts of next sub-sequence */
+ int64_t 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 */
@@ -87,21 +87,13 @@ typedef struct {
uint32_t clut[16];
} spu_state_t;
-int spu_reassembly (spu_seq_t *seq, int start, uint8_t *pkt_data, u_int pkt_len);
-int spu_next_event (spu_state_t *state, spu_seq_t* seq, int pts);
-void spu_do_commands (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
-void spu_draw_picture (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
-void spu_discover_clut (spu_state_t *state, vo_overlay_t *ovl);
-void spu_update_menu (spu_state_t *state, vo_overlay_t *ovl);
-
-
typedef struct spudec_stream_state_s {
spu_seq_t ra_seq;
uint32_t ra_complete;
uint32_t stream_filter;
spu_state_t state;
- uint32_t vpts;
- uint32_t pts;
+ int64_t vpts;
+ int64_t pts;
int32_t overlay_handle;
} spudec_stream_state_t;
@@ -109,19 +101,14 @@ typedef struct spudec_decoder_s {
spu_decoder_t spu_decoder;
xine_t *xine;
-/* spu_seq_t seq_list[NUM_SEQ_BUFFERS]; */
- spu_seq_t *cur_seq;
spudec_stream_state_t spu_stream_state[MAX_STREAMS];
video_overlay_event_t event;
video_overlay_object_t object;
int32_t menu_handle;
- spu_seq_t *ra_seq;
- int ra_complete;
-
- uint32_t ovl_pts;
- uint32_t buf_pts;
+ int64_t ovl_pts;
+ int64_t buf_pts;
spu_state_t state;
vo_instance_t *vo_out;
@@ -132,5 +119,16 @@ typedef struct spudec_decoder_s {
uint32_t buttonN; /* Current button number for highlights */
} spudec_decoder_t;
+int spu_reassembly (spu_seq_t *seq, int start, uint8_t *pkt_data, u_int pkt_len);
+int spu_next_event (spu_state_t *state, spu_seq_t* seq, int64_t pts);
+void spu_do_commands (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
+void spu_draw_picture (spu_state_t *state, spu_seq_t* seq, vo_overlay_t *ovl);
+void spu_discover_clut (spu_state_t *state, vo_overlay_t *ovl);
+void spu_update_menu (spu_state_t *state, vo_overlay_t *ovl);
+void spudec_reset (spudec_decoder_t *this);
+void spudec_print_overlay( vo_overlay_t *overlay );
+void spudec_copy_nav_to_spu( spudec_decoder_t *this );
+void spu_process( spudec_decoder_t *this, uint32_t stream_id);
+void spudec_decode_nav( spudec_decoder_t *this, buf_element_t *buf);
#endif