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

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/miscellany/multi-media/SPARC/SOUND.diff	Mon Apr 18 23:46:02 2005 +0900
@@ -0,0 +1,99 @@
+*** :raw2audio.c	Thu Oct 11 13:12:39 1990
+--- raw2audio.c	Fri Nov  1 17:20:00 1991
+***************
+*** 23,29 ****
+  /* Local variables */
+  char *prog;
+  char prog_desc[] = "Convert raw data to audio file format";
+! char prog_opts[] = "o:s:p:e:c:i:f?";	/* getopt() flags */
+  
+  char		*Stdin = "stdin";
+  char		*Stdout = "stdout";
+--- 23,29 ----
+  /* Local variables */
+  char *prog;
+  char prog_desc[] = "Convert raw data to audio file format";
+! char prog_opts[] = "o:s:p:e:c:i:fF?";	/* getopt() flags */
+  
+  char		*Stdin = "stdin";
+  char		*Stdout = "stdout";
+***************
+*** 34,39 ****
+--- 34,40 ----
+  char		*Info = NULL;		/* pointer to info data */
+  unsigned	Ilen = 0;		/* length of info data */
+  int		Force = 0;		/* rewrite file header, if present */
++ int		Strip = 0;		/* strip header */
+  unsigned	Offset = 0;		/* byte offset into raw data */
+  Audio_hdr	Hdr;			/* audio header structure */
+  char		*ofile;			/* output temporary file name */
+***************
+*** 139,144 ****
+--- 140,148 ----
+  		Info = optarg;		/* set information string */
+  		Ilen = strlen(Info);
+  		break;
++ 	case 'F':
++ 		Strip++;		/* strip header */
++ 		/* and fall... */
+  	case 'f':
+  		Force++;		/* force header rewrite */
+  		break;
+***************
+*** 161,166 ****
+--- 165,174 ----
+  			if (Hdr.bytes_per_unit < 4)
+  				err++;
+  			break;
++ 		case AUDIO_ENCODING_ADPCM:
++ 			if (Hdr.bytes_per_unit != 1)
++ 				err++;
++ 			break;
+  		}
+  		if (err > 0) {
+  			Error(stderr, "%s: encoding/precision mismatch\n",
+***************
+*** 317,322 ****
+--- 325,331 ----
+  		/* Write the audio file header first. */
+  		if (Hdr.data_size != AUDIO_UNKNOWN_SIZE)
+  			Hdr.data_size -= Offset;
++ 		if (Strip) goto copydata;
+  		err = audio_write_filehdr(ofd, &Hdr, Info, Ilen);
+  		if (err != AUDIO_SUCCESS)
+  			goto writeerror;
+***************
+*** 435,443 ****
+  		*dst = AUDIO_ENCODING_LINEAR;
+  	else if (strncmp(str, "FLOAT", i) == 0)
+  		*dst = AUDIO_ENCODING_FLOAT;
+  	else {
+  		Error(stderr,
+! 		    "%s: encoding must be one of: ULAW, LINEAR, FLOAT\n", prog);
+  		return (1);
+  	}
+  	return (0);
+--- 444,454 ----
+  		*dst = AUDIO_ENCODING_LINEAR;
+  	else if (strncmp(str, "FLOAT", i) == 0)
+  		*dst = AUDIO_ENCODING_FLOAT;
++ 	else if (strncmp(str, "ADPCM", i) == 0)
++ 		*dst = AUDIO_ENCODING_ADPCM;
+  	else {
+  		Error(stderr,
+! 		    "%s: encoding must be one of: ULAW, LINEAR, FLOAT, ADPCM\n", prog);
+  		return (1);
+  	}
+  	return (0);
+*** multimedia/:audio_hdr.h	Thu Oct 11 13:12:45 1990
+--- multimedia/audio_hdr.h	Fri Nov  1 09:47:12 1991
+***************
+*** 72,77 ****
+--- 72,78 ----
+  #define	AUDIO_ENCODING_ALAW	(2)	/* ISDN A-law */
+  #define	AUDIO_ENCODING_LINEAR	(3)	/* PCM 2's-complement (0-center) */
+  #define	AUDIO_ENCODING_FLOAT	(4)	/* IEEE float (-1. <-> +1.) */
++ #define	AUDIO_ENCODING_ADPCM	(23)	/* CCITT G.721*/
+  
+  
+  /* Value used for indeterminate size (e.g., data passed through a pipe) */