annotate ima4.h @ 2741:b8a692c59b64

MMX2, 3DNOW, MMX optimized rgb32(24)to16(15) stuff
author nick
date Tue, 06 Nov 2001 16:35:17 +0000
parents 311676805f20
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2399
35c767f8fea4 initial
alex
parents:
diff changeset
1 #ifndef QUICKTIME_IMA4_H
35c767f8fea4 initial
alex
parents:
diff changeset
2 #define QUICKTIME_IMA4_H
35c767f8fea4 initial
alex
parents:
diff changeset
3
35c767f8fea4 initial
alex
parents:
diff changeset
4 //#include "quicktime.h"
2420
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
5 //#include "inttypes.h"
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
6
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
7 /* Known by divine revelation */
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
8
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
9 #define IMA4_BLOCK_SIZE 0x22
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
10 #define IMA4_SAMPLES_PER_BLOCK 0x40
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
11
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
12 // in: out buffer, in buffer (IMA4_BLOCK_SIZE bytes), outbuf max size
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
13 // return: number of samples decoded
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
14 int ima4_decode_block(unsigned short *output, unsigned char *input, int maxlen);
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
15
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
16 #if 0
2399
35c767f8fea4 initial
alex
parents:
diff changeset
17
35c767f8fea4 initial
alex
parents:
diff changeset
18 typedef struct
35c767f8fea4 initial
alex
parents:
diff changeset
19 {
35c767f8fea4 initial
alex
parents:
diff changeset
20 /* During decoding the work_buffer contains the most recently read chunk. */
35c767f8fea4 initial
alex
parents:
diff changeset
21 /* During encoding the work_buffer contains interlaced overflow samples */
35c767f8fea4 initial
alex
parents:
diff changeset
22 /* from the last chunk written. */
35c767f8fea4 initial
alex
parents:
diff changeset
23 int16_t *work_buffer;
35c767f8fea4 initial
alex
parents:
diff changeset
24 unsigned char *read_buffer; /* Temporary buffer for drive reads. */
35c767f8fea4 initial
alex
parents:
diff changeset
25
35c767f8fea4 initial
alex
parents:
diff changeset
26 /* Starting information for all channels during encoding. */
35c767f8fea4 initial
alex
parents:
diff changeset
27 int *last_samples, *last_indexes;
35c767f8fea4 initial
alex
parents:
diff changeset
28 long chunk; /* Number of chunk in work buffer */
35c767f8fea4 initial
alex
parents:
diff changeset
29 int buffer_channel; /* Channel of work buffer */
35c767f8fea4 initial
alex
parents:
diff changeset
30
35c767f8fea4 initial
alex
parents:
diff changeset
31 /* Number of samples in largest chunk read. */
35c767f8fea4 initial
alex
parents:
diff changeset
32 /* Number of samples plus overflow in largest chunk write, interlaced. */
35c767f8fea4 initial
alex
parents:
diff changeset
33 long work_size;
35c767f8fea4 initial
alex
parents:
diff changeset
34 long work_overflow; /* Number of overflow samples from the last chunk written. */
35c767f8fea4 initial
alex
parents:
diff changeset
35 long read_size; /* Size of read buffer. */
35c767f8fea4 initial
alex
parents:
diff changeset
36 } quicktime_ima4_codec_t;
35c767f8fea4 initial
alex
parents:
diff changeset
37
2420
311676805f20 ima4 mov audio support
arpi
parents: 2399
diff changeset
38 #endif
2399
35c767f8fea4 initial
alex
parents:
diff changeset
39
35c767f8fea4 initial
alex
parents:
diff changeset
40 #endif