Beispiel #1
0
void ampegdecoder::seekinit3(int discard)
{
  int i,j,k;
  int extra=(seekmode==seekmodeexact)?1:0;
  if ((discard>=seekinitframes)&&extra)
    for (i=0; i<2; i++)
      for (j=0; j<32; j++)
        for (k=0; k<18; k++)
          prevblck[i][j][k]=0;
  huffoffset=0;
  for (i=discard; i<seekinitframes; i++)
    if (i<(seekinitframes-extra))
      for (j=0; j<(hdrlsf?2:1); j++)
      {
        if (!decodehdr(0))
          return;
        readmain(0);
      }
    else
    {
      if (!decodehdr(0))
        return;
      decode3();
    }
}
Beispiel #2
0
int main()
{
    int ch,e;
    while(1)
    {
        system("cls");
        printf("\n\n\t\tASSEMBLER");
        printf("\n\t\t1.Get Object Program Of a Program File");
        printf("\n\t\t2.Text Files");
        printf("\n\t\t3.Exit");
        fflush(stdin);
        printf("\n\t\tEnter Your Choice [1..3]:");
        scanf("%d",&ch);
        switch(ch)
        {
            case 1:e=mainp();
                   if(e==1)
                   {
                       printf("\n Additional files can have Wrong data");
                   }
                   else
                       printf("\nObject Program is stored in Oprogram.txt");
                   getch();
                   break;
            case 2:readmain();
                   break;
            case 3:exit(1);

            default:printf("\n Invalid Input!!");

        }
    }
    return 0;
}
Beispiel #3
0
void ampegdecoder::decode3()
{
  int fr,gr,ch,sb,ss;
  for (fr=0; fr<(hdrlsf?2:1); fr++)
  {
    grsistruct si0[2][2];

    if (fr)
      decodehdr(0);

    if (!hdrbitrate)
    {
      for (gr=fr; gr<2; gr++)
        for (ch=0; ch<2; ch++)
          for (sb=0; sb<32; sb++)
            for (ss=0; ss<18; ss++)
            {
              fraction[ch][gr*18+ss][sb]=((sb&ss&1)?-1:1)*prevblck[ch][sb][ss];
              prevblck[ch][sb][ss]=0;
            }
      return;
    }

    readmain(si0);
    int stereo=(hdrmode==3)?1:2;
    int ngr=hdrlsf?1:2;
    for (gr=0;gr<ngr;gr++)
    {
      for (ch=0; ch<stereo; ch++)
      {
        readscalefac(si0[ch][gr], scalefac0[ch]);
        readhuffman(si0[ch][gr], xr0[ch]);
        doscale(si0[ch][gr], xr0[ch], scalefac0[ch]);
      }

      if (hdrmode==1)
        jointstereo(si0[1][gr], xr0, scalefac0[1]);

      for (ch=0; ch<stereo; ch++)
        hybrid(si0[ch][gr], fraction[ch]+(fr+gr)*18, prevblck[ch], xr0[ch]);
    }
  }
}