mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-30 19:54:16 -04:00
Fix nvidia format change
This commit is contained in:
parent
d26934b602
commit
c3bebdec01
@ -36,27 +36,6 @@ func DetectHardwareAccel() HwAccelT {
|
|||||||
// aspect ratio in our code so there is no need.
|
// aspect ratio in our code so there is no need.
|
||||||
ScaleFilter: "scale=%d:%d",
|
ScaleFilter: "scale=%d:%d",
|
||||||
}
|
}
|
||||||
case "nvidia":
|
|
||||||
return HwAccelT{
|
|
||||||
Name: "nvidia",
|
|
||||||
DecodeFlags: []string{
|
|
||||||
"-hwaccel", "cuda",
|
|
||||||
// this flag prevents data to go from gpu space to cpu space
|
|
||||||
// it forces the whole dec/enc to be on the gpu. We want that.
|
|
||||||
"-hwaccel_output_format", "cuda",
|
|
||||||
},
|
|
||||||
EncodeFlags: []string{
|
|
||||||
"-c:v", "h264_nvenc",
|
|
||||||
"-preset", preset,
|
|
||||||
// the exivalent of -sc_threshold on nvidia.
|
|
||||||
"-no-scenecut", "1",
|
|
||||||
// force 8bits output (by default it keeps the same as the source but 10bits is not playable on some devices)
|
|
||||||
"-pix_fmt", "yuv420p",
|
|
||||||
},
|
|
||||||
// if the decode goes into system memory, we need to prepend the filters with "hwupload_cuda".
|
|
||||||
// since we use hwaccel_output_format, decoded data stays in gpu memory so we must not specify it (it errors)
|
|
||||||
ScaleFilter: "scale_cuda=%d:%d",
|
|
||||||
}
|
|
||||||
case "vaapi":
|
case "vaapi":
|
||||||
return HwAccelT{
|
return HwAccelT{
|
||||||
Name: name,
|
Name: name,
|
||||||
@ -90,14 +69,33 @@ func DetectHardwareAccel() HwAccelT {
|
|||||||
Name: name,
|
Name: name,
|
||||||
DecodeFlags: []string{
|
DecodeFlags: []string{
|
||||||
"-hwaccel", "qsv",
|
"-hwaccel", "qsv",
|
||||||
// "-qsv_device", GetEnvOr("GOCODER_QSV_RENDERER", "/dev/dri/renderD128"),
|
"-qsv_device", GetEnvOr("GOCODER_QSV_RENDERER", "/dev/dri/renderD128"),
|
||||||
"-hwaccel_output_format", "qsv",
|
"-hwaccel_output_format", "qsv",
|
||||||
},
|
},
|
||||||
EncodeFlags: []string{
|
EncodeFlags: []string{
|
||||||
"-c:v", "h264_qsv",
|
"-c:v", "h264_qsv",
|
||||||
"-preset", preset,
|
"-preset", preset,
|
||||||
},
|
},
|
||||||
ScaleFilter: "scale_qsv=%d:%d",
|
// see note on ScaleFilter of the vaapi HwAccel, this is the same filter but adapted to qsv
|
||||||
|
ScaleFilter: "format=nv12|qsv,hwupload,scale_qsv=%d:%d:format=nv12",
|
||||||
|
}
|
||||||
|
case "nvidia":
|
||||||
|
return HwAccelT{
|
||||||
|
Name: "nvidia",
|
||||||
|
DecodeFlags: []string{
|
||||||
|
"-hwaccel", "cuda",
|
||||||
|
// this flag prevents data to go from gpu space to cpu space
|
||||||
|
// it forces the whole dec/enc to be on the gpu. We want that.
|
||||||
|
"-hwaccel_output_format", "cuda",
|
||||||
|
},
|
||||||
|
EncodeFlags: []string{
|
||||||
|
"-c:v", "h264_nvenc",
|
||||||
|
"-preset", preset,
|
||||||
|
// the exivalent of -sc_threshold on nvidia.
|
||||||
|
"-no-scenecut", "1",
|
||||||
|
},
|
||||||
|
// see note on ScaleFilter of the vaapi HwAccel, this is the same filter but adapted to cuda
|
||||||
|
ScaleFilter: "format=nv12|cuda,hwupload,scale_cuda=%d:%d:format=nv12",
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
log.Printf("No hardware accelerator named: %s", name)
|
log.Printf("No hardware accelerator named: %s", name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user