Added some comments
authorjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Wed, 15 May 2002 07:16:17 +0000 (07:16 +0000)
committerjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Wed, 15 May 2002 07:16:17 +0000 (07:16 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@3306 0101bb08-14d6-0310-b084-bc0e0c8e3800

src/speexdec.c
src/speexenc.c

index f542a73..6314db4 100644 (file)
@@ -65,6 +65,7 @@ int main(int argc, char **argv)
    ogg_packet     op;
    ogg_stream_state os;
 
+   /*Process options*/
    while(1)
    {
       c = getopt_long (argc, argv, "hv",
@@ -105,7 +106,8 @@ int main(int argc, char **argv)
    }
    inFile=argv[optind];
    outFile=argv[optind+1];
-
+   
+   /*Open input file*/
    if (strcmp(inFile, "-")==0)
       fin=stdin;
    else 
@@ -117,6 +119,8 @@ int main(int argc, char **argv)
          exit(1);
       }
    }
+
+   /*Open output file*/
    if (strcmp(outFile,"-")==0)
       fout=stdout;
    else 
@@ -129,45 +133,57 @@ int main(int argc, char **argv)
       }
    }
 
+   /*Init Ogg data struct*/
    ogg_sync_init(&oy);
    ogg_stream_init(&os, 0);
    
    speex_bits_init(&bits);
-   while (1/*||feof(fin)*/)
+   /*Main decoding loop*/
+   while (1)
    {
       char *data;
       int i, nb_read;
+      /*Get the ogg buffer for writing*/
       data = ogg_sync_buffer(&oy, 200);
+      /*Read bitstream from input file*/
       nb_read = fread(data, sizeof(char), 200, fin);      
       ogg_sync_wrote(&oy, nb_read);
+
+      /*Loop for all complete pages we got (most likely only one)*/
       while (ogg_sync_pageout(&oy, &og)==1)
       {
+         /*Add page to the bitstream*/
          ogg_stream_pagein(&os, &og);
+         /*Extract all available packets*/
          while (ogg_stream_packetout(&os, &op)==1)
          {
+            /*If first packet, process as Speex header*/
             if (first)
             {
                if (strncmp((char *)op.packet, "speex wideband**", 12)==0)
                {
-                  fprintf (stderr, "Wideband!!\n");
                   mode = &speex_wb_mode;
                } else if (strncmp((char *)op.packet, "speex narrowband", 12)==0)
                {
-                  fprintf (stderr, "Narrowband!!\n");
                   mode = &speex_nb_mode;
                } else {
                   fprintf (stderr, "This Ogg file is not a Speex bitstream\n");
                   exit(1);
                }
+               /*Initialize Speex decoder*/
                st = decoder_init(mode);
                frame_size=mode->frameSize;
                first=0;
             } else {
+               /*End of stream condition*/
                if (strncmp((char *)op.packet, "END OF STREAM", 13)==0)
                   break;
+               /*Copy Ogg packet to Speex bitstream*/
                speex_bits_init_from(&bits, (char*)op.packet, op.bytes);
+               /*Decode a frame*/
                decode(st, &bits, output);
                
+               /*PCM saturation (just in case)*/
                for (i=0;i<frame_size;i++)
                {
                   if (output[i]>32000)
@@ -175,6 +191,7 @@ int main(int argc, char **argv)
                   else if (output[i]<-32000)
                      output[i]=-32000;
                }
+               /*Convert to short and save to output file*/
                for (i=0;i<frame_size;i++)
                   out[i]=output[i];
                fwrite(out, sizeof(short), frame_size, fout);
index 670fb4e..e5d32fb 100644 (file)
@@ -76,9 +76,6 @@ int main(int argc, char **argv)
       {"version", no_argument, NULL, 0},
       {0, 0, 0, 0}
    };
-   /*ogg_stream_state *ogg_state;
-   ogg_packet packet;
-   ogg_page page;*/
 
    ogg_stream_state os;
    ogg_page             og;
@@ -86,6 +83,7 @@ int main(int argc, char **argv)
    int bytes_written, ret, result;
    int id=0;
 
+   /*Process command-line options*/
    while(1)
    {
       c = getopt_long (argc, argv, "nwhv",
@@ -137,6 +135,7 @@ int main(int argc, char **argv)
    inFile=argv[optind];
    outFile=argv[optind+1];
 
+   /*Initialize Ogg stream struct*/
    if (ogg_stream_init(&os, 0)==-1)
    {
       fprintf(stderr,"Stream init failed\n");
@@ -155,6 +154,7 @@ int main(int argc, char **argv)
    if (wideband)
       mode=&speex_wb_mode;
 
+   /*Initialize Speex encoder*/
    st = encoder_init(mode);
 
    if (strcmp(inFile, "-")==0)
@@ -180,13 +180,8 @@ int main(int argc, char **argv)
       }
    }
 
-   /*Temporary header*/
+   /*Write header (format will change)*/
    {
-      char *header="";
-      /*if (narrowband)
-         header="spexn";
-      if (wideband)
-      header="spexw";*/
 
       if (narrowband)
          op.packet = (unsigned char *)"speex narrowband";
@@ -211,24 +206,21 @@ int main(int argc, char **argv)
          else
             bytes_written += ret;
       }
-      
-      
-      if (fwrite(header, 1, 5, fout)!=5)
-      {
-         perror("Cannot write header");
-      }
    }
 
    frame_size=mode->frameSize;
 
+   /*Main encoding loop (one frame per iteration)*/
    while (1)
    {
       id++;
+      /*Read input audio*/
       fread(in, sizeof(short), frame_size, fin);
       if (feof(fin))
          break;
       for (i=0;i<frame_size;i++)
          input[i]=in[i];
+      /*Encode current frame*/
       encode(st, input, &bits);
 
       /*if (id%5!=0)