Skip to content

Commit b8e3272

Browse files
committed
Update SVT-AV1-5FISH encoder
1 parent 5c9069a commit b8e3272

11 files changed

Lines changed: 38 additions & 33 deletions

File tree

.dockerignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ vapoursynth-user/
99
.gitignore
1010
README.md
1111
ffmpeg-dist/
12-
svt-av1-hdr-dist/
12+
svt-av1-essential-dist/
13+
svt-av1-hdr-dist/
14+
svt-av1-5fish-dist/

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ bun.lock
1010
ffmpeg-dist/
1111
svt-av1-essential-dist/
1212
svt-av1-hdr-dist/
13-
svt-av1-psy-dist/
13+
svt-av1-5fish-dist/

Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,9 @@ RUN mkdir -p /opt/binaries/x86_64_v2 /opt/binaries/x86_64_v3 /opt/binaries/x86_6
208208
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v2/SVT-AV1-HDR" -o /opt/binaries/x86_64_v2/SVT-AV1-HDR \
209209
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v3/SVT-AV1-HDR" -o /opt/binaries/x86_64_v3/SVT-AV1-HDR \
210210
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v4/SVT-AV1-HDR" -o /opt/binaries/x86_64_v4/SVT-AV1-HDR \
211-
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v2/SVT-AV1-PSY" -o /opt/binaries/x86_64_v2/SVT-AV1-PSY \
212-
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v3/SVT-AV1-PSY" -o /opt/binaries/x86_64_v3/SVT-AV1-PSY \
213-
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v4/SVT-AV1-PSY" -o /opt/binaries/x86_64_v4/SVT-AV1-PSY \
211+
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v2/SVT-AV1-5FISH" -o /opt/binaries/x86_64_v2/SVT-AV1-5FISH \
212+
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v3/SVT-AV1-5FISH" -o /opt/binaries/x86_64_v3/SVT-AV1-5FISH \
213+
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v4/SVT-AV1-5FISH" -o /opt/binaries/x86_64_v4/SVT-AV1-5FISH \
214214
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v2/ffmpeg.tar.zst" -o /opt/binaries/x86_64_v2/ffmpeg.tar.zst \
215215
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v3/ffmpeg.tar.zst" -o /opt/binaries/x86_64_v3/ffmpeg.tar.zst \
216216
&& curl -fsSL --retry 2 "${CDN_BASE}/x86_64_v4/ffmpeg.tar.zst" -o /opt/binaries/x86_64_v4/ffmpeg.tar.zst \
@@ -223,9 +223,9 @@ RUN mkdir -p /opt/binaries/x86_64_v2 /opt/binaries/x86_64_v3 /opt/binaries/x86_6
223223
/opt/binaries/x86_64_v2/SVT-AV1-HDR \
224224
/opt/binaries/x86_64_v3/SVT-AV1-HDR \
225225
/opt/binaries/x86_64_v4/SVT-AV1-HDR \
226-
/opt/binaries/x86_64_v2/SVT-AV1-PSY \
227-
/opt/binaries/x86_64_v3/SVT-AV1-PSY \
228-
/opt/binaries/x86_64_v4/SVT-AV1-PSY \
226+
/opt/binaries/x86_64_v2/SVT-AV1-5FISH \
227+
/opt/binaries/x86_64_v3/SVT-AV1-5FISH \
228+
/opt/binaries/x86_64_v4/SVT-AV1-5FISH \
229229
# Extract FFmpeg tarballs
230230
&& mkdir -p /opt \
231231
&& tar --zstd -xpf /opt/binaries/x86_64_v2/ffmpeg.tar.zst -C /opt \

docker/entrypoint.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ BIN_DIR="/opt/binaries"
77

88
TARGET_ESSENTIAL="/usr/local/bin/SVT-AV1-Essential"
99
TARGET_HDR="/usr/local/bin/SVT-AV1-HDR"
10-
TARGET_PSY="/usr/local/bin/SVT-AV1-PSY"
10+
TARGET_5FISH="/usr/local/bin/SVT-AV1-5FISH"
1111
TARGET_FFMPEG="/usr/local/bin/ffmpeg"
1212
TARGET_FFPROBE="/usr/local/bin/ffprobe"
1313

@@ -83,9 +83,9 @@ if [ -x "$ARCH_DIR/SVT-AV1-HDR" ]; then
8383
ln -sf "$ARCH_DIR/SVT-AV1-HDR" "$TARGET_HDR"
8484
fi
8585

86-
# Expose SVT-AV1-PSY encoder
87-
if [ -x "$ARCH_DIR/SVT-AV1-PSY" ]; then
88-
ln -sf "$ARCH_DIR/SVT-AV1-PSY" "$TARGET_PSY"
86+
# Expose SVT-AV1-5FISH encoder
87+
if [ -x "$ARCH_DIR/SVT-AV1-5FISH" ]; then
88+
ln -sf "$ARCH_DIR/SVT-AV1-5FISH" "$TARGET_5FISH"
8989
fi
9090

9191
if [ -x /opt/vs-venv/bin/vapoursynth ]; then
@@ -117,7 +117,7 @@ echo "[entrypoint] Using FFmpeg: $("$TARGET_FFMPEG" -hide_banner -version | head
117117
echo "[entrypoint] Using FFprobe: $("$TARGET_FFPROBE" -hide_banner -version | head -n1 | sed -E 's/^[^ ]+ version ([^ ]+).*/\1/')"
118118
echo "[entrypoint] Using SVT-AV1-Essential: $("$TARGET_ESSENTIAL" --version | head -n1 | sed -E 's/.* v([0-9]+\.[0-9]+\.[0-9]+).*/\1/')"
119119
echo "[entrypoint] Using SVT-AV1-HDR: $("$TARGET_HDR" --version | head -n1 | sed -E 's/.* v([0-9]+\.[0-9]+\.[0-9]+).*/\1/')"
120-
echo "[entrypoint] Using SVT-AV1-PSY: $("$TARGET_PSY" --version | head -n1 | sed -E 's/.* v([0-9]+\.[0-9]+\.[0-9]+).*/\1/')"
120+
echo "[entrypoint] Using SVT-AV1-5FISH: $("$TARGET_5FISH" --version | head -n1 | sed -E 's/.* v([0-9]+\.[0-9]+\.[0-9]+).*/\1/')"
121121

122122
USER_VS_DIR="/config/vapoursynth/presets"
123123
if [ ! -d "$USER_VS_DIR" ]; then
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ FROM debian:testing
33
USER root
44
ENV DEBIAN_FRONTEND=noninteractive
55

6-
ARG SVTAV1PSY_REPO=https://github.com/5fish/svt-av1-psy.git
6+
ARG SVTAV15FISH_REPO=https://github.com/5fish/SVT-AV1.git
7+
ARG SVTAV15FISH_REF=v2.3.260627
78

89
RUN apt-get update && apt-get install -y --no-install-recommends \
910
ca-certificates \
@@ -32,11 +33,12 @@ RUN apt-get update \
3233

3334
WORKDIR /src
3435

35-
RUN git clone "${SVTAV1PSY_REPO}" svt-av1-psy \
36-
&& cd svt-av1-psy
36+
RUN git clone "${SVTAV15FISH_REPO}" svt-av1-5fish \
37+
&& cd svt-av1-5fish \
38+
&& git checkout "${SVTAV15FISH_REF}"
3739

38-
COPY build-svt-av1-psy.sh /usr/local/bin/build-svt-av1-psy.sh
39-
RUN chmod +x /usr/local/bin/build-svt-av1-psy.sh
40+
COPY build-svt-av1-5fish.sh /usr/local/bin/build-svt-av1-5fish.sh
41+
RUN chmod +x /usr/local/bin/build-svt-av1-5fish.sh
4042

4143
VOLUME ["/out"]
42-
CMD ["/usr/local/bin/build-svt-av1-psy.sh"]
44+
CMD ["/usr/local/bin/build-svt-av1-5fish.sh"]

encoders/svt-av1-psy/build-svt-av1-psy.sh renamed to encoders/svt-av1-5fish/build-svt-av1-5fish.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
SRC=/src/svt-av1-psy
4+
SRC=/src/svt-av1-5fish
55
OUT=/out
66
mkdir -p "$OUT"
77

@@ -68,7 +68,7 @@ build_one() {
6868
local level_num="$2" # e.g. 3
6969

7070
echo
71-
echo "==== Building SVT-AV1-PSY for ${level} ===="
71+
echo "==== Building SVT-AV1-5FISH for ${level} ===="
7272

7373
rm -rf "$SRC/Build/linux/Release" "$SRC/Bin/Release"
7474

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
services:
2-
svt-av1-psy-builder:
2+
svt-av1-5fish-builder:
33
build:
44
context: .
55
args:
6-
SVTAV1PSY_REPO: https://github.com/5fish/svt-av1-psy.git
7-
container_name: rabbit-svt-av1-psy-builder
6+
SVTAV15FISH_REPO: https://github.com/5fish/SVT-AV1.git
7+
SVTAV15FISH_REF: v2.3.260627
8+
container_name: rabbit-svt-av1-5fish-builder
89
volumes:
9-
- ./svt-av1-psy-dist:/out
10+
- ./svt-av1-5fish-dist:/out
1011
environment:
1112
DEBIAN_FRONTEND: noninteractive
1213
# Set to 0 to disable profile-guided optimization (faster build, slightly

public/config/options.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ export const ENCODERS: Record<
3030
defaultPreset: 4,
3131
},
3232
"svt-av1-hdr": { label: "SVT-AV1-HDR", usesAutoBoost: false, crfMin: 1, crfMax: 70, presetMin: -1, presetMax: 13, defaultCrf: 24, defaultPreset: 4 },
33-
"svt-av1-psy": { label: "SVT-AV1-PSY", usesAutoBoost: false, crfMin: 1, crfMax: 70, presetMin: -1, presetMax: 13, defaultCrf: 24, defaultPreset: 4 },
33+
"svt-av1-5fish": { label: "SVT-AV1-5FISH", usesAutoBoost: false, crfMin: 1, crfMax: 70, presetMin: -1, presetMax: 13, defaultCrf: 24, defaultPreset: 4 },
3434
};
3535
export const ENCODER_IDS = Object.keys(ENCODERS) as EncoderId[];
3636
export const ENCODER_HELP: Record<EncoderId, string> = {
3737
"svt-av1-essential": "Easiest to use (automatic per-scene CRF optimization)",
3838
"svt-av1-hdr": "Recommended for live-action content.",
39-
"svt-av1-psy": "Recommended for anime and animation.",
39+
"svt-av1-5fish": "Recommended for anime and animation.",
4040
};
4141

4242
export const QUALITIES: readonly EncoderQuality[] = ["low", "medium", "high"];

public/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export type EncoderId = "svt-av1-essential" | "svt-av1-hdr" | "svt-av1-psy";
1+
export type EncoderId = "svt-av1-essential" | "svt-av1-hdr" | "svt-av1-5fish";
22
export type EncoderQuality = "low" | "medium" | "high";
33
export type EncoderSpeed = "slower" | "slow" | "medium" | "fast" | "faster";
44
export type DenoiseLevel = "off" | "light" | "medium" | "heavy" | "auto";

src/encoders.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ export const ENCODERS: Record<EncoderId, EncoderDef> = {
3838
presetMin: -1,
3939
presetMax: 13,
4040
},
41-
"svt-av1-psy": {
42-
id: "svt-av1-psy",
43-
label: "SVT-AV1-PSY",
44-
binary: "SVT-AV1-PSY",
41+
"svt-av1-5fish": {
42+
id: "svt-av1-5fish",
43+
label: "SVT-AV1-5FISH",
44+
binary: "SVT-AV1-5FISH",
4545
usesAutoBoost: false,
4646
defaultCrf: 24,
4747
defaultPreset: 4,

0 commit comments

Comments
 (0)