Skip to content

Commit

Permalink
Merge pull request #61 from shiguredo/feature/update-lyra-1.3.2
Browse files Browse the repository at this point in the history
Lyra のバージョンを 1.3.2 に上げる
  • Loading branch information
melpon authored Feb 16, 2024
2 parents 9bc15a8 + 62b00a0 commit bd48155
Show file tree
Hide file tree
Showing 9 changed files with 144 additions and 43 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ WEBRTC_BUILD_VERSION=m121.6167.3.0
BOOST_VERSION=1.84.0
CMAKE_VERSION=3.28.1
BAZEL_VERSION=5.4.1
LYRA_VERSION=1.3.0
LYRA_VERSION=1.3.2
LYRA_COMPATIBLE_VERSION=1.3.0
CUDA_VERSION=11.8.0-1
ANDROID_NDK_VERSION=r26b
Expand Down
2 changes: 1 addition & 1 deletion run.py
Original file line number Diff line number Diff line change
Expand Up @@ -872,7 +872,7 @@ def install_lyra(version, install_dir, base_dir, debug, target, webrtc_version,
else:
lib_src = os.path.join('bazel-bin', 'liblyra.a')
lib_dst = os.path.join(lyra_install_dir, 'lib', 'liblyra.a')
model_src = os.path.join(output_base, 'external', 'lyra', 'model_coeffs')
model_src = os.path.join(output_base, 'external', 'lyra', 'lyra', 'model_coeffs')
model_dst = os.path.join(lyra_install_dir, 'share', 'model_coeffs')
include_src = 'lyra.h'
include_dst = os.path.join(lyra_install_dir, 'include', 'lyra.h')
Expand Down
5 changes: 3 additions & 2 deletions third_party/lyra/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ load("cc_static_library.bzl", "cc_static_library")
cc_library(
name = "lyrac",
srcs = [
"lyra.h",
"lyra.cc",
],
defines = [
# "LYRA_EXPORTS",
],
deps = [
"@lyra//:lyra_encoder",
"@lyra//:lyra_decoder",
"@lyra//lyra:lyra_encoder",
"@lyra//lyra:lyra_decoder",
],
)

Expand Down
46 changes: 31 additions & 15 deletions third_party/lyra/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@ git_repository(
branch = "android_linking_fix"
)

# Skylib
http_archive(
name = "bazel_skylib",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
],
sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44",
)
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()

http_archive(
name = "rules_android",
sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
Expand Down Expand Up @@ -98,40 +110,44 @@ http_archive(
git_repository(
name = "org_tensorflow",
remote = "https://github.com/tensorflow/tensorflow.git",
# Below is reproducible and equivalent to `tag = "v2.9.0"`
commit = "8a20d54a3c1bfa38c03ea99a2ad3c1b0a45dfa95",
shallow_since = "1652465115 -0700",
# Below is reproducible and equivalent to `tag = "v2.11.0"`
commit = "d5b57ca93e506df258271ea00fc29cf98383a374",
shallow_since = "1668561432 -0800",
patches = ["//:patches/android_tensorflow.patch", "//:patches/use_exceptions_tensorflow.patch"],
patch_args = ["-p1"]
)

# Check bazel version requirement, which is stricter than TensorFlow's.
load(
"@org_tensorflow//tensorflow:version_check.bzl",
"check_bazel_version_at_least",
)

check_bazel_version_at_least("3.7.2")
load("@bazel_skylib//lib:versions.bzl", "versions")
versions.check("3.7.2")

# TF WORKSPACE Loading functions
# This section uses a subset of the tensorflow WORKSPACE loading by reusing its contents.
# There are four workspace() functions create repos for the dependencies.
# TF's loading is very complicated, and we only need a subset for TFLite.
# If we use the full TF loading sequence, we also run into conflicts and errors on some platforms.

# Android 用のパッチを当てるために別途でリポジトリを取得しておく
load("@org_tensorflow//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls")

# Android 用のパッチを当てるために別途でリポジトリを取得しておく
tf_http_archive(
name = "XNNPACK",
sha256 = "7e9ad45391e5158fd00e816022bda21d54a6180788af7c455c864a78cee252c6",
strip_prefix = "XNNPACK-11b2812d64e49bab9b6c489f79067fc94e69db9f",
urls = tf_mirror_urls("https://github.com/google/XNNPACK/archive/11b2812d64e49bab9b6c489f79067fc94e69db9f.zip"),
sha256 = "7a16ab0d767d9f8819973dbea1dc45e4e08236f89ab702d96f389fdc78c5855c",
strip_prefix = "XNNPACK-e8f74a9763aa36559980a0c2f37f587794995622",
urls = tf_mirror_urls("https://github.com/google/XNNPACK/archive/e8f74a9763aa36559980a0c2f37f587794995622.zip"),
patch_file = ["@//:patches/android_xnnpack.patch"]
)

load("@org_tensorflow//tensorflow:workspace3.bzl", workspace3 = "workspace")
workspace3()
tf_http_archive(
name = "cpuinfo",
strip_prefix = "cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90",
sha256 = "18eca9bc8d9c4ce5496d0d2be9f456d55cbbb5f0639a551ce9c8bac2e84d85fe",
urls = tf_mirror_urls("https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz"),
patch_file = ["@//:patches/android_cpuinfo.patch"]
)

load("@org_tensorflow//tensorflow:workspace3.bzl", "workspace")
workspace()

load("@org_tensorflow//tensorflow:workspace2.bzl", workspace2 = "workspace")
workspace2()
Expand Down
4 changes: 2 additions & 2 deletions third_party/lyra/lyra.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lyra.h"

#include "lyra_decoder.h"
#include "lyra_encoder.h"
#include "lyra/lyra_decoder.h"
#include "lyra/lyra_encoder.h"

using namespace chromemedia::codec;

Expand Down
40 changes: 40 additions & 0 deletions third_party/lyra/patches/android_cpuinfo.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/BUILD.bazel b/BUILD.bazel
index 4ac8f10..eb5f21e 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -257,7 +257,7 @@ config_setting(
config_setting(
name = "android_armv7",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "armeabi-v7a",
},
visibility = ["//visibility:public"],
@@ -266,7 +266,7 @@ config_setting(
config_setting(
name = "android_arm64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "arm64-v8a",
},
visibility = ["//visibility:public"],
@@ -275,7 +275,7 @@ config_setting(
config_setting(
name = "android_x86",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "x86",
},
visibility = ["//visibility:public"],
@@ -284,7 +284,7 @@ config_setting(
config_setting(
name = "android_x86_64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "x86_64",
},
visibility = ["//visibility:public"],
72 changes: 58 additions & 14 deletions third_party/lyra/patches/android_tensorflow.patch
Original file line number Diff line number Diff line change
@@ -1,20 +1,10 @@
# org_tensorflow 用の Android 向けパッチ

--- a/third_party/cpuinfo/cpuinfo.BUILD
+++ b/third_party/cpuinfo/cpuinfo.BUILD
@@ -257,7 +257,7 @@
config_setting(
name = "android_arm64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "arm64-v8a",
},
visibility = ["//visibility:public"],

diff --git a/tensorflow/BUILD b/tensorflow/BUILD
index 6e6ab138a2f..8869f45aa5d 100644
--- a/tensorflow/BUILD
+++ b/tensorflow/BUILD
@@ -111,7 +111,7 @@ config_setting(
@@ -170,7 +170,7 @@ config_setting(
{},
),
values = if_oss(
Expand All @@ -23,7 +13,43 @@
{},
),
visibility = ["//visibility:public"],
@@ -230,7 +230,7 @@ config_setting(
@@ -184,7 +184,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "x86",
),
@@ -199,7 +199,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "x86_64",
),
@@ -214,7 +214,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "armeabi",
),
@@ -274,7 +274,7 @@ config_setting(
),
values = dict(
if_oss(
- {"crosstool_top": "//external:android/crosstool"},
+ {"crosstool_top": "@android_toolchain//:toolchain"},
),
cpu = "armeabi-v7a",
),
@@ -289,7 +289,7 @@ config_setting(
),
values = dict(
if_oss(
Expand All @@ -32,3 +58,21 @@
),
cpu = "arm64-v8a",
),
@@ -299,7 +299,7 @@ config_setting(
config_setting(
name = "android_mips",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "mips",
},
visibility = ["//visibility:public"],
@@ -308,7 +308,7 @@ config_setting(
config_setting(
name = "android_mips64",
values = {
- "crosstool_top": "//external:android/crosstool",
+ "crosstool_top": "@android_toolchain//:toolchain",
"cpu": "mips64",
},
visibility = ["//visibility:public"],
8 changes: 4 additions & 4 deletions third_party/lyra/patches/lyra.patch
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# WebRTC が lite しか利用していないので、それに合わせて lyra_config.proto も lite モードにする
diff --git a/lyra_config.proto b/lyra_config.proto
diff --git a/lyra/lyra_config.proto b/lyra/lyra_config.proto
index 86ffe2f..ff6ac42 100644
--- a/lyra_config.proto
+++ b/lyra_config.proto
--- a/lyra/lyra_config.proto
+++ b/lyra/lyra_config.proto
@@ -14,6 +14,8 @@

syntax = "proto2";

+option optimize_for = LITE_RUNTIME;
+
package third_party.lyra_codec;
package third_party.lyra_codec.lyra;

// Main message to check version, including weights and bitstream,
8 changes: 4 additions & 4 deletions third_party/lyra/patches/use_exceptions_tensorflow.patch
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl
index 43015747773..d361e6f6c47 100644
index b9bf02b373d..ea6c67362dc 100644
--- a/tensorflow/lite/build_def.bzl
+++ b/tensorflow/lite/build_def.bzl
@@ -42,7 +42,7 @@ def tflite_copts():
@@ -46,7 +46,7 @@ def tflite_copts():
}) + select({
clean_dep("//tensorflow:windows"): [],
"//conditions:default": [
- "-fno-exceptions", # Exceptions are unused in TFLite.
+ # "-fno-exceptions", # Exceptions are unused in TFLite.
],
})

}) + select({
clean_dep("//tensorflow/lite:tflite_with_xnnpack_explicit_false"): ["-DTFLITE_WITHOUT_XNNPACK"],

0 comments on commit bd48155

Please sign in to comment.