Received: by mail.netbsd.org (Postfix, from userid 605) id DBB9984DF3; Tue, 14 Apr 2020 22:33:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 6407984CF7 for ; Tue, 14 Apr 2020 22:33:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id QYJAoAlK8WQz for ; Tue, 14 Apr 2020 22:33:14 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id C509784CEA for ; Tue, 14 Apr 2020 22:33:14 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id BE465FB27; Tue, 14 Apr 2020 22:33:14 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_158690359458100" MIME-Version: 1.0 Date: Tue, 14 Apr 2020 22:33:14 +0000 From: "Jonathan Schleifer" Subject: CVS commit: pkgsrc/audio To: pkgsrc-changes@NetBSD.org Reply-To: js@netbsd.org X-Mailer: log_accum Message-Id: <20200414223314.BE465FB27@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_158690359458100 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: js Date: Tue Apr 14 22:33:14 UTC 2020 Modified Files: pkgsrc/audio: Makefile Added Files: pkgsrc/audio/alac: DESCR Makefile PLIST distinfo Log Message: Import audio/alac from wip A basic decoder for Apple Lossless Audio Codec files. To generate a diff of this commit: cvs rdiff -u -r1.593 -r1.594 pkgsrc/audio/Makefile cvs rdiff -u -r0 -r1.1 pkgsrc/audio/alac/DESCR pkgsrc/audio/alac/Makefile \ pkgsrc/audio/alac/PLIST pkgsrc/audio/alac/distinfo Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_158690359458100 Content-Disposition: inline Content-Length: 3680 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/audio/Makefile diff -u pkgsrc/audio/Makefile:1.593 pkgsrc/audio/Makefile:1.594 --- pkgsrc/audio/Makefile:1.593 Tue Apr 14 04:36:39 2020 +++ pkgsrc/audio/Makefile Tue Apr 14 22:33:14 2020 @@ -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 Added files: Index: pkgsrc/audio/alac/DESCR diff -u /dev/null pkgsrc/audio/alac/DESCR:1.1 --- /dev/null Tue Apr 14 22:33:14 2020 +++ pkgsrc/audio/alac/DESCR Tue Apr 14 22:33:14 2020 @@ -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. Index: pkgsrc/audio/alac/Makefile diff -u /dev/null pkgsrc/audio/alac/Makefile:1.1 --- /dev/null Tue Apr 14 22:33:14 2020 +++ pkgsrc/audio/alac/Makefile Tue Apr 14 22:33:14 2020 @@ -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" Index: pkgsrc/audio/alac/PLIST diff -u /dev/null pkgsrc/audio/alac/PLIST:1.1 --- /dev/null Tue Apr 14 22:33:14 2020 +++ pkgsrc/audio/alac/PLIST Tue Apr 14 22:33:14 2020 @@ -0,0 +1,2 @@ +@comment $NetBSD: PLIST,v 1.1 2020/04/14 22:33:14 js Exp $ +bin/alac Index: pkgsrc/audio/alac/distinfo diff -u /dev/null pkgsrc/audio/alac/distinfo:1.1 --- /dev/null Tue Apr 14 22:33:14 2020 +++ pkgsrc/audio/alac/distinfo Tue Apr 14 22:33:14 2020 @@ -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 --_----------=_158690359458100--