home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 44
/
Amiga_Dream_44.iso
/
Linux
/
Apps
/
xanim.tgz
/
xanim
/
xanim27064
/
xa_qt.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-26
|
5KB
|
208 lines
/*
* xa_qt.h
*
* Copyright (C) 1993,1994,1995,1996,1997 by Mark Podlipec.
* All rights reserved.
*
* This software may be freely copied, modified and redistributed without
* fee for non-commerical purposes provided that this copyright notice is
* preserved intact on all copies and modified copies.
*
* There is no warranty or other guarantee of fitness of this software.
* It is provided solely "as is". The author(s) disclaim(s) all
* responsibility and liability with respect to this software's usage
* or its effect upon hardware or computer systems.
*
*/
#include "xanim.h"
#define QT_moov 0x6D6F6F76
#define QT_trak 0x7472616B
#define QT_mdia 0x6D646961
#define QT_minf 0x6D696E66
#define QT_stbl 0x7374626C
/*-------------- LISTS ---------------------*/
#define QT_edts 0x65647473
/*-------------- STUFF ---------------------*/
#define QT_hdlr 0x68646C72
#define QT_mvhd 0x6D766864
#define QT_tkhd 0x746B6864
#define QT_elst 0x656C7374
#define QT_mdhd 0x6D646864
#define QT_stsd 0x73747364
#define QT_stts 0x73747473
#define QT_stss 0x73747373
#define QT_stsc 0x73747363
#define QT_stsz 0x7374737a
#define QT_stco 0x7374636f
/*-------------- VIDEO CODECS ---------------*/
#define QT_rle 0x726c6520
#define QT_smc 0x736D6320
#define QT_rpza 0x72707A61
#define QT_azpr 0x617A7072
#define QT_CVID 0x43564944
#define QT_cvid 0x63766964
#define QT_jpeg 0x6a706567
#define QT_SPIG 0x53504947
#define QT_yuv2 0x79757632
#define QT_PGVV 0x50475656
#define QT_YUV9 0x59565539
#define QT_YVU9 0x59555639
#define QT_RT21 0x52543231
#define QT_rt21 0x72743231
#define QT_IV31 0x49563331
#define QT_iv31 0x69763331
#define QT_IV32 0x49563332
#define QT_iv32 0x69763332
#define QT_IV41 0x49563431
#define QT_iv41 0x69763431
#define QT_kpcd 0x6b706364
#define QT_KPCD 0x4b504344
#define QT_cram 0x6372616D
#define QT_CRAM 0x4352414D
#define QT_wham 0x7768616d
#define QT_WHAM 0x5748414d
#define QT_msvc 0x6D737663
#define QT_MSVC 0x4d535643
/*-------------- VIDEO/AUDIO CODECS ---------------*/
#define QT_raw 0x72617720
/*-------------- AUDIO CODECS ---------------*/
#define QT_raw00 0x00000000
#define QT_twos 0x74776f73
#define QT_MAC6 0x4d414336
#define QT_ima4 0x696d6134
/*-------------- misc ----------------------*/
#define QT_vmhd 0x766D6864
#define QT_dinf 0x64696e66
#define QT_appl 0x6170706C
#define QT_mdat 0x6D646174
#define QT_smhd 0x736d6864
#define QT_stgs 0x73746773
#define QT_udta 0x75647461
#define QT_skip 0x736B6970
#define QT_gmhd 0x676d6864
#define QT_text 0x74657874
#define QT_clip 0x636C6970 /* clip ??? contains crgn atom */
#define QT_crgn 0x6372676E /* crgn ??? contain coordinates?? */
#define QT_ctab 0x63746162 /* ctab: color table for 16/24 anims on 8 bit */
typedef struct
{
xaULONG compression;
xaULONG dref_id;
xaULONG version;
xaULONG codec_rev;
xaULONG vendor;
xaUSHORT chan_num;
xaUSHORT bits_samp;
xaUSHORT comp_id;
xaUSHORT pack_size;
xaUSHORT samp_rate;
xaUSHORT pad;
xaULONG bps; /* convenience for me */
} QTS_CODEC_HDR;
typedef struct
{
xaULONG version; /* version/flags */
xaULONG creation; /* creation time */
xaULONG modtime; /* modification time */
xaULONG timescale;
xaULONG duration;
xaULONG rate;
xaUSHORT volume;
xaULONG r1;
xaULONG r2;
xaULONG matrix[3][3];
xaUSHORT r3;
xaULONG r4;
xaULONG pv_time;
xaULONG pv_durat;
xaULONG post_time;
xaULONG sel_time;
xaULONG sel_durat;
xaULONG cur_time;
xaULONG nxt_tk_id;
} QT_MVHDR;
typedef struct
{
xaULONG version; /* version/flags */
xaULONG creation; /* creation time */
xaULONG modtime; /* modification time */
xaULONG trackid;
xaULONG timescale;
xaULONG duration;
xaULONG time_off;
xaULONG priority;
xaUSHORT layer;
xaUSHORT alt_group;
xaUSHORT volume;
xaULONG matrix[3][3];
xaULONG tk_width;
xaULONG tk_height;
xaUSHORT pad;
} QT_TKHDR;
typedef struct
{
xaULONG version; /* version/flags */
xaULONG creation; /* creation time */
xaULONG modtime; /* modification time */
xaULONG timescale;
xaULONG duration;
xaUSHORT language;
xaUSHORT quality;
} QT_MDHDR;
typedef struct
{
xaULONG version; /* version/flags */
xaULONG type;
xaULONG subtype;
xaULONG vendor;
xaULONG flags;
xaULONG mask;
} QT_HDLR_HDR;
typedef struct QT_FRAME_STRUCT
{
xaULONG time;
xaULONG timelo;
XA_ACTION *act;
struct QT_FRAME_STRUCT *next;
} QT_FRAME;
typedef struct
{
xaULONG width;
xaULONG height;
xaULONG depth;
xaULONG compression;
xaULONG xapi_rev;
xaULONG (*decoder)();
void *dlta_extra;
XA_CHDR *chdr;
} QTV_CODEC_HDR;
typedef struct
{
xaULONG first;
xaULONG num;
xaULONG tag;
} QT_S2CHUNK_HDR;
typedef struct
{
xaULONG cnt;
xaULONG time;
xaULONG timelo;
} QT_T2SAMP_HDR;