Difference between revisions of "FLAC"

From CBLFS
Jump to navigationJump to search
(I fixed up how the dependencies were labeled.)
 
(17 intermediate revisions by 8 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| http://prdownloads.sourceforge.net/flac/flac-{{FLAC-Version}}.tar.gz
+
| http://downloads.xiph.org/releases/flac/flac-{{FLAC-Version}}.tar.xz
 
|}
 
|}
  
 
----
 
----
  
== Introduction to FLAC ==
+
{{Package-Introduction|FLAC stands for Free Lossless Audio Codec. It's an audio format similar to Ogg Vorbis ([[libvorbis]]) and MP3 ([[LAME]]), but lossless, meaning that audio is compressed in FLAC without any loss in quality.
  
FLAC is an audio codec similar to MP3, but lossless, meaning that audio is compressed without losing any information.
+
Naturally, because FLAC is lossless it does not compress as well as Vorbis or MP3 (which are lossy), but unlike Vorbis and MP3, FLAC-encoded files can be safely converted into other audio codecs (including Vorbis and MP3) - precisely because no data was lost when the file was converted into FLAC in the first place. As such, even if you don't have the disk space to have your audio files in FLAC for normal use, FLAC works quite well for archiving them. That way you can convert them into whatever audio codec you may need in the future. Of course, if you ''do'' have the disk space, FLAC works as well as - or even better than - Vorbis and MP3 when it comes to audio playback.|http://flac.sourceforge.net/}}
  
 
== Dependencies ==
 
== Dependencies ==
Line 19: Line 19:
 
* [[Doxygen]]
 
* [[Doxygen]]
 
* [[Valgrind]]
 
* [[Valgrind]]
 +
 +
== Additional Configuration Options ==
 +
 +
==== Test Suite Related Flags ====
 +
 +
''--enable-exhaustive-tests'': Enable exhaustive tesing (VERY long).
 +
 +
''--enable-valgrind-testing'': Run all tests inside [[Valgrind]].
 +
 +
''--disable-thorough-tests'': Disable thorough (long) testing, do only basic tests.
 +
 +
''--disable-oggtest'': Do not try to compile and run a test Ogg ([[libogg]]) program.
 +
 +
==== CPU Instruction Related Flags ====
 +
 +
The following flags have to do with what instruction sets your CPU has (and thus whether the build will optimize for that instruction set). If you want to know whether a given instruction set is supported by your CPU, run '''cat /proc/cpuinfo''' and take look at the "flags" section. You will probably want to enable or disable the various instruction set optimizations based on which ones your CPU supports.
 +
 +
''--enable-sse'': Enable [http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] support by asserting that the OS supports SSE instructions.
 +
 +
''--disable-3dnow'': Disable [http://en.wikipedia.org/wiki/3dnow 3DNOW!] optimizations.
 +
 +
''--disable-altivec'': Disable [http://en.wikipedia.org/wiki/AltiVec AltiVec] optimizations.
 +
 +
==== Other Flags ====
 +
 +
''--disable-asm-optimizations'': Don't use any assembly optimization routines.
 +
 +
''--disable-doxygen-docs'':  Disable API documentation building via [[Doxygen]].
 +
 +
''--disable-xmms-plugin'': Do not build [[XMMS]] plugin.
 +
 +
''--disable-rpath'': Do not hardcode runtime library paths.
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 25: Line 57:
  
 
  LIBS=-lm ./configure --prefix=/usr &&
 
  LIBS=-lm ./configure --prefix=/usr &&
 +
 
  make  
 
  make  
  
Line 30: Line 63:
  
 
  make install
 
  make install
 +
  
 
== Multilib ==
 
== Multilib ==
Line 39: Line 73:
 
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" LD="ld ${LD_BUILD32}" USE_ARCH=32 \
 
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" LD="ld ${LD_BUILD32}" USE_ARCH=32 \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" LIBS=-lm ./configure --prefix=/usr &&
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" LIBS=-lm ./configure --prefix=/usr &&
 +
 
  make  
 
  make  
  
Line 44: Line 79:
  
 
  make install
 
  make install
 +
  
 
=== N32 ===
 
=== N32 ===
Line 52: Line 88:
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" LIBS=-lm ./configure --prefix=/usr \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" LIBS=-lm ./configure --prefix=/usr \
 
     --libdir=/usr/lib32 &&
 
     --libdir=/usr/lib32 &&
 +
 
  make  
 
  make  
  
Line 57: Line 94:
  
 
  make install
 
  make install
 +
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 64: Line 102:
 
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" LD="ld ${LD_BUILD64}" USE_ARCH=64 \
 
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" LD="ld ${LD_BUILD64}" USE_ARCH=64 \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" LIBS=-lm ./configure --prefix=/usr \
 
  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" LIBS=-lm ./configure --prefix=/usr \
     --libdir=/usr/lib64 &&
+
     --libdir=/usr/lib64 --with-ogg-libraries=/usr/lib64 &&
 +
 
 
  make  
 
  make  
  
Line 70: Line 109:
  
 
  make install
 
  make install
 +
 +
 +
== Contents ==
 +
 +
{| style="text-align: left;"
 +
|-valign="top"
 +
!Installed Directories:
 +
|/usr/share/doc/flac-{{FLAC-Version}}, /usr/include/FLAC, /usr/include/FLAC++
 +
|-valign="top"
 +
!Installed Programs:
 +
|flac, metaflac
 +
|-valign="top"
 +
!Installed Libraries:
 +
|libFLAC.{a,la,so}, libFLAC++.{a,la,so}
 +
|}
 +
 +
[[Category:Media Libraries]]

Latest revision as of 12:23, 25 May 2014

Download Source: http://downloads.xiph.org/releases/flac/flac-1.3.0.tar.xz

Introduction to FLAC

FLAC stands for Free Lossless Audio Codec. It's an audio format similar to Ogg Vorbis (libvorbis) and MP3 (LAME), but lossless, meaning that audio is compressed in FLAC without any loss in quality.

Naturally, because FLAC is lossless it does not compress as well as Vorbis or MP3 (which are lossy), but unlike Vorbis and MP3, FLAC-encoded files can be safely converted into other audio codecs (including Vorbis and MP3) - precisely because no data was lost when the file was converted into FLAC in the first place. As such, even if you don't have the disk space to have your audio files in FLAC for normal use, FLAC works quite well for archiving them. That way you can convert them into whatever audio codec you may need in the future. Of course, if you do have the disk space, FLAC works as well as - or even better than - Vorbis and MP3 when it comes to audio playback.

Project Homepage: http://flac.sourceforge.net/

Dependencies

Optional

Additional Configuration Options

Test Suite Related Flags

--enable-exhaustive-tests: Enable exhaustive tesing (VERY long).

--enable-valgrind-testing: Run all tests inside Valgrind.

--disable-thorough-tests: Disable thorough (long) testing, do only basic tests.

--disable-oggtest: Do not try to compile and run a test Ogg (libogg) program.

CPU Instruction Related Flags

The following flags have to do with what instruction sets your CPU has (and thus whether the build will optimize for that instruction set). If you want to know whether a given instruction set is supported by your CPU, run cat /proc/cpuinfo and take look at the "flags" section. You will probably want to enable or disable the various instruction set optimizations based on which ones your CPU supports.

--enable-sse: Enable SSE support by asserting that the OS supports SSE instructions.

--disable-3dnow: Disable 3DNOW! optimizations.

--disable-altivec: Disable AltiVec optimizations.

Other Flags

--disable-asm-optimizations: Don't use any assembly optimization routines.

--disable-doxygen-docs: Disable API documentation building via Doxygen.

--disable-xmms-plugin: Do not build XMMS plugin.

--disable-rpath: Do not hardcode runtime library paths.

Non-Multilib

Configure and compile the package:

LIBS=-lm ./configure --prefix=/usr &&
make 

Install the package:

make install


Multilib

32Bit

Configure and compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" LD="ld ${LD_BUILD32}" USE_ARCH=32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" LIBS=-lm ./configure --prefix=/usr &&

make 

Install the package:

make install


N32

Configure and compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" LD="ld ${LD_BUILDN32}" USE_ARCH=n32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" LIBS=-lm ./configure --prefix=/usr \
    --libdir=/usr/lib32 &&
make 

Install the package:

make install


64Bit

Configure and compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" LD="ld ${LD_BUILD64}" USE_ARCH=64 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" LIBS=-lm ./configure --prefix=/usr \
    --libdir=/usr/lib64 --with-ogg-libraries=/usr/lib64 &&
make 

Install the package:

make install


Contents

Installed Directories: /usr/share/doc/flac-1.3.0, /usr/include/FLAC, /usr/include/FLAC++
Installed Programs: flac, metaflac
Installed Libraries: libFLAC.{a,la,so}, libFLAC++.{a,la,so}
Retrieved from "?title=FLAC&oldid=21633"