Johanness
|
bd1f060c73
|
decklink-out: reuse frames via ScheduledFrameCompleted callback pool
|
2026-05-30 23:23:15 +03:00 |
|
Johanness
|
26febc41d6
|
decklink-out: preroll frames before StartScheduledPlayback, detect output format
|
2026-05-30 23:21:13 +03:00 |
|
Johanness
|
a3cd45cc49
|
decklink-out: add mode support check, limit CreateVideoFrame error spam
|
2026-05-30 23:18:02 +03:00 |
|
Johanness
|
b4f766fb9d
|
add HRESULT logging to CreateVideoFrame for debug
|
2026-05-30 23:15:00 +03:00 |
|
Johanness
|
b5d9c7cd3f
|
fix decklink-out: init grains_read from current time to avoid epoch realignment
|
2026-05-30 23:13:24 +03:00 |
|
Johanness
|
c2e823beda
|
fix realignment
|
2026-05-30 23:10:35 +03:00 |
|
Johanness
|
003279669e
|
fix output res&frame rate
|
2026-05-30 23:07:15 +03:00 |
|
Johanness
|
2206fd71b3
|
some fixes
|
2026-05-30 22:12:47 +03:00 |
|
Johanness
|
34f72c22f0
|
hardcoded decklink mode fix
|
2026-05-28 23:43:26 +03:00 |
|
Johanness
|
d02223224f
|
feat: add DeckLink input and output nodes
decklink-in:
- IDeckLinkInputCallback::VideoInputFrameArrived captures V210 frames
- Frame data stored with mutex, copied to MXL grain in process thread
- Uses mxlSleepUntil for TAI-time-based grain pacing
- Configurable: device_index (int), mode (1080i50/1080p50/etc)
- Auto-detect input format via bmdVideoInputEnableFormatDetection
- 1 output port: video_out (V210)
decklink-out:
- Reads V210 grains from MXL, schedules playback via DeckLink output
- Creates IDeckLinkMutableVideoFrame, copies grain data, schedules
- Uses ScheduledFrameCompleted callback for frame completion
- Configurable: device_index (int), mode (1080i50/1080p50/etc)
- 1 input port: video_in (V210)
Both nodes:
- Use DeckLinkAPIDispatch.cpp for CreateDeckLinkIteratorInstance
- Access pixel data via IDeckLinkVideoBuffer (latest SDK API)
- Graceful device open/close on writer/reader add/remove
- Build conditionally via DMF_BUILD_DECKLINK + DECKLINK_SDK_DIR
|
2026-05-28 22:23:00 +03:00 |
|