CVB++ 15.0
c_movie2.h
1#pragma once
2
3#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
4# pragma GCC system_header
5#endif // __GNUC__
6
7#include <cstddef>
8#include <cstdint>
9
10#include "../namespace.hpp"
11
12#include "c_img.h"
13
14namespace Cvb
15{
16
17CVB_BEGIN_INLINE_NS
18
19namespace CExports
20{
21
22
23
24
25
26enum Movie2_RecordingEngine
27{
28 Movie2_EngineUndefined = -1,
29 Movie2_EngineDirectShow = 0,
30 Movie2_EngineRawVideo = 1
31};
32
33enum Movie2_AcqMode
34{
35 Movie2_AcqAddFrame = 0,
36 Movie2_AcqSynchronous = 1,
37 Movie2_AcqAsynchronous = 2
38};
39
40enum Movie2_SyncMode
41{
42 Movie2_SyncNever = 0,
43 Movie2_SyncBeforeCopy = 1,
44 Movie2_SyncAfterCopy = 2
45};
46
47typedef void* MOVIE2RECORDER;
48
49typedef void(__stdcall *pfMovie2ProvideMetaData) (MOVIE2RECORDER Recorder, char* szMetaData, cvbval_t BufferSize, void* pUserData);
50
51IMPORT(MOVIE2RECORDER) CreateMovie2Recorder(Movie2_RecordingEngine Type);
52IMPORT(MOVIE2RECORDER) CreateMovie2RecorderEx(Movie2_RecordingEngine Type, IMG Image);
53
54CVB_DEF_CAPI(cvbres_t, Movie2SetTargetFileName, (MOVIE2RECORDER Handle, const char* szFileName))
55CVB_DEF_CAPI(cvbres_t, Movie2SetTargetFileNameW, (MOVIE2RECORDER Handle, const wchar_t* szFileName))
56CVB_DEF_CAPI(cvbres_t, Movie2SetFrameRate, (MOVIE2RECORDER Handle, double FramesPerSecond))
57CVB_DEF_CAPI(cvbres_t, Movie2SetImage, (MOVIE2RECORDER Handle, IMG Image))
58CVB_DEF_CAPI(cvbres_t, Movie2SetSyncMode, (MOVIE2RECORDER Handle, Movie2_SyncMode Mode))
59CVB_DEF_CAPI(cvbres_t, Movie2SetAcqMode, (MOVIE2RECORDER Handle, Movie2_AcqMode Mode))
60CVB_DEF_CAPI(cvbres_t, Movie2RegisterMetaDataCallback, (MOVIE2RECORDER Handle, pfMovie2ProvideMetaData Callback, void* pUserData, cvbval_t& Cookie))
61
62CVB_DEF_CAPI(cvbres_t, Movie2GetNumCompressors, (MOVIE2RECORDER Handle, cvbval_t& NumCompressors))
63CVB_DEF_CAPI(cvbres_t, Movie2GetCompressorName, (MOVIE2RECORDER Handle, cvbval_t Index, char* szName, cvbres_t BufferSize))
64CVB_DEF_CAPI(cvbres_t, Movie2GetCompressorNameW, (MOVIE2RECORDER Handle, cvbval_t Index, wchar_t* szName, cvbres_t BufferSize))
65CVB_DEF_CAPI(cvbres_t, Movie2SetCompressorIndex, (MOVIE2RECORDER Handle, cvbval_t Index))
66CVB_DEF_CAPI(cvbres_t, Movie2GetCompressorIndex, (MOVIE2RECORDER Handle, cvbval_t& Index))
67
68CVB_DEF_CAPI(cvbres_t, Movie2StartRecording, (MOVIE2RECORDER Handle))
69CVB_DEF_CAPI(cvbres_t, Movie2StopRecording, (MOVIE2RECORDER Handle))
70CVB_DEF_CAPI(cvbres_t, Movie2AddFrame, (MOVIE2RECORDER Handle))
71CVB_DEF_CAPI(cvbres_t, Movie2SetUseMetadata, (MOVIE2RECORDER Handle, cvbbool_t Use))
72
73inline cvbres_t Movie2GetCompressorNameTyped(MOVIE2RECORDER Handle, cvbval_t Index, char* szName, cvbres_t BufferSize)
74{
75 return Movie2GetCompressorName(Handle, Index, szName, BufferSize);
76}
77
78inline cvbres_t Movie2GetCompressorNameTyped(MOVIE2RECORDER Handle, cvbval_t Index, wchar_t* szName, cvbres_t BufferSize)
79{
80 return Movie2GetCompressorNameW(Handle, Index, szName, BufferSize);
81}
82
83inline cvbres_t Movie2SetTargetFileNameTyped(MOVIE2RECORDER Handle, const char* szFileName)
84{
85 return Movie2SetTargetFileName(Handle, szFileName);
86}
87
88inline cvbres_t Movie2SetTargetFileNameTyped(MOVIE2RECORDER Handle, const wchar_t* szFileName)
89{
90 return Movie2SetTargetFileNameW(Handle, szFileName);
91}
92
93}
94
95CVB_END_INLINE_NS
96
97}
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17