⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.h

📁 关于DVD的MPEG2用的DSP代码,在DSP的实现MPEG的压缩,解压算法.
💻 H
字号:
// Local memory words 0-31 are reserved as Getbit local buffer.
// Relevant header information allocates at the end of page 1 (0x7e0-0x800).
// ------------------ page 0 --------------------

//now only first 16 words are used for Getbit

#define	LWdisckey0	%0x48       //this location has to be preserved
#define	LBdisckey4	%0x4c
#define	LWtitlekey0	%0x50       //this location has to be preserved
#define	LBtitlekey4	%0x54


// variables extracted from header

#define LBhdr_version                   %0x80    // (1 bit)
#define LBhdr_lay                       %0x81    // (2 bits)
#define LBhdr_error_protection          %0x82    // (1 bit)
#define LBhdr_bitrate_index             %0x83    // (4 bits)
#define LBhdr_sampling_frequency        %0x84    // (2 bits)
#define LBhdr_padding                   %0x85    // (1 bit)
#define LBhdr_extension                 %0x86    // (1 bit)
#define LBhdr_mode                      %0x87    // (2 bits)
#define LBhdr_mode_ext                  %0x88    // (2 bits)
#define LBhdr_copyright                 %0x89    // (1 bit)
#define LBhdr_original                  %0x8a    // (1 bit)
#define LBhdr_emphasis                  %0x8b    // (1 bit)

#ifdef QT_SYNC
#define	LIMpegAttr			%0x8c	// 2 bytes
#define LIfrmsize                       %0x8e   // 2 bytes
#define	LIold_rd_ptr			%0x90	// 2 bytes
#define LWTempR20                       %0x90   // 1
#define LWTempR21                       %0x94   // 1
#define LWTempR22                       %0x98   // 1
#define LWTempR23                       %0x9c   // 1
#define LWTempR24                       %0xa0   // 1
#define LWTempR25                       %0xa4   // 1
#define LWStatusReg                     %0xa8   // 1
#define LWresidue                       %0xac   // 1
#define LBSwapOffset                    %0xb0   // 1
#define LBPCMlow                        %0xb1   // 1
#endif // QT_SYNC
#if ISO
#ifndef MPEG_2
#define LIfrmsize_offset                %0xb2   // 2 bytes
#endif // MPEG_2
#else // ISO
#define LIfrmsize_offset                %0xb2   // 2 bytes
#endif // ISO
#define LWpcmscale                      %0xb4   // 4 bytes
#define LWhungrySTC                     %0xb8   // 4 bytes

// tables

#define local_ITaloc_idx_word           (0x10+31)              //32 bytes
#define local_ITaloc_idx_byte           (0x10+31)*4            //32 bytes, 0X7c

#define local_I2Aalloc_0_1_word         (0x10+39)              //total 55
#define local_I2Aalloc_0_1_byte         (0x10+39)*4
#define local_I2Asteps                  (0x10+39)*4            //22
#define local_B2Abits                   (0x10+61)*4            //11
#define local_B2Agroup                  (0x10+72)*4            //11
#define local_B2Aquant                  (0x10+83)*4            //11

#define local_I2Aalloc_2_3_word         (0x10+39)      //64    //total 30. overlay
#define local_I2Aalloc_2_3_byte         (0x10+39)*4    //64*4
#define local_I2Asteps2                 (0x10+39)*4    //64*4  //12
#define local_B2Abits2                  (0x10+51)*4    //76*4  //6
#define local_B2Agroup2                 (0x10+57)*4    //82*4  //6
#define local_B2Aquant2                 (0x10+63)*4    //88*4  //6

#define local_FAnb_table_word           (0x10+39)              //28    overlay
#define local_FAnb_table_byte           (0x10+39)*4            //28

#define local_bit_alloc_word            (0x10+94)              //2*32 =64
#define local_bit_alloc_byte            (0x10+94)*4            //2*32 =64

#define local_sample_d_word             (0x10+158)             //2*3*32 
#define local_sample_d_byte             (0x10+158)*4           //2*3*32

#define local_sample_word               (0x10+158)             //2*3*32 overlay
#define local_sample_byte               (0x10+158)*4           //2*3*32

#define local_ITscfsi_word              (0x10+158)             //2*32  overlay
#define local_ITscfsi_byte              (0x10+158)*4           //2*32

#define local_new_v_word                2016            //32
#define local_new_v_byte                2016*4          //32

#define	local_multiple_word		382		//64
#define	local_multiple_byte		382*4		//64

#define	local_c_tbl_word		446		//17
#define	local_c_tbl_byte		446*4		//17

#define	local_d_tbl_word		463		//17
#define	local_d_tbl_byte		463*4		//17

#define	local_cos1_64_word		481		//16
#define	local_cos1_64_byte		481*4		//16
#define	local_cos1_32_word		497		//8
#define	local_cos1_32_byte		497*4		//8
#define	local_cos1_16_word		505		//4
#define	local_cos1_16_byte		505*4		//4
#define	local_cos1_8_word		509		//2
#define	local_cos1_8_byte		509*4		//2
#define	local_cos1_4_word		511		//1
#define	local_cos1_4_byte		511*4		//1

#define	LFAnew_win_word			512		//512
#define	LFAnew_win_byte			512*4		//512

// ------------------ page 1 ----------------------

#define	local_p_buffer_word		1024		//16 overlay
#define	local_p_buffer_byte		1024*4		//16

#define	local_pp_buffer_word		1040		//16 overlay
#define	local_pp_buffer_byte		1040*4		//16

#define	local_buf0_word			1024		//2*256 (overlay)
#define	local_buf0_byte			1024*4		//2*256

#define Lswap_scratch_word              1024            //32 (overlay)
#define Lswap_scratch_byte              1024*4          //32
                  
#define	local_buf1_word			1280		//2*256 (overlay)
#define	local_buf1_byte			1280*4		//2*256

#define	local_pcm_sample_word		1536		//2*3*32*2 bytes
#define	local_pcm_sample_byte		1536*4		//2*3*32*2 bytes

#define	local_fraction_word		1632		//2*3*32
#define	local_fraction_byte		1632*4		//2*3*32

#define	local_scaled_pcm_word		1632		//2*3*32 overlay
#define	local_scaled_pcm_byte		1632*4		//2*3*32

#define	local_scale_index_word		1824		//2*3*32 overlay
#define	local_scale_index_byte		1824*4		//2*3*32 

// variables

#define LBfr_ps_tab_num                 %0x5b8 // 1 byte (3 bits)
#define LBfr_ps_stereo                  %0x5b9 // 1 byte (2 bits)
#define LBfr_ps_jsbound                 %0x5ba // 1 byte
#define LBfr_ps_sblimit                 %0x5bb // 1 byte

#define LIold_crc                       %0x5bc // 2 bytes (16 bits)
#define LInew_crc                       %0x5be // 2 bytes (16 bits)
#define LBtable                         %0x5c0 // 1 byte (2 bits)
#define LBbitsPerSlot                   %0x5c1 // 1 byte (32,8)
#define LIsamplesPerFrame               %0x5c2 // 2 bytes (384,1152)
#define LIcrc_error_count               %0x5c4 // 2 bytes
#define LItotal_error_count             %0x5c6 // 2 bytes
#define LBbuf_last_byte                 %0x5be // 1 byte (overlay)
#define LBcnt_last_byte                 %0x5bf // 1 byte (overlay)

// buffers

#define LItopSub                        %0x5c8
#define LBbuf_flag                      %0x5ca
#define LBblknum                        %0x5cb
#define Lwrite_ptr                      %0x5cc
#define LWibufRdPtr                     %0x5d0 
#define LIstatus                        %0x5d4
#define LIframecount_DB                 %0x5d6
#define LBout_blk                       %0x5d8
#define LBFIFO_flag                     %0x5d9
#define LIFIFO_BLK_PTR                  %0x5da
#define LBPCM_flag                      %0x5dc  // 1-byte gap
#define dma_tmp_reg                     %0x5e0

// user variables

#define LWentry                         %0x5e4
#define LWPCMentry                      %0x5e8
#define LIocfg                          %0x5de // - relocate to buffers
#define LWFrameCount                    %0x5ec
#define LWbytecount                     %0x5f0

#ifdef EFFECT
#define local_IBUF_word                 0             //size=256 (overlaid with pcm out)
#define local_IBUF_byte                 0*4           //size=256

#define local_FApcm_buf_word            1024           //size=256
#define local_FApcm_buf_byte            1024*4          //size=256
#endif //EFFECT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -