mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
feat(server): transcoding hardware acceleration (#3171)
* added transcode configs for nvenc,qsv and vaapi * updated dev docker compose * added software fallback * working vaapi * minor fixes and added tests * updated api * compile libvips * move hwaccel settings to `hwaccel.yml` * changed default dockerfile, moved `readdir` call * removed unused import * minor cleanup * fix for arm build * added documentation, minor fixes * added intel driver * updated docs styling * uppercase codec and api names * formatting * added tests * updated docs * removed semicolons * added link to `hwaccel.yml` * added newlines * added `hwaccel` section to docker-compose.prod.yml * ensure mesa drivers are installed * switch to mimalloc for sharp * moved build version and sha256 to json * let libmfx set the render device * possible fix for vp9 on qsv * updated tests * formatting * review suggestions * semicolon * moved `LD_PRELOAD` to start script * switched to jellyfin's ffmpeg package * fixed dockerfile * use cqp instead of icq for qsv vp9 * updated dockerfile * added sha256sum for other platforms * fixtures
This commit is contained in:
parent
b9cda59172
commit
ee49f470b7
44 changed files with 1308 additions and 68 deletions
|
|
@ -14,37 +14,37 @@ class AssetStatsResponseDto {
|
|||
/// Returns a new [AssetStatsResponseDto] instance.
|
||||
AssetStatsResponseDto({
|
||||
required this.images,
|
||||
required this.total,
|
||||
required this.videos,
|
||||
required this.total,
|
||||
});
|
||||
|
||||
int images;
|
||||
|
||||
int total;
|
||||
|
||||
int videos;
|
||||
|
||||
int total;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) => identical(this, other) || other is AssetStatsResponseDto &&
|
||||
other.images == images &&
|
||||
other.total == total &&
|
||||
other.videos == videos;
|
||||
other.videos == videos &&
|
||||
other.total == total;
|
||||
|
||||
@override
|
||||
int get hashCode =>
|
||||
// ignore: unnecessary_parenthesis
|
||||
(images.hashCode) +
|
||||
(total.hashCode) +
|
||||
(videos.hashCode);
|
||||
(videos.hashCode) +
|
||||
(total.hashCode);
|
||||
|
||||
@override
|
||||
String toString() => 'AssetStatsResponseDto[images=$images, total=$total, videos=$videos]';
|
||||
String toString() => 'AssetStatsResponseDto[images=$images, videos=$videos, total=$total]';
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
json[r'images'] = this.images;
|
||||
json[r'total'] = this.total;
|
||||
json[r'videos'] = this.videos;
|
||||
json[r'total'] = this.total;
|
||||
return json;
|
||||
}
|
||||
|
||||
|
|
@ -57,8 +57,8 @@ class AssetStatsResponseDto {
|
|||
|
||||
return AssetStatsResponseDto(
|
||||
images: mapValueOfType<int>(json, r'images')!,
|
||||
total: mapValueOfType<int>(json, r'total')!,
|
||||
videos: mapValueOfType<int>(json, r'videos')!,
|
||||
total: mapValueOfType<int>(json, r'total')!,
|
||||
);
|
||||
}
|
||||
return null;
|
||||
|
|
@ -107,8 +107,8 @@ class AssetStatsResponseDto {
|
|||
/// The list of required keys that must be present in a JSON.
|
||||
static const requiredKeys = <String>{
|
||||
'images',
|
||||
'total',
|
||||
'videos',
|
||||
'total',
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue