home *** CD-ROM | disk | FTP | other *** search
/ Dream 44 / Amiga_Dream_44.iso / Linux / Apps / xanim.tgz / xanim / xanim27064 / xa_qt.h < prev    next >
C/C++ Source or Header  |  1997-01-26  |  5KB  |  208 lines

  1.  
  2. /*
  3.  * xa_qt.h
  4.  *
  5.  * Copyright (C) 1993,1994,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. #include "xanim.h"
  20.  
  21. #define QT_moov 0x6D6F6F76
  22. #define QT_trak 0x7472616B
  23. #define QT_mdia 0x6D646961
  24. #define QT_minf 0x6D696E66
  25. #define QT_stbl 0x7374626C
  26. /*-------------- LISTS ---------------------*/
  27. #define QT_edts 0x65647473
  28. /*-------------- STUFF ---------------------*/
  29. #define QT_hdlr 0x68646C72
  30. #define QT_mvhd 0x6D766864
  31. #define QT_tkhd 0x746B6864
  32. #define QT_elst 0x656C7374
  33. #define QT_mdhd 0x6D646864
  34. #define QT_stsd 0x73747364
  35. #define QT_stts 0x73747473
  36. #define QT_stss 0x73747373
  37. #define QT_stsc 0x73747363
  38. #define QT_stsz 0x7374737a
  39. #define QT_stco 0x7374636f
  40. /*-------------- VIDEO CODECS ---------------*/
  41. #define QT_rle   0x726c6520
  42. #define QT_smc   0x736D6320
  43. #define QT_rpza  0x72707A61
  44. #define QT_azpr  0x617A7072
  45. #define QT_CVID  0x43564944
  46. #define QT_cvid  0x63766964
  47. #define QT_jpeg  0x6a706567
  48. #define QT_SPIG  0x53504947
  49. #define QT_yuv2  0x79757632
  50. #define QT_PGVV  0x50475656
  51. #define QT_YUV9  0x59565539
  52. #define QT_YVU9  0x59555639
  53. #define QT_RT21  0x52543231
  54. #define QT_rt21  0x72743231
  55. #define QT_IV31  0x49563331
  56. #define QT_iv31  0x69763331
  57. #define QT_IV32  0x49563332
  58. #define QT_iv32  0x69763332
  59. #define QT_IV41  0x49563431
  60. #define QT_iv41  0x69763431
  61. #define QT_kpcd  0x6b706364
  62. #define QT_KPCD  0x4b504344
  63. #define QT_cram 0x6372616D
  64. #define QT_CRAM 0x4352414D
  65. #define QT_wham 0x7768616d
  66. #define QT_WHAM 0x5748414d
  67. #define QT_msvc 0x6D737663
  68. #define QT_MSVC 0x4d535643
  69.  
  70.  
  71. /*-------------- VIDEO/AUDIO CODECS ---------------*/
  72. #define QT_raw   0x72617720
  73. /*-------------- AUDIO CODECS ---------------*/
  74. #define QT_raw00 0x00000000
  75. #define QT_twos  0x74776f73
  76. #define QT_MAC6  0x4d414336
  77. #define QT_ima4  0x696d6134
  78. /*-------------- misc ----------------------*/
  79. #define QT_vmhd 0x766D6864
  80. #define QT_dinf 0x64696e66
  81. #define QT_appl 0x6170706C
  82. #define QT_mdat 0x6D646174
  83. #define QT_smhd 0x736d6864
  84. #define QT_stgs 0x73746773
  85. #define QT_udta 0x75647461
  86. #define QT_skip 0x736B6970
  87. #define QT_gmhd 0x676d6864
  88. #define QT_text 0x74657874
  89. #define QT_clip 0x636C6970   /* clip ??? contains crgn atom  */
  90. #define QT_crgn 0x6372676E   /* crgn ??? contain coordinates?? */
  91. #define QT_ctab 0x63746162   /* ctab: color table for 16/24 anims on 8 bit */
  92.  
  93. typedef struct
  94. {
  95.   xaULONG compression;
  96.   xaULONG dref_id;
  97.   xaULONG version;
  98.   xaULONG codec_rev;
  99.   xaULONG vendor;
  100.   xaUSHORT chan_num;
  101.   xaUSHORT bits_samp;
  102.   xaUSHORT comp_id;
  103.   xaUSHORT pack_size;
  104.   xaUSHORT samp_rate;
  105.   xaUSHORT pad;
  106.   xaULONG  bps;        /* convenience for me */
  107. } QTS_CODEC_HDR;
  108.  
  109. typedef struct
  110. {
  111.   xaULONG version;                /* version/flags */
  112.   xaULONG creation;               /* creation time */
  113.   xaULONG modtime;                /* modification time */
  114.   xaULONG timescale;
  115.   xaULONG duration;
  116.   xaULONG rate;
  117.   xaUSHORT volume;
  118.   xaULONG  r1;
  119.   xaULONG  r2;
  120.   xaULONG matrix[3][3];
  121.   xaUSHORT r3;
  122.   xaULONG  r4;
  123.   xaULONG pv_time;
  124.   xaULONG pv_durat;
  125.   xaULONG post_time;
  126.   xaULONG sel_time;
  127.   xaULONG sel_durat;
  128.   xaULONG cur_time;
  129.   xaULONG nxt_tk_id;
  130. } QT_MVHDR;
  131.  
  132. typedef struct
  133. {
  134.   xaULONG version;                /* version/flags */
  135.   xaULONG creation;               /* creation time */
  136.   xaULONG modtime;                /* modification time */
  137.   xaULONG trackid;
  138.   xaULONG timescale;
  139.   xaULONG duration;
  140.   xaULONG time_off;
  141.   xaULONG priority;
  142.   xaUSHORT layer;
  143.   xaUSHORT alt_group;
  144.   xaUSHORT volume;
  145.   xaULONG matrix[3][3];
  146.   xaULONG tk_width;
  147.   xaULONG tk_height;
  148.   xaUSHORT pad;
  149. } QT_TKHDR;
  150.  
  151. typedef struct
  152. {
  153.   xaULONG version;                /* version/flags */
  154.   xaULONG creation;               /* creation time */
  155.   xaULONG modtime;                /* modification time */
  156.   xaULONG timescale;
  157.   xaULONG duration;
  158.   xaUSHORT language;
  159.   xaUSHORT quality;
  160. } QT_MDHDR;
  161.  
  162. typedef struct
  163. {
  164.   xaULONG version;                /* version/flags */
  165.   xaULONG type;
  166.   xaULONG subtype;
  167.   xaULONG vendor;
  168.   xaULONG flags;
  169.   xaULONG mask;
  170. } QT_HDLR_HDR;
  171.  
  172.  
  173. typedef struct QT_FRAME_STRUCT
  174. {
  175.   xaULONG time;
  176.   xaULONG timelo;
  177.   XA_ACTION *act;
  178.   struct QT_FRAME_STRUCT *next;
  179. } QT_FRAME;
  180.  
  181. typedef struct
  182. {
  183.   xaULONG width;
  184.   xaULONG height;
  185.   xaULONG depth;
  186.   xaULONG compression;
  187.   xaULONG xapi_rev;
  188.   xaULONG (*decoder)();
  189.   void *dlta_extra;
  190.   XA_CHDR *chdr;
  191. } QTV_CODEC_HDR;
  192.  
  193. typedef struct
  194. {
  195.   xaULONG first;
  196.   xaULONG num;
  197.   xaULONG tag;
  198. } QT_S2CHUNK_HDR;
  199.  
  200. typedef struct
  201. {
  202.   xaULONG cnt;
  203.   xaULONG time;
  204.   xaULONG timelo;
  205. } QT_T2SAMP_HDR;
  206.  
  207.  
  208.