[svn] / trunk / xvidcore / examples / xvid_decraw.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/examples/xvid_decraw.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 558, Sat Sep 28 14:26:53 2002 UTC revision 559, Sat Sep 28 14:27:16 2002 UTC
# Line 19  Line 19 
19   *  along with this program; if not, write to the Free Software   *  along with this program; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: xvid_decraw.c,v 1.3 2002-09-27 20:58:30 edgomez Exp $   * $Id: xvid_decraw.c,v 1.4 2002-09-28 14:27:16 edgomez Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 229  Line 229 
229   *                               Main loop   *                               Main loop
230   ****************************************************************************/   ****************************************************************************/
231    
232            totalsize = LONG_PACK('M','P','4','U');
233            mp4_ptr = (unsigned char *)&totalsize;
234            if(*mp4_ptr == 'M')
235                    bigendian = 1;
236            else
237                    bigendian = 0;
238    
239          if(ARG_STREAMTYPE) {          if(ARG_STREAMTYPE) {
240    
241                  unsigned char header[4];                  unsigned char header[4];
# Line 238  Line 245 
245                          goto release_all;                          goto release_all;
246                  fread(header, 4, 1, in_file);                  fread(header, 4, 1, in_file);
247    
248                  if(header[0] != '2' || header[1] != 'M' ||                  if(header[0] != 'M' || header[1] != 'P' ||
249                     header[2] != 'O' || header[3] != 'G') {                     header[2] != '4' || header[3] != 'U') {
250                          fprintf(stderr, "Error, this not a mp4u container file\n");                          fprintf(stderr, "Error, this not a mp4u container file\n");
251                          goto release_all;                          goto release_all;
252                  }                  }
253    
254          }          }
255            else {
256          totalsize = LONG_PACK('M','P','4','U');                  fread(mp4_buffer, BUFFER_SIZE, 1, in_file);
257          mp4_ptr = (unsigned char *)&totalsize;          }
         if(*mp4_ptr == 'M')  
                 bigendian = 1;  
         else  
                 bigendian = 0;  
258    
259          totaldectime = 0;          totaldectime = 0;
260          totalsize = 0;          totalsize = 0;
# Line 274  Line 277 
277                                  break;                                  break;
278                          fread(&mp4_size, sizeof(long), 1, in_file);                          fread(&mp4_size, sizeof(long), 1, in_file);
279    
280                          if(bigendian)                          /* Mp4U container is big endian */
281                            if(!bigendian)
282                                  mp4_size = SWAP(mp4_size);                                  mp4_size = SWAP(mp4_size);
283    
284                          /* Read mp4_size_bytes */                          /* Read mp4_size_bytes */
# Line 309  Line 313 
313                                  if(feof(in_file))                                  if(feof(in_file))
314                                          break;                                          break;
315                                  fread(mp4_buffer + rest, BUFFER_SIZE - rest, 1, in_file);                                  fread(mp4_buffer + rest, BUFFER_SIZE - rest, 1, in_file);
316    
317                          }                          }
318    
319                  }                  }
# Line 377  Line 382 
382          totaldectime /= filenr;          totaldectime /= filenr;
383    
384          printf("Avg: dectime %5.2f ms, %5.2f fps, mp4 stream size =%d\n",          printf("Avg: dectime %5.2f ms, %5.2f fps, mp4 stream size =%d\n",
385                  totaldectime, 1000/totaldectime, totalsize);                  totaldectime, 1000/totaldectime, (int)totalsize);
386    
387  /*****************************************************************************  /*****************************************************************************
388   *      XviD PART  Stop   *      XviD PART  Stop
389  /****************************************************************************/   ****************************************************************************/
390    
391   release_all:   release_all:
392          if (dec_handle) {          if (dec_handle) {
# Line 437  Line 442 
442  #endif  #endif
443  }  }
444    
   
445  /*****************************************************************************  /*****************************************************************************
446   *              output functions   *              output functions
447   ****************************************************************************/   ****************************************************************************/

Legend:
Removed from v.558  
changed lines
  Added in v.559

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4