From 98d9dc01fc2d15879ee85cad1f188b2a3b7bc7eb Mon Sep 17 00:00:00 2001 From: Naoto Kondo Date: Fri, 24 Apr 2020 22:51:38 +0900 Subject: [PATCH] fix and simplify enumeration --- example/send_capture.py | 2 +- src/main.cpp | 102 ++++++++++++---------------------------- 2 files changed, 32 insertions(+), 72 deletions(-) diff --git a/example/send_capture.py b/example/send_capture.py index cd6e86e..a6fc613 100644 --- a/example/send_capture.py +++ b/example/send_capture.py @@ -30,7 +30,7 @@ def main(): img = cv.cvtColor(img, cv.COLOR_BGR2BGRA) video_frame.data = img - video_frame.FourCC = ndi.FOURCC_TYPE_BGRX + video_frame.FourCC = ndi.FOURCC_VIDEO_TYPE_BGRX ndi.send_send_video_v2(ndi_send, video_frame) diff --git a/src/main.cpp b/src/main.cpp index 80f93f2..54e63a7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,84 +11,44 @@ PYBIND11_MODULE(NDIlib, m) { m.doc() = "NDI Plugin"; // Processing.NDI.structs - enum FrameType { - FRAME_TYPE_NONE = NDIlib_frame_type_none, - FRAME_TYPE_VIDEO = NDIlib_frame_type_video, - FRAME_TYPE_AUDIO = NDIlib_frame_type_audio, - FRAME_TYPE_METADATA = NDIlib_frame_type_metadata, - FRAME_TYPE_ERROR = NDIlib_frame_type_error, - FRANE_TYPE_STATUS_CHANGE = NDIlib_frame_type_status_change, - FRAME_TYPE_MAX = NDIlib_frame_type_max - }; - - py::enum_(m, "FrameType", py::arithmetic()) - .value("FRAME_TYPE_NONE", FrameType::FRAME_TYPE_NONE) - .value("FRAME_TYPE_VIDEO", FrameType::FRAME_TYPE_VIDEO) - .value("FRAME_TYPE_AUDIO", FrameType::FRAME_TYPE_AUDIO) - .value("FRAME_TYPE_METADATA", FrameType::FRAME_TYPE_METADATA) - .value("FRAME_TYPE_ERROR", FrameType::FRAME_TYPE_ERROR) - .value("FRANE_TYPE_STATUS_CHANGE", FrameType::FRANE_TYPE_STATUS_CHANGE) - .value("FRAME_TYPE_MAX", FrameType::FRAME_TYPE_MAX) + py::enum_(m, "FrameType", py::arithmetic()) + .value("FRAME_TYPE_NONE", NDIlib_frame_type_none) + .value("FRAME_TYPE_VIDEO", NDIlib_frame_type_video) + .value("FRAME_TYPE_AUDIO", NDIlib_frame_type_audio) + .value("FRAME_TYPE_METADATA", NDIlib_frame_type_metadata) + .value("FRAME_TYPE_ERROR", NDIlib_frame_type_error) + .value("FRANE_TYPE_STATUS_CHANGE", NDIlib_frame_type_status_change) + .value("FRAME_TYPE_MAX", NDIlib_frame_type_max) .export_values(); - enum FourCCVideoType { - FOURCC_VIDEO_TYPE_UYVY = NDIlib_FourCC_video_type_UYVY, - FOURCC_VIDEO_TYPE_UYVA = NDIlib_FourCC_video_type_UYVA, - FOURCC_VIDEO_TYPE_P216 = NDIlib_FourCC_video_type_P216, - FOURCC_VIDEO_TYPE_PA16 = NDIlib_FourCC_video_type_PA16, - FOURCC_VIDEO_TYPE_YV12 = NDIlib_FourCC_video_type_YV12, - FOURCC_VIDEO_TYPE_I420 = NDIlib_FourCC_video_type_I420, - FOURCC_VIDEO_TYPE_NV12 = NDIlib_FourCC_video_type_NV12, - FOURCC_VIDEO_TYPE_BGRA = NDIlib_FourCC_video_type_BGRA, - FOURCC_VIDEO_TYPE_BGRX = NDIlib_FourCC_video_type_BGRX, - FOURCC_VIDEO_TYPE_RGBA = NDIlib_FourCC_video_type_RGBA, - FOURCC_VIDEO_TYPE_RGBX = NDIlib_FourCC_video_type_RGBX, - FOURCC_VIDEO_TYPE_MAX = NDIlib_FourCC_video_type_max, - }; - - py::enum_(m, "FourCCVideoType", py::arithmetic()) - .value("FOURCC_VIDEO_TYPE_UYVY", FourCCVideoType::FOURCC_VIDEO_TYPE_UYVY) - .value("FOURCC_VIDEO_TYPE_UYVA", FourCCVideoType::FOURCC_VIDEO_TYPE_UYVA) - .value("FOURCC_VIDEO_TYPE_P216", FourCCVideoType::FOURCC_VIDEO_TYPE_P216) - .value("FOURCC_VIDEO_TYPE_PA16", FourCCVideoType::FOURCC_VIDEO_TYPE_PA16) - .value("FOURCC_VIDEO_TYPE_YV12", FourCCVideoType::FOURCC_VIDEO_TYPE_YV12) - .value("FOURCC_VIDEO_TYPE_I420", FourCCVideoType::FOURCC_VIDEO_TYPE_I420) - .value("FOURCC_VIDEO_TYPE_NV12", FourCCVideoType::FOURCC_VIDEO_TYPE_NV12) - .value("FOURCC_VIDEO_TYPE_BGRA", FourCCVideoType::FOURCC_VIDEO_TYPE_BGRA) - .value("FOURCC_VIDEO_TYPE_BGRX", FourCCVideoType::FOURCC_VIDEO_TYPE_BGRX) - .value("FOURCC_VIDEO_TYPE_RGBA", FourCCVideoType::FOURCC_VIDEO_TYPE_RGBA) - .value("FOURCC_VIDEO_TYPE_RGBX", FourCCVideoType::FOURCC_VIDEO_TYPE_RGBX) - .value("FOURCC_VIDEO_TYPE_MAX", FourCCVideoType::FOURCC_VIDEO_TYPE_MAX) + py::enum_(m, "FourCCVideoType", py::arithmetic()) + .value("FOURCC_VIDEO_TYPE_UYVY", NDIlib_FourCC_video_type_UYVY) + .value("FOURCC_VIDEO_TYPE_UYVA", NDIlib_FourCC_video_type_UYVA) + .value("FOURCC_VIDEO_TYPE_P216", NDIlib_FourCC_video_type_P216) + .value("FOURCC_VIDEO_TYPE_PA16", NDIlib_FourCC_video_type_PA16) + .value("FOURCC_VIDEO_TYPE_YV12", NDIlib_FourCC_video_type_YV12) + .value("FOURCC_VIDEO_TYPE_I420", NDIlib_FourCC_video_type_I420) + .value("FOURCC_VIDEO_TYPE_NV12", NDIlib_FourCC_video_type_NV12) + .value("FOURCC_VIDEO_TYPE_BGRA", NDIlib_FourCC_video_type_BGRA) + .value("FOURCC_VIDEO_TYPE_BGRX", NDIlib_FourCC_video_type_BGRX) + .value("FOURCC_VIDEO_TYPE_RGBA", NDIlib_FourCC_video_type_RGBA) + .value("FOURCC_VIDEO_TYPE_RGBX", NDIlib_FourCC_video_type_RGBX) + .value("FOURCC_VIDEO_TYPE_MAX", NDIlib_FourCC_video_type_max) .export_values(); - enum FourCCAudioType { - FOURCC_AUDIO_TYPE_FLTP = NDIlib_FourCC_audio_type_FLTP, - FOURCC_AUDIO_TYPE_MAX = NDIlib_FourCC_audio_type_max, - }; - - py::enum_(m, "FourCCAudioType", py::arithmetic()) - .value("FOURCC_AUDIO_TYPE_FLTP", FourCCAudioType::FOURCC_AUDIO_TYPE_FLTP) - .value("FOURCC_AUDIO_TYPE_MAX", FourCCAudioType::FOURCC_AUDIO_TYPE_MAX) + py::enum_(m, "FourCCAudioType", py::arithmetic()) + .value("FOURCC_AUDIO_TYPE_FLTP", NDIlib_FourCC_audio_type_FLTP) + .value("FOURCC_AUDIO_TYPE_MAX", NDIlib_FourCC_audio_type_max) .export_values(); - enum FrameFormatType { - FRAME_FORMAT_TYPE_PROGRESSIVE = NDIlib_frame_format_type_progressive, - FRAME_FORMAT_TYPE_INTERLEAVED = NDIlib_frame_format_type_interleaved, - FRAME_FORMAT_TYPE_FIELD_0 = NDIlib_frame_format_type_field_0, - FRAME_FORMAT_TYPE_FIELD_1 = NDIlib_frame_format_type_field_1, - FRAME_FORMAT_TYPE_MAX = NDIlib_frame_format_type_max - }; - - py::enum_(m, "FrameFormatType", py::arithmetic()) + py::enum_(m, "FrameFormatType", py::arithmetic()) .value("FRAME_FORMAT_TYPE_PROGRESSIVE", - FrameFormatType::FRAME_FORMAT_TYPE_PROGRESSIVE) + NDIlib_frame_format_type_progressive) .value("FRAME_FORMAT_TYPE_INTERLEAVED", - FrameFormatType::FRAME_FORMAT_TYPE_INTERLEAVED) - .value("FRAME_FORMAT_TYPE_FIELD_0", - FrameFormatType::FRAME_FORMAT_TYPE_FIELD_0) - .value("FRAME_FORMAT_TYPE_FIELD_1", - FrameFormatType::FRAME_FORMAT_TYPE_FIELD_1) - .value("FRAME_FORMAT_TYPE_MAX", FrameFormatType::FRAME_FORMAT_TYPE_MAX) + NDIlib_frame_format_type_interleaved) + .value("FRAME_FORMAT_TYPE_FIELD_0", NDIlib_frame_format_type_field_0) + .value("FRAME_FORMAT_TYPE_FIELD_1", NDIlib_frame_format_type_field_1) + .value("FRAME_FORMAT_TYPE_MAX", NDIlib_frame_format_type_max) .export_values(); m.attr("SEND_TIMECODE_SYNTHESIZE") = py::int_(INT64_MAX); @@ -661,7 +621,7 @@ PYBIND11_MODULE(NDIlib, m) { m.def("framesync_capture_video", &NDIlib_framesync_capture_video, py::arg("instance"), py::arg("video_data"), - py::arg("field_type") = FRAME_FORMAT_TYPE_PROGRESSIVE); + py::arg("field_type") = NDIlib_frame_format_type_progressive); m.def("framesync_free_video", &NDIlib_framesync_free_video, py::arg("instance"), py::arg("video_data"));