Fix GPU encoding black frames and improve debug logging
- Add CUDA sync before encoding to ensure RGB->NV12 kernel completes - Add debug logging for frame data validation (sum check) - Handle GPUFrame objects in GPUHLSOutput.write() - Fix cv2.resize for CuPy arrays (use cupyx.scipy.ndimage.zoom) - Fix fused pipeline parameter ordering (geometric first, color second) - Add raindrop-style ripple with random position/freq/decay/amp - Generate final VOD playlist with #EXT-X-ENDLIST Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -144,8 +144,7 @@ class StreamInterpreter:
|
||||
"""Load a config file and process its definitions."""
|
||||
config_path = Path(config_path) # Accept str or Path
|
||||
if not config_path.exists():
|
||||
print(f"Warning: config file not found: {config_path}", file=sys.stderr)
|
||||
return
|
||||
raise FileNotFoundError(f"Config file not found: {config_path}")
|
||||
|
||||
text = config_path.read_text()
|
||||
ast = parse_all(text)
|
||||
@@ -221,8 +220,7 @@ class StreamInterpreter:
|
||||
break
|
||||
|
||||
if not lib_path:
|
||||
print(f"Warning: primitive library '{lib_name}' not found", file=sys.stderr)
|
||||
return
|
||||
raise FileNotFoundError(f"Primitive library '{lib_name}' not found. Searched paths: {lib_paths}")
|
||||
|
||||
spec = importlib.util.spec_from_file_location(actual_lib_name, lib_path)
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
@@ -262,8 +260,7 @@ class StreamInterpreter:
|
||||
def _load_effect(self, effect_path: Path):
|
||||
"""Load and register an effect from a .sexp file."""
|
||||
if not effect_path.exists():
|
||||
print(f"Warning: effect file not found: {effect_path}", file=sys.stderr)
|
||||
return
|
||||
raise FileNotFoundError(f"Effect/include file not found: {effect_path}")
|
||||
|
||||
text = effect_path.read_text()
|
||||
ast = parse_all(text)
|
||||
@@ -938,8 +935,7 @@ class StreamInterpreter:
|
||||
audio = str(resolved)
|
||||
print(f"Lazy resolved audio: {audio}", file=sys.stderr)
|
||||
else:
|
||||
print(f"WARNING: Audio file not found: {audio}", file=sys.stderr)
|
||||
audio = None
|
||||
raise FileNotFoundError(f"Audio file not found: {audio}")
|
||||
if output == "pipe":
|
||||
out = PipeOutput(size=(w, h), fps=fps, audio_source=audio)
|
||||
elif output == "preview":
|
||||
|
||||
Reference in New Issue
Block a user