annotate miscellany/multi-media/SPARC/SOUND.diff @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 *** :raw2audio.c Thu Oct 11 13:12:39 1990
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 --- raw2audio.c Fri Nov 1 17:20:00 1991
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 *** 23,29 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5 /* Local variables */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 char *prog;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 char prog_desc[] = "Convert raw data to audio file format";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 ! char prog_opts[] = "o:s:p:e:c:i:f?"; /* getopt() flags */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 char *Stdin = "stdin";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
11 char *Stdout = "stdout";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 --- 23,29 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 /* Local variables */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 char *prog;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 char prog_desc[] = "Convert raw data to audio file format";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16 ! char prog_opts[] = "o:s:p:e:c:i:fF?"; /* getopt() flags */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 char *Stdin = "stdin";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 char *Stdout = "stdout";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 *** 34,39 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22 --- 34,40 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 char *Info = NULL; /* pointer to info data */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 unsigned Ilen = 0; /* length of info data */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 int Force = 0; /* rewrite file header, if present */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 + int Strip = 0; /* strip header */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27 unsigned Offset = 0; /* byte offset into raw data */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 Audio_hdr Hdr; /* audio header structure */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 char *ofile; /* output temporary file name */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31 *** 139,144 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 --- 140,148 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 Info = optarg; /* set information string */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 Ilen = strlen(Info);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 + case 'F':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 + Strip++; /* strip header */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38 + /* and fall... */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 case 'f':
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 Force++; /* force header rewrite */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 *** 161,166 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 --- 165,174 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 if (Hdr.bytes_per_unit < 4)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 err++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 + case AUDIO_ENCODING_ADPCM:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 + if (Hdr.bytes_per_unit != 1)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 + err++;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 + break;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 if (err > 0) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 Error(stderr, "%s: encoding/precision mismatch\n",
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 *** 317,322 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 --- 325,331 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 /* Write the audio file header first. */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 if (Hdr.data_size != AUDIO_UNKNOWN_SIZE)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 Hdr.data_size -= Offset;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 + if (Strip) goto copydata;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62 err = audio_write_filehdr(ofd, &Hdr, Info, Ilen);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 if (err != AUDIO_SUCCESS)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 goto writeerror;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 *** 435,443 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 *dst = AUDIO_ENCODING_LINEAR;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68 else if (strncmp(str, "FLOAT", i) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 *dst = AUDIO_ENCODING_FLOAT;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 else {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 Error(stderr,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 ! "%s: encoding must be one of: ULAW, LINEAR, FLOAT\n", prog);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 return (1);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 return (0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76 --- 444,454 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77 *dst = AUDIO_ENCODING_LINEAR;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 else if (strncmp(str, "FLOAT", i) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79 *dst = AUDIO_ENCODING_FLOAT;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 + else if (strncmp(str, "ADPCM", i) == 0)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81 + *dst = AUDIO_ENCODING_ADPCM;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 else {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83 Error(stderr,
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 ! "%s: encoding must be one of: ULAW, LINEAR, FLOAT, ADPCM\n", prog);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 return (1);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 return (0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 *** multimedia/:audio_hdr.h Thu Oct 11 13:12:45 1990
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 --- multimedia/audio_hdr.h Fri Nov 1 09:47:12 1991
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 ***************
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91 *** 72,77 ****
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92 --- 72,78 ----
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 #define AUDIO_ENCODING_ALAW (2) /* ISDN A-law */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94 #define AUDIO_ENCODING_LINEAR (3) /* PCM 2's-complement (0-center) */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95 #define AUDIO_ENCODING_FLOAT (4) /* IEEE float (-1. <-> +1.) */
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96 + #define AUDIO_ENCODING_ADPCM (23) /* CCITT G.721*/
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 /* Value used for indeterminate size (e.g., data passed through a pipe) */