Ejemplo n.º 1
0
//Every block has the following header:
// 0 - compressed size includeing header (word)
// 2 - CRC-16 (word)
// 4 - block type
// 6 - uncompressed size (word)
// 8 .. (compressed size + 5) - compressed data (byte array)
dword CompressTFD (byte *pSrc, dword SourceBufferSize, byte *pDest, word TFDType, word SysID, void *pPercentFinishedCallback)
{
  word                  OrigSize, CompSize;
  dword                 OutBufferSize, NrBlocks = 0, FullSize = SourceBufferSize;
  byte                  *FileHeader;

  //PercentFinishedCallback is called for every block. PercentFinished contains a number between 0 and 100
  void (*PercentFinishedCallback) (dword PercentFinished) = pPercentFinishedCallback;

  //Build the tfd file header
  FileHeader = pDest;
  if (pDest)
  {
    STORE_WORD (pDest    , 0x0008);
    STORE_WORD (pDest + 4, SysID);
    STORE_WORD (pDest + 6, 0x0001);
    pDest += 10;
  }
  OutBufferSize = 10;

  while (SourceBufferSize)
  {
    if (PercentFinishedCallback) PercentFinishedCallback ((FullSize - SourceBufferSize) * 100 / FullSize);

    NrBlocks++;
    OrigSize = (SourceBufferSize > 0x7ffa) ? 0x7ffa : SourceBufferSize;

    if (pDest)
    {
      CompSize = CompressBlock (pSrc, OrigSize, pDest + 8);

      //Build the block header
      STORE_WORD (pDest    , CompSize + 6);
      STORE_WORD (pDest + 4, TFDType);
      STORE_WORD (pDest + 6, OrigSize);
      STORE_WORD (pDest + 2, CRC16 (0, pDest + 4, 4 + CompSize));
      pDest += CompSize + 8;
    }
    else CompSize = CompressBlock (pSrc, OrigSize, NULL);

    OutBufferSize    += CompSize + 8;
    SourceBufferSize -= OrigSize;
    pSrc             += OrigSize;
  }

  if (FileHeader)
  {
    STORE_WORD (FileHeader + 8, NrBlocks);
    STORE_WORD (FileHeader + 2, CRC16 (0, FileHeader + 4, 6));
  }

  if (PercentFinishedCallback) PercentFinishedCallback (100);

  return OutBufferSize;
}
Ejemplo n.º 2
0
static void CheckCompression(char *mptr, int msize, char *dptr, int it,
    int *balgorithm, int*breference, int *bsize, char *best, int max)
{
    int ib;
    int osize;
    int overhead;
    int first, last;
    int length;
    char difference[MOUTPUT], output[MOUTPUT];

    for(ib=0; ib<msize; ib++)
    {
        difference[ib]=mptr[ib]^dptr[ib];
    }
    //
    // compress with LZMA
    //
    osize= -1;
//            osize=CompressLzma(difference, dsize, output, MOUTPUT);
    if(osize>=0)
    {
        if(osize< *bsize)
        {
            *balgorithm=_compress_lzma;
            *breference=it;
            *bsize=osize;
            memcpy(best,output,osize);
        }
    }
    //
    // look for (offset,value) pairs
    //
    osize=CompressPairs(dptr, msize, output, MOUTPUT);
    if(osize>=0)
    {
        if(osize< *bsize)
        {
            *balgorithm=_compress_pairs;
            *breference=it;
            *bsize=osize;
            memcpy(best,output,osize);
       }
    }
    // 
    // look for block
    //
    osize=CompressBlock(difference, mptr, msize, output, MOUTPUT);
    if(osize>=0)
    {
        if(osize+4< *bsize)
        {
            *balgorithm=_compress_block;
            *breference=it;
            *bsize=osize;
            memcpy(best,output,osize);
       }
    }
}
Ejemplo n.º 3
0
//----------------------------------------------------------------------------
//
// block compression
//
// addr: address of start of datatype
// dtype: DIY datatype
// comm: MPI communicator
// comp_buf: pointer to compressed buffer, datatype DIY_BYTE (output)
// comp_size: size of compressed buffer in bytes
//
// side effects: allocates comp_buf, will be freed automatically the next 
// time this function is called, user need not free comp_buf,
// but should use up the result before calling again, because it will disappear
//
// returns: error code
//
int DIY_Compress_block(void* addr, DIY_Datatype dtype, MPI_Comm comm,
		       unsigned char **comp_buf, int *comp_size) {

  comp_buf_v.clear();
  CompressBlock(addr, dtype, comm, &comp_buf_v, comp_size);
  *comp_buf = &comp_buf_v[0];
  return 0;

}
Ejemplo n.º 4
0
ULONG _Compress(PVOID pvOutput, ULONG OutBufferSize, PVOID pvInput, ULONG InputSize)
{
    PBYTE pbOutput, pbInput;
    ULONG CompresseBlockSize, BlockCount, InputBlockSize, OutputBlockSize;

    struct
    {
        ULONG CompressedSize;
        ULONG OriginalSize;
        ULONG BlockCount;
    } *pHeader;

    CompresseBlockSize = 0xE380;
    BlockCount = 0;

    *(PULONG_PTR)&pHeader = (ULONG_PTR)pvOutput;

    pbOutput    = (PBYTE)(pHeader + 1);
    pbInput     = (PBYTE)pvInput;

    pHeader->OriginalSize = InputSize;
    while (InputSize != 0)
    {
        ++BlockCount;
        InputBlockSize      = min(InputSize, CompresseBlockSize);
        OutputBlockSize     = CompressBlock(pbOutput + 2, OutBufferSize - 2, pbInput, InputBlockSize);
        OutBufferSize      += 2;
        *(PUSHORT)pbOutput  = OutputBlockSize;

        OutBufferSize  -= OutputBlockSize;
        pbOutput       += OutputBlockSize;
        pbInput        += InputBlockSize;

        *pbOutput++ = 1;

        InputSize      -= InputBlockSize;
    }

    *pbOutput++ = 0;

    pHeader->BlockCount = BlockCount;
    pHeader->CompressedSize = pbOutput - (PBYTE)pvOutput + sizeof(*pHeader) - sizeof(pHeader->OriginalSize);

    return pHeader->CompressedSize + sizeof(pHeader->OriginalSize);
}
Ejemplo n.º 5
0
bool RunJPEGCompressor(JPEGCompressor *self,FILE *output)
{
	uint32_t shifts=
	(self->eobshift-1)|
	(self->zeroshift-1<<3)|
	(self->eobshift-1<<6)|
	(self->acmagnitudeshift-1<<9)|
	(self->acremaindershift-1<<12)|
	(self->acsignshift-1<<15)|
	(self->dcmagnitudeshift-1<<18)|
	(self->dcremaindershift-1<<21)|
	(self->dcsignshift-1<<24);

	fputc((shifts>>24)&0xff,output);
	fputc((shifts>>16)&0xff,output);
	fputc((shifts>>8)&0xff,output);
	fputc(shifts&0xff,output);

	InitializeRangeEncoder(&self->encoder,STDIOWriteFunction,output);

	// Parse the JPEG structure. If this is the first bundle,
	// we have to first find the start marker.

	int parseres=ParseJPEGMetadata(&self->jpeg,self->start,self->end-self->start);
	if(parseres==JPEGMetadataParsingFailed) return false;
	if(parseres==JPEGMetadataFoundEndOfImage) return false;

	// TODO: Do sanity and conformance checks here.

	size_t totallength=self->end-self->start;
	size_t metadatalength=self->jpeg.bytesparsed;
	if(metadatalength>=0x1000000) return false;

	// Write metadata length.
	for(int i=23;i>=0;i--)
	{
		WriteBit(&self->encoder,(metadatalength>>i)&1,0x800);
	}

	// Write metadata.
	for(int i=0;i<metadatalength;i++)
	for(int j=7;j>=0;j--)
	{
		WriteBit(&self->encoder,(self->start[i]>>j)&1,0x800);
	}

	// Initialize bitstream reader and Huffman lookup tables
	// to read JPEG data.
	InitializeBitStreamReader(&self->bitstream,self->start+self->jpeg.bytesparsed,
	totallength-metadatalength);

	for(int i=0;i<4;i++)
	{
		if(self->jpeg.huffmandefined[0][i])
		{
			InitializeHuffmanTable(&self->dctables[i]);
			for(int j=0;j<256;j++)
			{
				if(self->jpeg.huffmantables[0][i].codes[j].length)
				AddHuffmanCode(&self->dctables[i],
				self->jpeg.huffmantables[0][i].codes[j].code,
				self->jpeg.huffmantables[0][i].codes[j].length,j);
			}
		}

		if(self->jpeg.huffmandefined[1][i])
		{
			InitializeHuffmanTable(&self->actables[i]);
			for(int j=0;j<256;j++)
			{
				if(self->jpeg.huffmantables[1][i].codes[j].length)
				AddHuffmanCode(&self->actables[i],
				self->jpeg.huffmantables[1][i].codes[j].code,
				self->jpeg.huffmantables[1][i].codes[j].length,j);
			}
		}
	}

	// Reset JPEG predictors.
	memset(self->predicted,0,sizeof(self->predicted));

	// Allocate memory for a few rows of data, for neighbour blocks.
	JPEGBlock *rows[4][3]={NULL};
	for(int i=0;i<self->jpeg.numscancomponents;i++)
	for(int j=0;j<3;j++)
	{
		rows[i][j]=malloc(self->jpeg.horizontalmcus*
		self->jpeg.scancomponents[i].component->horizontalfactor*
		sizeof(JPEGBlock));

		if(!rows[i][j]) return false; //JPEGOutOfMemoryError;
	}

	// Initialize arithmetic encoder contexts.
	InitializeContexts(&self->eobbins[0][0][0],sizeof(self->eobbins));
	InitializeContexts(&self->zerobins[0][0][0][0],sizeof(self->zerobins));
	InitializeContexts(&self->pivotbins[0][0][0][0],sizeof(self->pivotbins));
	InitializeContexts(&self->acmagnitudebins[0][0][0][0][0],sizeof(self->acmagnitudebins));
	InitializeContexts(&self->acremainderbins[0][0][0][0],sizeof(self->acremainderbins));
	InitializeContexts(&self->acsignbins[0][0][0][0],sizeof(self->acsignbins));
	InitializeContexts(&self->dcmagnitudebins[0][0][0],sizeof(self->dcmagnitudebins));
	InitializeContexts(&self->dcremainderbins[0][0][0],sizeof(self->dcremainderbins));
	InitializeContexts(&self->dcsignbins[0][0][0][0],sizeof(self->dcsignbins));

	int restartcounter=0;
	int restartindex=0;
	for(int row=0;row<self->jpeg.verticalmcus;row++)
	for(int col=0;col<self->jpeg.horizontalmcus;col++)
	{
		if(self->jpeg.restartinterval&&restartcounter==self->jpeg.restartinterval)
		{
			if(!FlushAndSkipRestartMarker(&self->bitstream,restartindex)) return false;
			restartindex=(restartindex+1)&7;
			restartcounter=0;
			memset(self->predicted,0,sizeof(self->predicted));
		}

		restartcounter++;

		for(int comp=0;comp<self->jpeg.numscancomponents;comp++)
		{
			int hblocks=self->jpeg.scancomponents[comp].component->horizontalfactor;
			int vblocks=self->jpeg.scancomponents[comp].component->verticalfactor;
			JPEGQuantizationTable *quantization=self->jpeg.scancomponents[comp].component->quantizationtable;

			for(int mcu_y=0;mcu_y<vblocks;mcu_y++)
			for(int mcu_x=0;mcu_x<hblocks;mcu_x++)
			{
				int x=col*hblocks+mcu_x;
				int y=row*vblocks+mcu_y;

				JPEGBlock *current=&rows[comp][y%3][x];

				JPEGBlock *west;
				if(x==0) west=NULL;
				else west=&rows[comp][y%3][x-1];

				JPEGBlock *north;
				if(y==0) north=NULL;
				else north=&rows[comp][(y-1)%3][x];

				if(!ReadBlock(self,current,comp)) return false;

//fprintf(stderr,"%d,%d,%d: ",x,y,comp);
//for(int i=0;i<64;i++) fprintf(stderr,"%d ",current->c[i]);
//fprintf(stderr,"\n");

				CompressBlock(self,comp,current,north,west,quantization);
			}
		}
	}

	// Kludge in a closing block, if possible.
	if(self->bitstream.pos!=self->end-2) return false;
	if(self->bitstream.pos[0]!=0xff) return false;
	if(self->bitstream.pos[1]!=0xd9) return false;

	metadatalength=2;

	// Write metadata length.
	for(int i=23;i>=0;i--)
	{
		WriteBit(&self->encoder,(metadatalength>>i)&1,0x800);
	}

	// Write metadata.
	for(int i=0;i<metadatalength;i++)
	for(int j=7;j>=0;j--)
	{
		WriteBit(&self->encoder,(self->bitstream.pos[i]>>j)&1,0x800);
	}

	FinishRangeEncoder(&self->encoder);

	for(int i=0;i<4;i++)
	for(int j=0;j<3;j++)
	free(rows[i][j]);

	return true;
}
Ejemplo n.º 6
0
int TAP_Main (void)
{
  AddTime(0, 0);
  BMP_WriteHeader(NULL, 0, 0);
  BootReason();
  BuildWindowBorder();
  BuildWindowInfo();
  BuildWindowLine();
  BuildWindowLineSelected();
  BuildWindowScrollBar();
  BuildWindowTitle();
  busyWait();
  CalcAbsSectorFromFAT(NULL, 0);
  CalcPrepare();
  CalcTopIndex(0, 0);
  Callback(0, NULL, 0, 0, 0, 0);
  CallbackHelper(NULL, NULL, 0, 0, 0, 0);
  CallBIOS(0, 0, 0, 0, 0);
  CallFirmware(0, 0, 0, 0, 0);
  CallTraceEnable(FALSE);
  CallTraceEnter(NULL);
  CallTraceExit(NULL);
  CallTraceInit();
  CaptureScreen(0, 0, 0, NULL, 0, 0);
  ChangeDirRoot();
  CheckSelectable(0, 0);
  combineVfdData(NULL, NULL);
  compact(NULL, 0);
  CompressBlock(NULL, 0, NULL);
  CompressedTFDSize(NULL, 0, NULL);
  CompressTFD(NULL, 0, NULL, 0, 0, NULL);
  CRC16(0, NULL, 0);
  CRC32 (0, NULL, 0);
  Delay(0);
  DialogEvent(NULL, NULL, NULL);
  DialogMsgBoxButtonAdd(NULL, FALSE);
  DialogMsgBoxExit();
  DialogMsgBoxInit(NULL, NULL, NULL, NULL);
  DialogMsgBoxShow();
  DialogMsgBoxShowInfo(0);
  DialogMsgBoxShowOK();
  DialogMsgBoxShowOKCancel(0);
  DialogMsgBoxShowYesNo(0);
  DialogMsgBoxShowYesNoCancel(0);
  DialogMsgBoxTitleSet(NULL, NULL);
  DialogProfileChange(NULL);
  DialogProfileCheck(NULL, NULL, FALSE);
  DialogProfileLoad(NULL);
  DialogProfileLoadDefault();
  DialogProfileLoadMy(NULL, FALSE);
  DialogProfileSave(NULL);
  DialogProfileSaveDefault();
  DialogProfileScrollBehaviourChange(FALSE, FALSE);
  DialogProgressBarExit();
  DialogProgressBarInit(NULL, NULL, 0, 0, NULL, 0, 0);
  DialogProgressBarSet(0, 0);
  DialogProgressBarShow();
  DialogProgressBarTitleSet(NULL);
  DialogWindowChange(NULL, FALSE);
  DialogWindowCursorChange(FALSE);
  DialogWindowCursorSet(0);
  DialogWindowExit();
  DialogWindowHide();
  DialogWindowInfoAddIcon(0, 0, NULL);
  DialogWindowInfoAddS(0, 0, 0, NULL, 0, 0, 0, 0, 0);
  DialogWindowInfoDeleteAll();
  DialogWindowInit(NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, 0, 0, 0);
  DialogWindowItemAdd(NULL, 0, NULL, 0, FALSE, FALSE, 0, NULL);
  DialogWindowItemAddSeparator();
  DialogWindowItemChangeFlags(0, FALSE, FALSE);
  DialogWindowItemChangeIcon(0, 0, NULL);
  DialogWindowItemChangeParameter(0, NULL, 0);
  DialogWindowItemChangeValue(0, NULL, 0);
  DialogWindowItemDelete(0);
  DialogWindowItemDeleteAll();
  DialogWindowRefresh();
  DialogWindowReInit(0, 0, 0, 0, 0, 0);
  DialogWindowScrollDown();
  DialogWindowScrollDownPage();
  DialogWindowScrollUp();
  DialogWindowScrollUpPage();
  DialogWindowShow();
  DialogWindowTabulatorSet(0, 0);
  DialogWindowTitleChange(NULL, NULL, NULL);
  DialogWindowTypeChange(0);
  DrawMsgBoxButtons();
  DrawMsgBoxTitle();
  DrawOSDLine(0, 0, 0, 0, 0, 0);
  DrawProgressBarBar(0, 0);
  DrawProgressBarTitle();
  DrawWindowBorder();
  DrawWindowInfo();
  DrawWindowLine(0);
  DrawWindowLines();
  DrawWindowScrollBar();
  DrawWindowTitle();
  EndMessageWin();
  exitHook();
  ExtractLine(NULL, NULL);
  FileSelector(NULL, NULL, NULL, 0);
  FileSelectorKey(0, 0);
  FindDBTrack();
  FindInstructionSequence(NULL, NULL, 0, 0, 0, 0);
  findSendToVfdDisplay(0, 0);
  FlashAddFavourite(NULL, 0, FALSE);
  FlashDeleteFavourites();
  FlashFindEndOfServiceNameTableAddress();
  FlashFindEndOfServiceTableAddress(0);
  FlashFindServiceAddress(0, 0, 0, 0);
  FlashFindTransponderIndex(0, 0, 0);
  FlashGetBlockStartAddress(0);
  FlashGetChannelNumber(0, 0, 0, 0);
  FlashGetSatelliteByIndex(0);
  FlashGetServiceByIndex(0, FALSE);
  FlashGetServiceByName (NULL, FALSE);
  FlashGetTransponderCByIndex(0);
  FlashGetTransponderSByIndex(0, 0);
  FlashGetTransponderTByIndex(0);
  FlashGetTrueLocalTime(0, 0);
  FlashGetType();
  FlashInitialize(0);
  FlashProgram();
  FlashReindexFavourites(0, 0, 0);
  FlashReindexTimers(0, 0, 0);
  FlashRemoveCASServices(FALSE);
  FlashRemoveServiceByIndex(0, FALSE);
  FlashRemoveServiceByIndexString(NULL, FALSE);
  FlashRemoveServiceByLCN(NULL, FALSE);
  FlashRemoveServiceByName(NULL, FALSE);
  FlashRemoveServiceByPartOfName(NULL, FALSE);
  FlashRemoveServiceByUHF(NULL, FALSE, FALSE);
  FlashServiceAddressToServiceIndex(NULL);
  FlashWrite(NULL, NULL, 0, NULL);
  FlushCache(NULL, 0);
  FreeOSDRegion(0);
  fwHook(0);
  GetAudioTrackPID(0, NULL);
  GetClusterPointer(0);
  GetCurrentEvent(NULL);
  GetEEPROMAddress();
  GetEEPROMPin();
  GetFrameBufferPixel(0, 0);
  GetFrameSize(0, 0);
  GetFWInfo(0, 0, 0, 0, 0, 0, 0, 0);
  GetHeapParameter(NULL, 0);
  GetLine(NULL, 0);
  GetOSDMapAddress();
  GetOSDRegionHeight(0);
  GetOSDRegionWidth(0);
  GetPinStatus();
  GetPIPPosition(NULL, NULL, NULL, NULL);
  getRECSlotAddress();
  GetSysOsdControl(0);
  GetToppyString(0);
  HasEnoughItemMemory();
  HDD_AAM_Disable();
  HDD_AAM_Enable(0);
  HDD_APM_Disable();
  HDD_APM_Enable(0);
  HDD_BigFile_Read(NULL, 0, 0, NULL);
  HDD_BigFile_Size(NULL);
  HDD_BigFile_Write(NULL, 0, 0, NULL);
  HDD_ChangeDir(NULL);
  HDD_DecodeRECHeader(NULL, NULL);
  HDD_EncodeRECHeader(NULL, NULL, 0);
  HDD_FappendOpen(NULL);
  HDD_FappendWrite(NULL, NULL);
  HDD_FindPCR(NULL, 0);
  HDD_FindPMT(NULL, 0, NULL);
  HDD_FreeSize();
  HDD_GetClusterSize();
  HDD_GetFileDir(NULL, 0, NULL);
  HDD_GetFirmwareDirCluster();
  HDD_GetHddID(NULL, NULL, NULL);
  HDD_IdentifyDevice(NULL);
  HDD_isAnyRecording();
  HDD_isCryptedStream(NULL, 0);
  HDD_isRecording(0);
  HDD_LiveFS_GetChainLength(0);
  HDD_LiveFS_GetFAT1Address();
  HDD_LiveFS_GetFAT2Address();
  HDD_LiveFS_GetFirstCluster(0);
  HDD_LiveFS_GetLastCluster(0);
  HDD_LiveFS_GetNextCluster(0);
  HDD_LiveFS_GetPreviousCluster(0);
  HDD_LiveFS_GetRootDirAddress();
  HDD_LiveFS_GetSuperBlockAddress();
  HDD_MakeNewRecName(NULL, 0);
  HDD_Move(NULL, NULL, NULL);
  HDD_ReadClusterDMA(0, NULL);
  HDD_ReadSector(0, 0);
  HDD_ReadSectorDMA(0, 0, NULL);
  HDD_RECSlotGetAddress(0);
  HDD_RECSlotIsPaused(0);
  HDD_RECSlotPause(0, FALSE);
  HDD_RECSlotSetDuration(0, 0);
  HDD_SetCryptFlag(NULL, 0);
  HDD_SetFileDateTime(NULL, 0, 0, 0);
  HDD_SetSkipFlag (NULL, FALSE);
  HDD_SetStandbyTimer(0);
  HDD_Smart_DisableAttributeAutoSave();
  HDD_Smart_DisableOperations();
  HDD_Smart_EnableAttributeAutoSave();
  HDD_Smart_EnableOperations();
  HDD_Smart_ExecuteOfflineImmediate(0);
  HDD_Smart_ReadData(0);
  HDD_Smart_ReadThresholdData(0);
  HDD_Smart_ReturnStatus();
  HDD_Stop();
  HDD_TAP_Callback(0, NULL, 0, 0, 0, 0);
  HDD_TAP_Disable(0, 0);
  HDD_TAP_DisableAll(0);
  HDD_TAP_DisabledEventHandler(0, 0, 0);
  HDD_TAP_GetCurrentDir(NULL);
  HDD_TAP_GetCurrentDirCluster();
  HDD_TAP_GetIDByFileName(NULL);
  HDD_TAP_GetIDByIndex(0);
  HDD_TAP_GetIndexByID(0);
  HDD_TAP_GetInfo(0, NULL);
  HDD_TAP_GetStartParameter();
  HDD_TAP_isAnyRunning();
  HDD_TAP_isBatchMode();
  HDD_TAP_isDisabled(0);
  HDD_TAP_isDisabledAll();
  HDD_TAP_isRunning(0);
  HDD_TAP_SendEvent(0, FALSE, 0, 0, 0);
  HDD_TAP_SetCurrentDirCluster(0);
  HDD_TAP_Start(NULL, FALSE, NULL, NULL);
  HDD_TAP_StartedByTAP();
  HDD_TAP_Terminate(0);
  HDD_TouchFile(NULL);
  HDD_TranslateDirCluster(0, NULL);
  HDD_TruncateFile(NULL, 0);
  HDD_Write(NULL, 0, NULL);
  HDD_WriteClusterDMA(0, NULL);
  HDD_WriteSectorDMA(0, 0, NULL);
  HookEnable(0, 0);
  HookExit();
  HookIsEnabled(0);
  HookMIPS_Clear(0, 0, 0);
  HookMIPS_Set(0, 0, 0);
  HookSet(0, 0);
  IMEM_Alloc(0);
  IMEM_Init(0);
  IMEM_isInitialized();
  IMEM_Compact();
  IMEM_Free(NULL);
  IMEM_GetInfo(NULL, NULL);
  IMEM_Kill();
  InfoTestGrid();
  INICloseFile();
  INIFindStartEnd(NULL, NULL, NULL, 0);
  INIGetARGB(NULL, NULL, NULL, NULL, NULL, 0);
  INIGetHexByte(NULL, 0, 0, 0);
  INIGetHexDWord(NULL, 0, 0, 0);
  INIGetHexWord(NULL, 0, 0, 0);
  INIGetInt(NULL, 0, 0, 0);
  INIGetString(NULL, NULL, NULL, 0);
  INIKillKey(NULL);
  INIOpenFile(NULL);
  INISaveFile(NULL);
  INISetARGB(NULL, 0, 0, 0, 0);
  INISetComment(NULL);
  INISetHexByte(NULL, 0);
  INISetHexDWord(NULL, 0);
  INISetHexWord(NULL, 0);
  INISetInt(NULL, 0);
  INISetString(NULL, NULL);
  initCodeWrapper(0);
  InitTAPAPIFix();
  InitTAPex();
  InteractiveGetStatus();
  InteractiveSetStatus(FALSE);
  intLock();
  intUnlock(0);
  isAnyOSDVisible(0, 0, 0, 0);
  isLegalChar(0, 0);
  isMasterpiece();
  isMPMenu();
  iso639_1(0);
  isOSDRegionAlive(0);
  isValidChannel(NULL);
  LangGetString(0);
  LangLoadStrings(NULL, 0, 0);
  LangUnloadStrings();
  Log(NULL, NULL, FALSE, 0, NULL);
  LowerCase(NULL);
  MakeValidFileName(NULL, 0);
  MHEG_Status();
  MPDisplayClearDisplay();
  MPDisplayClearSegments(0, 0);
  MPDisplayDisplayLongString(NULL);
  MPDisplayDisplayShortString(NULL);
  MPDisplayGetDisplayByte(0);
  MPDisplayGetDisplayMask(0);
  MPDisplayInstallMPDisplayFwHook();
  MPDisplaySetAmFlag(0);
  MPDisplaySetColonFlag(0);
  MPDisplaySetDisplayByte(0, 0);
  MPDisplaySetDisplayMask(0, 0);
  MPDisplaySetDisplayMemory(NULL);
  MPDisplaySetDisplayMode(0);
  MPDisplaySetPmFlag(0);
  MPDisplaySetSegments(0, 0);
  MPDisplayToggleSegments(0, 0);
  MPDisplayUninstallMPDisplayFwHook();
  MPDisplayUpdateDisplay();
  Now(NULL);
  OSDCopy(0, 0, 0, 0, 0, 0, 0);
  OSDLinesForeDirty(FALSE);
  ParseLine(NULL, NULL, 0);
  ProfileDirty();
  ProfileInit();
  ProfileLoad(NULL, FALSE);
  ProfileMayReload();
  ReadEEPROM(0, 0, NULL);
  ReadIICRegister(0, 0, 0, 0, NULL);
  Reboot(0);
  ReceiveSector(0);
  RTrim(NULL);
  SaveBitmap(NULL, 0, 0, NULL);
  SendEvent(0, 0, 0, 0);
  SendEventHelper(NULL, 0, 0, 0);
  SendHDDCommand(0, 0, 0, 0, 0, 0, 0);
  SendToFP(NULL);
  SeparatePathComponents(NULL, NULL, NULL, NULL);
  SetCrashBehaviour(0);
  setSymbol14(0, 0);
  setSymbol17(0, 0);
  ShowMessageWin(NULL, NULL, NULL, 0);
  ShowMessageWindow(NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  Shutdown(0);
  SoundSinus(0, 0, 0);
  StrEndsWith(NULL, NULL);
  stricstr(NULL, NULL);
  SubtitleGetStatus();
  SubtitleSetStatus(FALSE);
  SuppressedAutoStart();
  SwapDWords(0);
  SwapWords(0);
  TAP_Osd_PutFreeColorGd(0, 0, 0, NULL, FALSE, 0);
  TAPCOM_CloseChannel(NULL);
  TAPCOM_Finish(NULL, 0);
  TAPCOM_GetChannel(0, NULL, NULL, NULL, NULL);
  TAPCOM_GetReturnValue(NULL);
  TAPCOM_GetStatus(NULL);
  TAPCOM_LastAlive(NULL);
  TAPCOM_OpenChannel(0, 0, 0, NULL);
  TAPCOM_Reject(NULL);
  TAPCOM_StillAlive(NULL);
  TFDSize(NULL);
  TimeDiff(0, 0);
  TimeFormat(0, 0, 0);
  TunerGet(0);
  TunerSet(0);
  UncompressBlock(NULL, 0, NULL, 0);
  UncompressedFirmwareSize(NULL);
  UncompressedLoaderSize(NULL);
  UncompressedTFDSize(NULL);
  UncompressFirmware(NULL, NULL, NULL);
  UncompressLoader(NULL, NULL, NULL);
  UncompressTFD(NULL, NULL, NULL);
  UpperCase(NULL);
  ValidFileName(NULL, 0);
  WindowDirty();
  WriteIICRegister(0, 0, 0, 0, NULL);
  YUV2RGB(0, 0, 0, NULL, NULL, NULL);
  YUV2RGB2(0, 0, 0, NULL, NULL, NULL);

  return 0;
}