diff options
author | js <js@pkgsrc.org> | 2020-04-14 22:33:14 +0000 |
---|---|---|
committer | js <js@pkgsrc.org> | 2020-04-14 22:33:14 +0000 |
commit | 49f93ba49ee5371b22970f94f33b4890f65ab157 (patch) | |
tree | 98bdfef23f189c64f31c7576ecb4160c6463e3fb /audio | |
parent | 498a692ee927aa1abe136656851c510d68fd55bc (diff) | |
download | pkgsrc-49f93ba49ee5371b22970f94f33b4890f65ab157.tar.gz |
Import audio/alac from wip
A basic decoder for Apple Lossless Audio Codec files.
Diffstat (limited to 'audio')
-rw-r--r-- | audio/Makefile | 3 | ||||
-rw-r--r-- | audio/alac/DESCR | 21 | ||||
-rw-r--r-- | audio/alac/Makefile | 21 | ||||
-rw-r--r-- | audio/alac/PLIST | 2 | ||||
-rw-r--r-- | audio/alac/distinfo | 6 |
5 files changed, 52 insertions, 1 deletions
diff --git a/audio/Makefile b/audio/Makefile index 944188bd6f4..1b2c5a4a0b7 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.593 2020/04/14 04:36:39 tpaul Exp $ +# $NetBSD: Makefile,v 1.594 2020/04/14 22:33:14 js Exp $ # COMMENT= Audio tools @@ -12,6 +12,7 @@ SUBDIR+= adplay SUBDIR+= adplug SUBDIR+= aeneas SUBDIR+= aiomixer +SUBDIR+= alac SUBDIR+= alacconvert SUBDIR+= alsa-lib SUBDIR+= alsa-plugins-oss diff --git a/audio/alac/DESCR b/audio/alac/DESCR new file mode 100644 index 00000000000..301e4049b45 --- /dev/null +++ b/audio/alac/DESCR @@ -0,0 +1,21 @@ +Located here is a basic decoder for Apple Lossless Audio Codec files +(ALAC). ALAC is a proprietary lossless audio compression scheme. Apple +never released any documents on the format. +What I provide here is a C implementation of a decoder, written from +reverse engineering the file format. It turns out that most of the +algorithms in the codec are fairly well known. ALAC uses an adaptive FIR +prediction algorithm and stores the error values using a modified rice +or golumb algorithm. Further details are in alac.c. + +Although an encoder is not provided, by using the decoder as a sort of +specification it should be fairly trivial to write an encoder. By +exploiting other lossless audio encoders, such as FLAC, the task will be +much easier. Although one wouldn't be able to copy the compression +algorithms verbatim, as adaptive compression is used in ALAC and not in +FLAC. There are, however, a bunch of academic papers on the issue. + +The program located here will not be able to handle all ALAC files, it +can only handle mono or stereo files. ALAC allows up to 8 channels. It +should be trivial to finish the implementation once I find files that I +can test it with. The ALAC decoder supports both 16 and 24 bit sample +sizes. diff --git a/audio/alac/Makefile b/audio/alac/Makefile new file mode 100644 index 00000000000..da4479a2238 --- /dev/null +++ b/audio/alac/Makefile @@ -0,0 +1,21 @@ +# $NetBSD: Makefile,v 1.1 2020/04/14 22:33:14 js Exp $ + +DISTNAME= alac_decoder-0.2.0 +CATEGORIES= audio +MASTER_SITES= https://web.archive.org/web/20150510210401if_/http://craz.net/programs/itunes/files/ +EXTRACT_SUFX= .tgz + +MAINTAINER= js@pkgsrc.org +HOMEPAGE= https://web.archive.org/web/20150319040222/craz.net/programs/itunes/alac.html +COMMENT= Basic decoder for Apple Lossless Audio Codec files (ALAC) +LICENSE= mit + +WRKSRC= ${WRKDIR}/alac_decoder +BUILD_TARGET= alac + +INSTALLATION_DIRS+= bin + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/alac ${DESTDIR}${PREFIX}/bin/alac + +.include "../../mk/bsd.pkg.mk" diff --git a/audio/alac/PLIST b/audio/alac/PLIST new file mode 100644 index 00000000000..a701f0a8c19 --- /dev/null +++ b/audio/alac/PLIST @@ -0,0 +1,2 @@ +@comment $NetBSD: PLIST,v 1.1 2020/04/14 22:33:14 js Exp $ +bin/alac diff --git a/audio/alac/distinfo b/audio/alac/distinfo new file mode 100644 index 00000000000..bfa9107ee59 --- /dev/null +++ b/audio/alac/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1 2020/04/14 22:33:14 js Exp $ + +SHA1 (alac_decoder-0.2.0.tgz) = a620f6293ef2d9490927d21ec341bbeff13eabe8 +RMD160 (alac_decoder-0.2.0.tgz) = 72664dff4eeff6e484314f625f74337e60ba39fb +SHA512 (alac_decoder-0.2.0.tgz) = 4b37d4fe37681bfccaa4a27fbaf11eb2a1fba5f14e77d219a6d9814ff44d1168534d05eb19443dd2fd11e6fcdf4da3a22e3f3c79314cb7a6767c152351b13e29 +Size (alac_decoder-0.2.0.tgz) = 19019 bytes |