fix ffv1 color/alpha shift (#581)

* Add 'gbra' to alpha channel regex check

* Add input color depth 16bit option to ffv1-mkv.json

* use rgba64le by default in ffv1-mkv.json
This commit is contained in:
应元东
2025-11-02 23:28:40 -08:00
committed by GitHub
parent 8550981384
commit 8923bd836b
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -8,10 +8,11 @@
"-g", ["gop_size", "INT", {"default": 1, "min": 1, "max": 300, "step": 1}],
"-slices", ["slices", ["4", "6", "9", "12", "16", "20", "24", "30"], {"default": "16"}],
"-slicecrc", ["slicecrc", ["0", "1"], {"default": "1"}],
"-pix_fmt", ["pix_fmt", ["bgra", "rgba64le", "yuv420p", "yuv422p", "yuv444p", "yuva420p", "yuva422p", "yuva444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuv420p12le", "yuv422p12le", "yuv444p12le", "yuv420p14le", "yuv422p14le", "yuv444p14le", "yuv420p16le", "yuv422p16le", "yuv444p16le", "gray", "gray10le", "gray12le", "gray16le"], {"default": "bgra"}]
"-pix_fmt", ["pix_fmt", ["rgba64le", "bgra", "yuv420p", "yuv422p", "yuv444p", "yuva420p", "yuva422p", "yuva444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuv420p12le", "yuv422p12le", "yuv444p12le", "yuv420p14le", "yuv422p14le", "yuv444p14le", "yuv420p16le", "yuv422p16le", "yuv444p16le", "gray", "gray10le", "gray12le", "gray16le"], {"default": "rgba64le"}]
],
"audio_pass": ["-c:a", "flac"],
"save_metadata": ["save_metadata", "BOOLEAN", {"default": true}],
"trim_to_audio": ["trim_to_audio", "BOOLEAN", {"default": false}],
"input_color_depth": "16bit",
"extension": "mkv"
}
}
+1 -1
View File
@@ -201,7 +201,7 @@ def ffmpeg_frame_generator(video, force_rate, frame_load_cap, start_time,
fps_base = float(fps_match.group(1))
else:
fps_base = 1
alpha = re.search("(yuva|rgba|bgra)", line) is not None
alpha = re.search("(yuva|rgba|bgra|gbra)", line) is not None
break
else:
raise Exception("Failed to parse video/image information. FFMPEG output:\n" + lines)