Add initial support for Rockchip Media Process Platform (rkmpp) hardware acceleration (#2418)

* Add Rockchip Media Process Platform (rkmpp) acceleration

* remove fourcc stuff; it's exclusive to videotoolbox

* update changelog

---------

Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
This commit is contained in:
Peter Dey
2025-09-16 00:51:56 +00:00
committed by GitHub
co-authored by Jason Dove
parent 9da655e210
commit d855e4f20d
22 changed files with 361 additions and 7 deletions
@@ -45,6 +45,12 @@ public class FFmpegProfileEditViewModelValidator : AbstractValidator<FFmpegProfi
FFmpegProfileVideoFormat.H264,
FFmpegProfileVideoFormat.Hevc
];
private static readonly List<FFmpegProfileVideoFormat> RkmppFormats =
[
FFmpegProfileVideoFormat.H264,
FFmpegProfileVideoFormat.Hevc
];
public FFmpegProfileEditViewModelValidator()
{
RuleFor(x => x.Name).NotEmpty();
@@ -106,6 +112,14 @@ public class FFmpegProfileEditViewModelValidator : AbstractValidator<FFmpegProfi
.WithMessage("V4L2 M2M supports formats (h264, hevc)");
});
When(
x => x.HardwareAcceleration == HardwareAccelerationKind.Rkmpp,
() =>
{
RuleFor(x => x.VideoFormat).Must(c => RkmppFormats.Contains(c))
.WithMessage("Rkmpp supports formats (h264, hevc)");
});
When(
x => x.VideoFormat == FFmpegProfileVideoFormat.Mpeg2Video,
() => RuleFor(x => x.BitDepth)