|
|
@@ -42,6 +42,8 @@ static void decklink_update(void *data, obs_data_t *settings)
|
|
|
DeckLink *decklink = (DeckLink *)data;
|
|
|
const char *hash = obs_data_get_string(settings, "device_hash");
|
|
|
long long id = obs_data_get_int(settings, "mode_id");
|
|
|
+ BMDPixelFormat format = (BMDPixelFormat)obs_data_get_int(settings,
|
|
|
+ "pixel_format");
|
|
|
|
|
|
decklink_enable_buffering(decklink,
|
|
|
obs_data_get_bool(settings, "buffering"));
|
|
|
@@ -49,12 +51,14 @@ static void decklink_update(void *data, obs_data_t *settings)
|
|
|
ComPtr<DeckLinkDevice> device;
|
|
|
device.Set(deviceEnum->FindByHash(hash));
|
|
|
|
|
|
+ decklink->SetPixelFormat(format);
|
|
|
decklink->Activate(device, id);
|
|
|
}
|
|
|
|
|
|
static void decklink_get_defaults(obs_data_t *settings)
|
|
|
{
|
|
|
obs_data_set_default_bool(settings, "buffering", true);
|
|
|
+ obs_data_set_default_int(settings, "pixel_format", bmdFormat8BitYUV);
|
|
|
}
|
|
|
|
|
|
static const char *decklink_get_name(void*)
|
|
|
@@ -139,6 +143,13 @@ static obs_properties_t *decklink_get_properties(void *data)
|
|
|
obs_module_text("Mode"), OBS_COMBO_TYPE_LIST,
|
|
|
OBS_COMBO_FORMAT_INT);
|
|
|
|
|
|
+ list = obs_properties_add_list(props, "pixel_format",
|
|
|
+ obs_module_text("PixelFormat"), OBS_COMBO_TYPE_LIST,
|
|
|
+ OBS_COMBO_FORMAT_INT);
|
|
|
+
|
|
|
+ obs_property_list_add_int(list, "8-bit YUV", bmdFormat8BitYUV);
|
|
|
+ obs_property_list_add_int(list, "8-bit BGRA", bmdFormat8BitBGRA);
|
|
|
+
|
|
|
obs_properties_add_bool(props, "buffering",
|
|
|
obs_module_text("Buffering"));
|
|
|
|