Compare commits
2 commits
82ac0622aa
...
54e15511e8
Author | SHA1 | Date | |
---|---|---|---|
54e15511e8 | |||
db2143289c |
2 changed files with 181 additions and 0 deletions
149
packages/ffmpeg-rockchip/default.nix
Normal file
149
packages/ffmpeg-rockchip/default.nix
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
# Stolen from https://github.com/nyanmisaka/ffmpeg-rockchip
|
||||||
|
|
||||||
|
{
|
||||||
|
ffmpeg-full,
|
||||||
|
fetchFromGitHub,
|
||||||
|
lib,
|
||||||
|
fetchpatch2,
|
||||||
|
gmp,
|
||||||
|
amf-headers,
|
||||||
|
libiec61883,
|
||||||
|
libavc1394,
|
||||||
|
meson,
|
||||||
|
ninja,
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
cmake,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
ffmpeg-rockchip-version = "7.1";
|
||||||
|
|
||||||
|
rga_commit = "d7a0a485ed6c201f882c20b3a8881e801f131385";
|
||||||
|
librga-multi = stdenv.mkDerivation {
|
||||||
|
pname = "librga-multi";
|
||||||
|
version = "1.10.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/JeffyCN/mirrors/archive/${rga_commit}.tar.gz";
|
||||||
|
hash = "sha256-WjNxVfLVW8axEvNmIJ0+OCeboG4LiGWwJy6fW5Mkm5Y=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# In Nixpkgs, meson comes with a setup hook that overrides the configure, check, and install phases.
|
||||||
|
# https://nixos.org/manual/nixpkgs/stable/#meson
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch2 {
|
||||||
|
name = "normalrga-cpp-add-10b-compact-endian-mode.patch";
|
||||||
|
url = "https://raw.githubusercontent.com/7Ji-PKGBUILDs/librga-multi/615fb730b7656ad4a0cb169bfa9a52336820f99f/normalrga-cpp-add-10b-compact-endian-mode.patch";
|
||||||
|
hash = "sha256-JvKZCBjWtkEsfx1Xsnysw9PjC3/60f1ni10tmR8fTHQ=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Rockchip RGA User-Space Library";
|
||||||
|
license = licenses.asl20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mpp = stdenv.mkDerivation {
|
||||||
|
pname = "mpp";
|
||||||
|
version = "1.0.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "rockchip-linux";
|
||||||
|
repo = "mpp";
|
||||||
|
rev = "1.0.8";
|
||||||
|
hash = "sha256-y1vWGz7VjwL02klPQWwoIh5ExpvS/vsDUHcMtMznVcI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$out
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cmake --build build
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
cmake --install build
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Media Process Platform (MPP)";
|
||||||
|
homepage = "https://github.com/rockchip-linux/mpp";
|
||||||
|
license = licenses.asl20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
(ffmpeg-full.override {
|
||||||
|
version = ffmpeg-rockchip-version; # Important! This sets the ABI.
|
||||||
|
source = fetchFromGitHub {
|
||||||
|
owner = "nyanmisaka";
|
||||||
|
repo = "ffmpeg-rockchip";
|
||||||
|
rev = "f5c7e0d63b52b4526b4251e2fcb2071f73367ed6";
|
||||||
|
hash = "sha256-JM/YCvXS49jYz4oF0Ux/aGzrRzKHrD8N/Xm99gXLcqg=";
|
||||||
|
};
|
||||||
|
withVulkan = false;
|
||||||
|
}).overrideAttrs
|
||||||
|
(old: {
|
||||||
|
pname = "ffmpeg-rockchip";
|
||||||
|
|
||||||
|
patches = [ ];
|
||||||
|
# patches = old.patches ++ [
|
||||||
|
# (fetchpatch2
|
||||||
|
# {
|
||||||
|
# name = "add-av_stream_get_first_dts-for-chromium";
|
||||||
|
# url = "https://raw.githubusercontent.com/7Ji-PKGBUILDs/ffmpeg-mpp-git/b32080c1992313df0e543440c6d70d351120fa36/add-av_stream_get_first_dts-for-chromium.patch";
|
||||||
|
# hash = "sha256-DbH6ieJwDwTjKOdQ04xvRcSLeeLP2Z2qEmqeo8HsPr4=";
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# (fetchpatch2
|
||||||
|
# {
|
||||||
|
# name = "flvdec-handle-unknown";
|
||||||
|
# url = "https://raw.githubusercontent.com/obsproject/obs-deps/faa110d336922831b5cdc261a9559e3a2dd5db3c/deps.ffmpeg/patches/FFmpeg/0001-flvdec-handle-unknown.patch";
|
||||||
|
# hash = "sha256-WlGF9Uy89GcnY8zmh9G23bZiVJtpY32oJiec5Hl/V+8=";
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# (fetchpatch2
|
||||||
|
# {
|
||||||
|
# name = "libaomenc-presets";
|
||||||
|
# url = "https://raw.githubusercontent.com/obsproject/obs-deps/faa110d336922831b5cdc261a9559e3a2dd5db3c/deps.ffmpeg/patches/FFmpeg/0002-libaomenc-presets.patch";
|
||||||
|
# hash = "sha256-1fFBDvsx/jHo6QXsPxDMt4Qd1VlMs1kcOyBedyMv0YM=";
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# ];
|
||||||
|
|
||||||
|
configureFlags = old.configureFlags ++ [
|
||||||
|
"--extra-version=rockchip"
|
||||||
|
"--enable-gpl"
|
||||||
|
"--enable-version3"
|
||||||
|
"--enable-libdrm"
|
||||||
|
"--enable-rkmpp"
|
||||||
|
"--enable-rkrga"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false; # TODO remove (used to get faster builds)
|
||||||
|
|
||||||
|
buildInputs = old.buildInputs ++ [
|
||||||
|
gmp
|
||||||
|
amf-headers
|
||||||
|
libiec61883
|
||||||
|
libavc1394
|
||||||
|
mpp
|
||||||
|
librga-multi
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/nyanmisaka/ffmpeg-rockchip";
|
||||||
|
license = licenses.gpl3;
|
||||||
|
};
|
||||||
|
})
|
32
packages/mali-panthor-g610-firmware/default.nix
Normal file
32
packages/mali-panthor-g610-firmware/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# Stolen from https://github.com/qbisi/nixos-rockchip
|
||||||
|
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "mali-panthor-g610-firmware";
|
||||||
|
version = "arch10_8";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://gitlab.com/firefly-linux/external/libmali/-/raw/firefly/firmware/g610/mali_csffw.bin";
|
||||||
|
hash = "sha256-56C0b9Z3wy4IwLiBf9HFY8OsoBPax04XaR83O5cNu6s=";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
dontPatch = true;
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm644 $src $out/lib/firmware/arm/mali/arch10.8/mali_csffw.bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
compressFirmware = false;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue