From 7d0b4f045ce0e16ea9edb05a4dc056a1d4583752 Mon Sep 17 00:00:00 2001 From: Alexander Frick Date: Mon, 22 Jan 2024 18:20:00 -0600 Subject: [PATCH] fix ac3 libffmpeg.so --- infra/build_ffmpeg.sh | 50 +++++++++++++++++++++ infra/set_exec.sh | 2 + src/build/win/reorder-imports.py | 0 src/third_party/ffmpeg/ffmpeg_generated.gni | 19 +++++++- 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100755 infra/build_ffmpeg.sh mode change 100644 => 100755 src/build/win/reorder-imports.py diff --git a/infra/build_ffmpeg.sh b/infra/build_ffmpeg.sh new file mode 100755 index 00000000..ad3646f2 --- /dev/null +++ b/infra/build_ffmpeg.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Copyright (c) 2024 Alex313031. + +YEL='\033[1;33m' # Yellow +CYA='\033[1;96m' # Cyan +RED='\033[1;31m' # Red +GRE='\033[1;32m' # Green +c0='\033[0m' # Reset Text +bold='\033[1m' # Bold Text +underline='\033[4m' # Underline Text + +# Error handling +yell() { echo "$0: $*" >&2; } +die() { yell "$*"; exit 111; } +try() { "$@" || die "${RED}Failed $*"; } + +# --help +displayHelp () { + printf "\n" && + printf "${bold}${GRE}Script to build libffmpeg.so or ffmpeg.dll.${c0}\n" && + printf "${underline}${YEL}Usage:${c0} build.sh # (where # is number of jobs)${c0}\n" && + printf "\n" +} +case $1 in + --help) displayHelp; exit 0;; +esac + +# chromium/src dir env variable +if [ -z "${CR_DIR}" ]; then + CR_SRC_DIR="$HOME/chromium/src" + export CR_SRC_DIR +else + CR_SRC_DIR="${CR_DIR}" + export CR_SRC_DIR +fi + +printf "\n" && +printf "${YEL}Building libffmpeg...\n" && +printf "${CYA}\n" && + +# Build Thorium +export NINJA_SUMMARIZE_BUILD=1 && +export NINJA_STATUS="[%r processes, %f/%t @ %o/s | %e sec. ] " && + +cd ${CR_SRC_DIR} && +autoninja -C out/thorium/ third_party/ffmpeg:ffmpeg third_party/ffmpeg:ffmpeg_features third_party/ffmpeg:ffmpeg_internal -j$@ && + +printf "${GRE}${bold}Done!\n" && +tput sgr0 diff --git a/infra/set_exec.sh b/infra/set_exec.sh index 1852d4ff..87b1e822 100755 --- a/infra/set_exec.sh +++ b/infra/set_exec.sh @@ -65,6 +65,8 @@ sudo chmod -v +x infra/install_deps.sh && sudo chmod -v +x infra/build_dmg_cr.sh && +sudo chmod -v +x infra/build_ffmpeg.sh && + sudo chmod -v +x infra/build_polly.sh && sudo chmod -v +x infra/DEBUG/build_debug_linux.sh && diff --git a/src/build/win/reorder-imports.py b/src/build/win/reorder-imports.py old mode 100644 new mode 100755 diff --git a/src/third_party/ffmpeg/ffmpeg_generated.gni b/src/third_party/ffmpeg/ffmpeg_generated.gni index d933edfd..63a43db7 100644 --- a/src/third_party/ffmpeg/ffmpeg_generated.gni +++ b/src/third_party/ffmpeg/ffmpeg_generated.gni @@ -255,7 +255,19 @@ if ((is_apple && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == " "libavcodec/hevc_sei.c", "libavcodec/hevcdec.c", "libavcodec/hevcdsp.c", - "libavcodec/hevcpred.c" + "libavcodec/hevcpred.c", + "libavcodec/x86/ac3dsp_init.c", + "libavcodec/ac3dsp.c", + "libavcodec/fmtconvert.c", + "libavcodec/ac3tab.c", + "libavcodec/ac3dec_float.c", + "libavcodec/ac3.c", + "libavcodec/x86/fmtconvert_init.c", + "libavcodec/ac3dec_data.c", + "libavcodec/eac3dec.c", + "libavcodec/eac3_data.c", + "libavcodec/ac3dec_fixed.c", + "libavformat/ac3dec.c", ] ffmpeg_c_sources += [ @@ -345,7 +357,10 @@ if ((is_apple && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win "libavcodec/x86/hevc_idct.asm", "libavcodec/x86/hevc_mc.asm", "libavcodec/x86/hevc_sao.asm", - "libavcodec/x86/hevc_sao_10bit.asm" + "libavcodec/x86/hevc_sao_10bit.asm", + "libavcodec/x86/ac3dsp.asm", + "libavcodec/x86/ac3dsp_downmix.asm", + "libavcodec/x86/fmtconvert.asm", ] ffmpeg_c_sources += [