Add faad2 for aac decoding
This commit is contained in:
+142
@@ -0,0 +1,142 @@
|
||||
# FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
|
||||
# Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Any non-GPL usage of this software or parts of this software is strictly
|
||||
# forbidden.
|
||||
#
|
||||
# The "appropriate copyright message" mentioned in section 2c of the GPLv2
|
||||
# must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
|
||||
#
|
||||
# Commercial non-GPL licensing of this software is possible.
|
||||
# For more info contact Nero AG through Mpeg4AAClicense@nero.com.
|
||||
|
||||
name: Build
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
types: [opened, reopened, labeled, synchronize]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
BuildWithBazel:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
- name: Configure and build
|
||||
run: |
|
||||
bazel build :all
|
||||
|
||||
BuildWithCMake:
|
||||
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: Clang Shared
|
||||
cc: clang
|
||||
cxx: clang++
|
||||
cflags: -Wall -fcolor-diagnostics -fansi-escape-codes
|
||||
shared: 'true'
|
||||
- name: Clang Static
|
||||
cc: clang
|
||||
cxx: clang++
|
||||
cflags: -Wall -fcolor-diagnostics -fansi-escape-codes -O2 -Werror=strict-aliasing
|
||||
- name: GCC Static
|
||||
cc: gcc
|
||||
cxx: g++
|
||||
cflags: -Wall -fdiagnostics-color=always -O2 -Werror=strict-aliasing
|
||||
- name: MSVC
|
||||
os: windows-latest
|
||||
cmake_args: >-
|
||||
-G "Visual Studio 17 2022" -A x64
|
||||
- name: OSX
|
||||
os: macos-latest
|
||||
|
||||
env:
|
||||
CC: ${{ matrix.cc || 'cc' }}
|
||||
CXX: ${{ matrix.cxx || 'cxx' }}
|
||||
CFLAGS: ${{ matrix.cflags || '-Wall' }}
|
||||
CXXFLAGS: ${{ matrix.cflags || '-Wall' }}
|
||||
SHARED: ${{ matrix.shared || 'false' }}
|
||||
|
||||
steps:
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
- name: Configure and build
|
||||
shell: bash
|
||||
run: |
|
||||
export NUM_CORES=`nproc || getconf _NPROCESSORS_ONLN`
|
||||
cmake -B build . \
|
||||
-DCMAKE_INSTALL_PREFIX=$RUNNER_TEMP/usrlocal \
|
||||
-DBUILD_SHARED_LIBS=${SHARED} \
|
||||
${{ matrix.cmake_args }}
|
||||
cmake --build build -j ${NUM_CORES}
|
||||
cmake --install build
|
||||
|
||||
BuildOnMsys:
|
||||
name: BuildOnMsys (${{ matrix.msystem }})
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- msystem: mingw64
|
||||
- msystem: clang64
|
||||
- msystem: ucrt64
|
||||
- msystem: mingw32
|
||||
- msystem: clang32
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: false
|
||||
fetch-depth: 1
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ matrix.msystem }}
|
||||
update: true
|
||||
path-type: inherit
|
||||
install: >-
|
||||
base-devel
|
||||
pacboy: >-
|
||||
cmake:p
|
||||
- name: Configure and build
|
||||
run: |
|
||||
cmake -B build . \
|
||||
-DCMAKE_INSTALL_PREFIX=$RUNNER_TEMP/usrlocal \
|
||||
-DBUILD_SHARED_LIBS=${SHARED}
|
||||
cmake --build build -j `nproc`
|
||||
cmake --install build
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
# FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
|
||||
# Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Any non-GPL usage of this software or parts of this software is strictly
|
||||
# forbidden.
|
||||
#
|
||||
# The "appropriate copyright message" mentioned in section 2c of the GPLv2
|
||||
# must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
|
||||
#
|
||||
# Commercial non-GPL licensing of this software is possible.
|
||||
# For more info contact Nero AG through Mpeg4AAClicense@nero.com.
|
||||
|
||||
name: OSS-Fuzz
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
types: [opened, reopened, labeled, synchronize]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
Fuzzing:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
sanitizer: [address, undefined, memory]
|
||||
steps:
|
||||
- name: Build Fuzzers (${{ matrix.sanitizer }})
|
||||
id: build
|
||||
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
|
||||
with:
|
||||
oss-fuzz-project-name: 'faad2'
|
||||
language: c
|
||||
sanitizer: ${{ matrix.sanitizer }}
|
||||
- name: Run Fuzzers (${{ matrix.sanitizer }})
|
||||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
||||
with:
|
||||
oss-fuzz-project-name: 'faad'
|
||||
language: c
|
||||
sanitizer: ${{ matrix.sanitizer }}
|
||||
fuzz-seconds: 600
|
||||
- name: Upload Crash
|
||||
uses: actions/upload-artifact@v3
|
||||
if: failure() && steps.build.outcome == 'success'
|
||||
with:
|
||||
name: ${{ matrix.sanitizer }}-artifacts
|
||||
path: ./out/artifacts
|
||||
Reference in New Issue
Block a user