mirror of
https://github.com/immich-app/immich.git
synced 2025-03-01 15:11:21 +01:00
fix(server): wrong video rotation with QSV and RKMPP decoding (#10905)
This commit is contained in:
parent
c1036d6f88
commit
678111ed3b
2 changed files with 15 additions and 3 deletions
|
@ -1573,6 +1573,7 @@ describe(MediaService.name, () => {
|
||||||
'-hwaccel qsv',
|
'-hwaccel qsv',
|
||||||
'-hwaccel_output_format qsv',
|
'-hwaccel_output_format qsv',
|
||||||
'-async_depth 4',
|
'-async_depth 4',
|
||||||
|
'-noautorotate',
|
||||||
'-threads 1',
|
'-threads 1',
|
||||||
]),
|
]),
|
||||||
outputOptions: expect.arrayContaining([
|
outputOptions: expect.arrayContaining([
|
||||||
|
@ -1838,7 +1839,12 @@ describe(MediaService.name, () => {
|
||||||
'/original/path.ext',
|
'/original/path.ext',
|
||||||
'upload/encoded-video/user-id/as/se/asset-id.mp4',
|
'upload/encoded-video/user-id/as/se/asset-id.mp4',
|
||||||
{
|
{
|
||||||
inputOptions: expect.arrayContaining(['-hwaccel rkmpp', '-hwaccel_output_format drm_prime', '-afbc rga']),
|
inputOptions: expect.arrayContaining([
|
||||||
|
'-hwaccel rkmpp',
|
||||||
|
'-hwaccel_output_format drm_prime',
|
||||||
|
'-afbc rga',
|
||||||
|
'-noautorotate',
|
||||||
|
]),
|
||||||
outputOptions: expect.arrayContaining([
|
outputOptions: expect.arrayContaining([
|
||||||
`-c:v h264_rkmpp`,
|
`-c:v h264_rkmpp`,
|
||||||
'-c:a copy',
|
'-c:a copy',
|
||||||
|
|
|
@ -732,7 +732,13 @@ export class QsvHwDecodeConfig extends QsvSwDecodeConfig {
|
||||||
throw new Error('No QSV device found');
|
throw new Error('No QSV device found');
|
||||||
}
|
}
|
||||||
|
|
||||||
const options = ['-hwaccel qsv', '-hwaccel_output_format qsv', '-async_depth 4', ...this.getInputThreadOptions()];
|
const options = [
|
||||||
|
'-hwaccel qsv',
|
||||||
|
'-hwaccel_output_format qsv',
|
||||||
|
'-async_depth 4',
|
||||||
|
'-noautorotate',
|
||||||
|
...this.getInputThreadOptions(),
|
||||||
|
];
|
||||||
const hwDevice = this.getPreferredHardwareDevice();
|
const hwDevice = this.getPreferredHardwareDevice();
|
||||||
if (hwDevice) {
|
if (hwDevice) {
|
||||||
options.push(`-qsv_device ${hwDevice}`);
|
options.push(`-qsv_device ${hwDevice}`);
|
||||||
|
@ -910,7 +916,7 @@ export class RkmppHwDecodeConfig extends RkmppSwDecodeConfig {
|
||||||
throw new Error('No RKMPP device found');
|
throw new Error('No RKMPP device found');
|
||||||
}
|
}
|
||||||
|
|
||||||
return ['-hwaccel rkmpp', '-hwaccel_output_format drm_prime', '-afbc rga'];
|
return ['-hwaccel rkmpp', '-hwaccel_output_format drm_prime', '-afbc rga', '-noautorotate'];
|
||||||
}
|
}
|
||||||
|
|
||||||
getFilterOptions(videoStream: VideoStreamInfo) {
|
getFilterOptions(videoStream: VideoStreamInfo) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue