Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kekyo/fdk-aac-win32-builder

libfdk-aac for Windows binary builder
https://github.com/kekyo/fdk-aac-win32-builder

aac build codecs fdk-aac fdkaac libfdk libfdk-aac mingw mp4 script windows

Last synced: 14 days ago
JSON representation

libfdk-aac for Windows binary builder

Awesome Lists containing this project

README

        

# libfdk-aac for Windows binary builder

libfdk-aac (0.1.6 and 2.0.2) and fdkaac tool (1.0.3) for Windows auto binary builder scripts.

[![CI build (master)](https://github.com/kekyo/fdk-aac-win32-builder/workflows/Build/badge.svg?branch=master)](https://github.com/kekyo/fdk-aac-win32-builder/actions?query=branch%3Amaster)

[fdk-aac](https://github.com/mstorsjo/fdk-aac) is "A standalone library of the Fraunhofer FDK AAC code from Android." A mirror of released source code, see [official opencore-amr project](https://sourceforge.net/projects/opencore-amr/).

[fdkaac](https://github.com/nu774/fdkaac) is "command line encoder frontend for libfdk-aac".

It'll build both:

* `libfdk-aac-1.dll`
* `libfdk-acc-2.dll`
* `fdkaac.exe` (**Linked libfdk-aac-2.dll**)

# How to use

1. Install [MSYS2](http://www.msys2.org/)
2. Open MSYS2 shell terminal.
* Choose `MSYS2 MinGW-32bit` terminal if you wanna 32bit (i686) binary.
* Choose `MSYS2 MinGW-64bit` terminal if you wanna 64bit (x86_64) binary.
* DON'T USE `MSYS2` (unannoteted) terminal.

![Terminals](Images/terminals.png)

3. Update components by pacman. (See MSYS2 top page.)
4. Install development tools.
* Execute `pacman -S mingw-w64-i686-gcc autoconf automake-wrapper make libtool` if you wanna 32bit binary.
* Execute `pacman -S mingw-w64-x86_64-gcc autoconf automake-wrapper make libtool` if you wanna 64bit binary.
5. Execute `./setup.sh`, it'll download source code archive and extract reference files for testing purpose.
6. You can choose GCC's optimization option by editing `build.sh`. See `CFLAGS` symbols in the head of this file.
7. Execute `./build.sh`.

Finally, stored binaries into artifacts directory.
* `artifacts/i686-w64-mingw32/` (32bit)
* `artifacts/x86_64-w64-mingw32/` (64bit)

If you have to get results for PCM bits equality, you can execute `./test.sh` after building was successful. The test materials are generated by a specific version of the encoder, so they can only be used for verifying specific version of fdk-aac, (see [here](./test-materials/README.md) for detailed information). It'll use `cmp` command, so will show nothing output if these PCM files are verified. For example:

```sh
$ ./test.sh
Step 1. Generating reference PCM files
Step 2. Generating test AAC files using fdkaac.exe with libfdk-aac-2.dll
Step 3. Generating test PCM files
Step 4. Comparing PCM files
====Test finished====

$
```

# License

MIT, inside all contents except built binaries. See description for fdk-aac.