mirror of
https://github.com/immich-app/immich.git
synced 2024-11-24 08:52:28 +02:00
fix(server): wrong video rotation with QSV and RKMPP decoding (#10905)
This commit is contained in:
parent
c1036d6f88
commit
678111ed3b
@ -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…
Reference in New Issue
Block a user