home *** CD-ROM | disk | FTP | other *** search
/ Dream 44 / Amiga_Dream_44.iso / Linux / Apps / xanim.tgz / xanim / xanim27064 / xa_xmpg.h < prev    next >
Text File  |  1997-01-26  |  2KB  |  90 lines

  1.  
  2. /*
  3.  * xa_xmpg.c
  4.  *
  5.  * Copyright (C) 1995,1996,1997 by Mark Podlipec.
  6.  * All rights reserved.
  7.  *
  8.  * This software may be freely copied, modified and redistributed without
  9.  * fee for non-commerical purposes provided that this copyright notice is
  10.  * preserved intact on all copies and modified copies.
  11.  *
  12.  * There is no warranty or other guarantee of fitness of this software.
  13.  * It is provided solely "as is". The author(s) disclaim(s) all
  14.  * responsibility and liability with respect to this software's usage
  15.  * or its effect upon hardware or computer systems.
  16.  *
  17.  */
  18.  
  19.  
  20.  
  21. #define MPG_TYPE_I 1
  22. #define MPG_TYPE_P 2
  23. #define MPG_TYPE_B 3
  24.  
  25. #define MPG_PIC_START    0x00
  26. #define MPG_MIN_SLICE    0x01
  27. #define MPG_MAX_SLICE    0xaf
  28. #define MPG_USR_START    0xb2
  29. #define MPG_SEQ_START    0xb3
  30. #define MPG_EXT_START    0xb5
  31. #define MPG_SEQ_END    0xb7
  32. #define MPG_GOP_START    0xb8
  33.  
  34. #define MPG_ISO_END    0xb9
  35.  
  36. #define MPG_PACK_START    0xba
  37. #define MPG_SYS_START    0xbb
  38.  
  39. #define MPG_UNK_BC    0xbc
  40. #define MPG_UNK_BE    0xbe
  41. #define MPG_UNK_C0    0xc0
  42. #define MPG_UNK_E0    0xe0
  43.  
  44.  
  45. typedef struct STRUCT_SEQ_HDR
  46. {
  47.   xaULONG width;
  48.   xaULONG height;
  49.   xaULONG aspect;
  50.   xaULONG pic_rate;
  51.   xaULONG bit_rate;
  52.   xaULONG vbv_buff_size;
  53.   xaULONG constrained;
  54.   xaULONG intra_flag;
  55.   xaULONG non_intra_flag;
  56.   xaUBYTE intra_qtab[64];
  57.   xaUBYTE non_intra_qtab[64];
  58. } MPG_SEQ_HDR;
  59.  
  60. typedef struct STRUCT_SLICE_HDR
  61. {
  62.   xaULONG vert_pos;
  63.   xaULONG fpos;
  64.   xaULONG fsize;
  65.   XA_ACTION *act;
  66.   struct STRUCT_SLICE_HDR *next;
  67. } MPG_SLICE_HDR;
  68.  
  69. typedef struct STRUCT_PIC_HDR
  70. {
  71.   xaULONG type;
  72.   xaULONG time;
  73.   xaULONG vbv_delay;  /* not used */
  74.   xaULONG full_forw_flag;
  75.   xaULONG forw_r_size;
  76.   xaULONG forw_f;
  77.   xaULONG full_back_flag;
  78.   xaULONG back_r_size;
  79.   xaULONG back_f;
  80.   xaULONG vert_pos;
  81.   xaULONG q_scale;
  82.   MPG_SEQ_HDR *seq_hdr;
  83.   xaULONG slice_cnt;
  84.   MPG_SLICE_HDR *slice_1st;
  85.   MPG_SLICE_HDR *slice_last;
  86.   MPG_SLICE_HDR slices[2];  /* must be last */
  87. } MPG_PIC_HDR;
  88.  
  89.  
  90.