Files
ffmpeg-patched/libavfilter
gx 097ca81605 vf_cuda_grid: Phase 1 MVP — fixed quad layout, 4 CUDA inputs → 1 output
Phase 1 deliverable (см. gx/vf-cuda-grid#1):
- libavfilter/vf_cuda_grid.c (~270 LOC): multi-input filter, fixed 2×2 quad
- 4 NV12 CUDA frames same size → 2W × 2H output frame
- Composition: cuMemcpy2DAsync per Y + UV plane на каждый input
- framesync для lock-step pull всех 4 inputs
- Output hw_frames_ctx allocated from input device_ref
- Build wiring: CONFIG_CUDA_GRID_FILTER → libavfilter/{Makefile,allfilters.c}, configure deps на ffnvcodec

Limitations Phase 1:
- All inputs must be same size (no scaling)
- Quad layout hardcoded (no DSL, no runtime switching)
- NV12 only (no RGBA/YUV420P)

Phase 2: dynamic layouts + scaling. Phase 3: runtime control via process_command.
2026-05-19 20:47:00 +01:00
..
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00
2026-05-17 11:43:10 +01:00