Commit graph

29 commits

Author SHA1 Message Date
Sebastian Dröge
d03f733bba Implement auto mode detection in ajasrc
This also allows switching modes while running.
2021-08-18 12:33:52 +03:00
Sebastian Dröge
02519523df Only report signal recovery after actually capturing a frame 2021-08-18 12:22:57 +03:00
Sebastian Dröge
08308c28a2 Include detected video format in warning message if it is different from the configured one 2021-08-18 11:36:24 +03:00
Sebastian Dröge
4d95164c0c In quad mode, stop autocirculate on the other channels before starting
It might theoretically be running from single link mode from a previous
run that was not cleaned up properly.
2021-08-18 10:50:15 +03:00
Sebastian Dröge
e116719597 Report signal loss if the expected mode is reported but no frame was captured for more than 32 iterations 2021-08-18 10:18:53 +03:00
Sebastian Dröge
83eb812f06 Wait for vsync after reporting signal loss 2021-08-18 10:16:19 +03:00
Sebastian Dröge
fe13e5f211 Add support for AFD/Bar VANC in the source element and widescreen NTSC/PAL 2021-07-07 12:28:38 +03:00
Sebastian Dröge
99c86891a4 Read colorimetry information from VPID and create caps from detected input format
This does not implement automatic mode selection yet, for which it is
necessary to change the routing at runtime based on the detected
format. It is a first step into that direction though.
2021-07-07 10:36:55 +03:00
Sebastian Dröge
86920489f8 Add support for 2/4/8k DCI modes 2021-07-06 15:23:17 +03:00
Sebastian Dröge
735768b905 Add support for UHD/UHD2 modes and SDI quad-link modes 2021-07-06 15:23:17 +03:00
Sebastian Dröge
fa5385bc8e ajasrc: Set output buffer duration based on the framerate as an estimate 2021-07-06 11:47:42 +03:00
Sebastian Dröge
8075fe577c Streamline VANC/geometry/standard configuration between source and sink
This shouldn't have any effect but makes the configuration the same on
both sides.
2021-03-05 21:50:22 +02:00
Sebastian Dröge
195ffb2101 Work around AJA SDK truncating ADF packets in SD modes when writing to TALL frames
ADF packets that are not a multiple of 12 large are truncated at the end
in SD modes. Instead of directly converting all the packets at once like
for non-SD modes, do the conversion (partially) manually.
2021-03-05 17:56:27 +02:00
Sebastian Dröge
6deeb2389e Work around AJA SDK not recogizing CEA708 packets when capturing TALL frames in SD modes
Stop using CountAncillaryDataWithType(AJAAncillaryDataType_Cea708) etc
because for SD it doesn't recognize the packets. It assumes they would
only be received on AJAAncillaryDataChannel_Y but for SD it is actually
AJAAncillaryDataChannel_Both.
2021-03-05 17:47:14 +02:00
Sebastian Dröge
e70dcfa588 Output captions on line 12 instead of line 9
1080p2997 for example does not allow line 9 in TALL frames.
2021-03-05 13:41:56 +02:00
Sebastian Dröge
bdddb634f7 Fill VANC area with black instead of zeroes when outputting TALL frames 2021-03-05 13:41:22 +02:00
Sebastian Dröge
b64c7f3fdc Only propose the AJA allocator from the sink if no TALL frames are allocated 2021-02-19 20:39:58 +02:00
Sebastian Dröge
19f752f8d6 Output VANC via "TALL" video frames if firmware VANC extraction can't be used
This is the case if the device does not support it, or if the output
channel and SDI output are not the same.
2021-02-19 19:41:09 +02:00
Sebastian Dröge
2b4e0f7ece Only allocate VANC buffer pool if the device supports extraction 2021-02-19 16:01:30 +02:00
Sebastian Dröge
e2e54c3631 Capture VANC from "TALL" video frames if firmware VANC extraction can't be used
This is the case if the device does not support it, or if the input
channel and SDI input are not the same.
2021-02-19 15:57:52 +02:00
Sebastian Dröge
fe248a23e4 Fill ANC buffers from the GStreamer streaming thread and not the rendering thread 2021-02-19 14:47:08 +02:00
Sebastian Dröge
18baa2a761 Allocate twice the queue length for the ANC buffers in interlace modes 2021-02-19 14:45:25 +02:00
Sebastian Dröge
e8584abd4e Add README.md 2021-02-09 16:22:18 +02:00
Sebastian Dröge
7ce3f2f400 Implement signal loss and frame drop detection in the source 2021-02-09 15:46:48 +02:00
Sebastian Dröge
12380026e6 Simplify configuration of timecode index and embedded audio source 2021-02-09 15:08:26 +02:00
Sebastian Dröge
00c2fcfc8e Improve sink drift calculation by working with the transfer times 2021-02-09 13:50:13 +02:00
Sebastian Dröge
7be26718b8 Add configuration for audio source, embedded audio input and timecode index 2021-02-09 13:24:20 +02:00
Sebastian Dröge
453f482c0b Add AJA source 2021-02-08 22:35:45 +02:00
Sebastian Dröge
577e9f936b Initial commit 2021-02-08 22:35:45 +02:00