mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-14 15:15:22 +03:00
Add basic vulkan support
This commit is contained in:
parent
e02f96f221
commit
45bb7e109b
@ -47,6 +47,7 @@ MAX_WAL_SIZE = 10 # MB
|
|||||||
|
|
||||||
FFMPEG_HWACCEL_NVIDIA = "preset-nvidia"
|
FFMPEG_HWACCEL_NVIDIA = "preset-nvidia"
|
||||||
FFMPEG_HWACCEL_VAAPI = "preset-vaapi"
|
FFMPEG_HWACCEL_VAAPI = "preset-vaapi"
|
||||||
|
FFMPEG_HWACCEL_VULKAN = "preset-vulkan"
|
||||||
|
|
||||||
# Regex Consts
|
# Regex Consts
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import os
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from frigate.const import FFMPEG_HWACCEL_NVIDIA, FFMPEG_HWACCEL_VAAPI
|
from frigate.const import FFMPEG_HWACCEL_NVIDIA, FFMPEG_HWACCEL_VAAPI, FFMPEG_HWACCEL_VULKAN
|
||||||
from frigate.util.services import vainfo_hwaccel
|
from frigate.util.services import vainfo_hwaccel
|
||||||
from frigate.version import VERSION
|
from frigate.version import VERSION
|
||||||
|
|
||||||
@ -71,6 +71,8 @@ PRESETS_HW_ACCEL_DECODE = {
|
|||||||
"preset-jetson-h265": "-c:v hevc_nvmpi -resize {1}x{2}",
|
"preset-jetson-h265": "-c:v hevc_nvmpi -resize {1}x{2}",
|
||||||
"preset-rk-h264": "-hwaccel rkmpp -hwaccel_output_format drm_prime",
|
"preset-rk-h264": "-hwaccel rkmpp -hwaccel_output_format drm_prime",
|
||||||
"preset-rk-h265": "-hwaccel rkmpp -hwaccel_output_format drm_prime",
|
"preset-rk-h265": "-hwaccel rkmpp -hwaccel_output_format drm_prime",
|
||||||
|
# experimental presets
|
||||||
|
FFMPEG_HWACCEL_VULKAN: "-hwaccel vulkan -init_hw_device vulkan=gpu:0 -filter_hw_device gpu -hwaccel_output_format vulkan"
|
||||||
}
|
}
|
||||||
PRESETS_HW_ACCEL_DECODE["preset-nvidia-h264"] = PRESETS_HW_ACCEL_DECODE[
|
PRESETS_HW_ACCEL_DECODE["preset-nvidia-h264"] = PRESETS_HW_ACCEL_DECODE[
|
||||||
FFMPEG_HWACCEL_NVIDIA
|
FFMPEG_HWACCEL_NVIDIA
|
||||||
@ -94,6 +96,8 @@ PRESETS_HW_ACCEL_SCALE = {
|
|||||||
"preset-rk-h264": "-r {0} -vf scale_rkrga=w={1}:h={2}:format=yuv420p:force_original_aspect_ratio=0,hwmap=mode=read,format=yuv420p",
|
"preset-rk-h264": "-r {0} -vf scale_rkrga=w={1}:h={2}:format=yuv420p:force_original_aspect_ratio=0,hwmap=mode=read,format=yuv420p",
|
||||||
"preset-rk-h265": "-r {0} -vf scale_rkrga=w={1}:h={2}:format=yuv420p:force_original_aspect_ratio=0,hwmap=mode=read,format=yuv420p",
|
"preset-rk-h265": "-r {0} -vf scale_rkrga=w={1}:h={2}:format=yuv420p:force_original_aspect_ratio=0,hwmap=mode=read,format=yuv420p",
|
||||||
"default": "-r {0} -vf fps={0},scale={1}:{2}",
|
"default": "-r {0} -vf fps={0},scale={1}:{2}",
|
||||||
|
# experimental presets
|
||||||
|
FFMPEG_HWACCEL_VULKAN: "-r {0} -vf fps={0},hwupload,scale_vulkan=w={1}:h={2},hwdownload"
|
||||||
}
|
}
|
||||||
PRESETS_HW_ACCEL_SCALE["preset-nvidia-h264"] = PRESETS_HW_ACCEL_SCALE[
|
PRESETS_HW_ACCEL_SCALE["preset-nvidia-h264"] = PRESETS_HW_ACCEL_SCALE[
|
||||||
FFMPEG_HWACCEL_NVIDIA
|
FFMPEG_HWACCEL_NVIDIA
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user