areainfo.c
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:2k
源码类别:

DVD

开发平台:

Others

  1. /*
  2. Desc: Implentation file for funtions to put area info to Vaddise SDRAM.
  3. Author: Jerry CAI
  4. Created on: Dec 17, 2003
  5. */
  6. #include "config.h"
  7. #if D_SUPPORT_SACD 
  8. #include "playcorescpadscmgr.h"
  9. #include "playcoresampsamp_gen.h"
  10. /*
  11. Description: save a number bytes within SACD area info to Vaddise SDRAM.
  12. Input: SAMP(SACD_Area) area, should be either SAMP(SACD_AREA_MULTICHANNEL) or SAMP(SACD_AREA_STEREO).
  13.        SAMP(Byte) *buffPtr, pointer to the buffer that contains a part of the area info.
  14.        SAMP(UInt16) offset, the 1st byte's relative position within the context of struct SAMP(SAMP_AreaInfoDef).
  15.        SAMP(UInt16) size, the number of bytes to be saved.
  16. */
  17. void SaveSACDAreaInfo(SAMP(SACD_Area) area, SAMP(Byte) *buffPtr, SAMP(UInt16) offset, SAMP(UInt16) size)
  18. {
  19.   DWORD startAddrInSDRAM = SDRAM_2CH_AREA_INFO_BASE;
  20.   if(SAMP(SACD_AREA_MULTICHANNEL) == area)
  21.    startAddrInSDRAM = SDRAM_MULTICH_AREA_INFO_BASE;
  22.   sc_SetBytes32(startAddrInSDRAM, offset, size, (const BYTE *)buffPtr);
  23. }
  24. #if 0
  25. void test(void)
  26. {
  27.   int i;
  28.   char buff[2];
  29.   for(i = 0; i < 3000; i++)
  30.   {
  31.    buff[0] = i%250;
  32.    SaveSACDAreaInfo(SAMP(SACD_AREA_MULTICHANNEL), buff, i, 1);
  33.   }
  34.   for(i = 3000; i > 0; i--)
  35.   {
  36.    buff[0] = i%250;
  37.    SaveSACDAreaInfo(SAMP(SACD_AREA_STEREO), buff, i, 1);
  38.   }
  39.   for(i = 0; i < 3000; i++)
  40.   {
  41.    sc_GetBytes32(SDRAM_MULTICH_AREA_INFO_BASE, i, 1, buff);
  42.    printf("%dn", buff[0]);
  43.   }
  44.   for(i = 0; i < 3000; i++)
  45.   {
  46.    sc_GetBytes32(SDRAM_2CH_AREA_INFO_BASE, i, 1, buff);
  47.    printf("%dn", buff[0]);
  48.   }
  49. }
  50. #endif
  51. #endif