;------------------------------------------------------------------------------
;
;   File    :	mpega_decode_asm.i
;
;   Author  :	Stéphane TAVENARD
;
;   $VER:   mpega_decode_asm.i	1.1  (24.07.1995)
;
;   (C) Copyright 1995-1995 Stéphane TAVENARD
;	All Rights Reserved
;
;   #Rev|   Date   |			  Comment
;   ----|----------|--------------------------------------------------------
;   0	|26/05/1995| Initial revision					  ST
;   1	|23/06/1995| Aminet release					  ST
;   2	|24/07/1995| Added Mixing frequency				  ST
;
;   ------------------------------------------------------------------------
;
;   Defintions for MPEG audio FAAAST decoding
;
;------------------------------------------------------------------------------
;
;
		     IFND     MPEGA_DECODE_ASM_I
MPEGA_DECODE_ASM_I   set      1

SBLIMIT 	     equ      32
HAN_SIZE	     equ      512
SCALE_RANGE	     equ      64
SCALE_BLOCK	     equ      12

; MPEG audio synchro

MPG_SYNC_WORD	     equ      $FFF
MPG_SYNC_WORD_LNGTH  equ   12

; MPEG audio modes

MPG_MD_STEREO	     equ      0
MPG_MD_JOINT_STEREO  equ      1
MPG_MD_DUAL_CHANNEL  equ      2
MPG_MD_MONO	     equ      3

; BITSTREAM buffer size

BSTR_BUFFER_SIZE     equ      16384

;	       definition of bitfield structure "alloc table"
ALLOC_O_STEPS  equ	0     ; unsigned int steps:16
ALLOC_W_STEPS  equ	16
ALLOC_O_SHIFT  equ	16    ; unsigned int shift:4
ALLOC_W_SHIFT  equ	4
ALLOC_O_BITS   equ	20    ; unsigned int bits:5
ALLOC_W_BITS   equ	5
ALLOC_O_GROUP  equ	25    ; unsigned int group:2
ALLOC_W_GROUP  equ	2
ALLOC_O_QUANT  equ	27    ; unsigned int quant:5
ALLOC_W_QUANT  equ	5

ALLOC_B_GROUP  equ	6

INT_FACTOR     equ	14

HEADER			rsreset
hdr_version		rs.l  1
hdr_lay 		rs.l  1
hdr_error_protection	rs.l  1
hdr_bitrate_index	rs.l  1
hdr_sampling_frequency	rs.l  1
hdr_padding		rs.l  1
hdr_extension		rs.l  1
hdr_mode		rs.l  1
hdr_mode_ext		rs.l  1
hdr_copyright		rs.l  1
hdr_original		rs.l  1
hdr_emphasis		rs.l  1
hdr_sizeof		rs.l  0

FRAME_PARAMS		rsreset
fp_header		rs.l  1     ; header *
fp_actual_mode		rs.l  1     ; int
fp_alloc		rs.l  1     ; al_table *
fp_tab_num		rs.l  1     ; int
fp_stereo		rs.l  1     ; int
fp_jsbound		rs.l  1     ; int
fp_sblimit		rs.l  1     ; int
fp_channels		rs.l  1     ; int
fp_bit_alloc		rs.l  1     ; int *
fp_scfsi		rs.l  1     ; int *
fp_scale_index		rs.l  1     ; int *
fp_sample		rs.l  1     ; int *
fp_fraction		rs.l  1     ; INT *
fp_bitstream_name	rs.l  1     ; char *
fp_bs			rs.l  1     ; BITSTREAM *
fp_out_buffer		rs.l  2     ; BYTE *
fp_out_buffer_size	rs.l  1     ; long
fp_freq_div		rs.l  1     ; int
fp_output_8bits 	rs.l  1     ; int
fp_quality		rs.l  1     ; int
fp_mono_forced		rs.l  1     ; int
fp_play 		rs.l  1     ; int
fp_audio_filter 	rs.l  1     ; int
fp_out_file_name	rs.l  1     ; char *
fp_out_file_type	rs.l  1     ; int
fp_out_file		rs.l  1     ; FILE *
fp_sub_band_size	rs.l  1     ; int
fp_got_bits		rs.l  1     ; int
fp_frame_count		rs.l  1     ; int
fp_out_write_level	rs.l  1     ; int
fp_out_write_length	rs.l  1     ; int
fp_out_sample_length	rs.l  1     ; int
fp_out_sample_freq	rs.l  1     ; int
fp_bitstream_rate	rs.l  1     ; int
fp_bitstream_freq	rs.l  1     ; int
fp_bitstream_buffer_size rs.l 1     ; int
fp_audio_port		rs.l  1     ; AU_PORT *
fp_no_audio_wait	rs.l  1     ; int
fp_mixing_frequency	rs.l  1     ; int   /* Use mixing if > 0  #3 */
fp_sizeof		rs.l  0

			ENDC	    ; MPEGA_DECODE_ASM_I
