_VideoWriterParams.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. //-----------------------------------------------------------------------------
  2. // Basler pylon SDK
  3. // Copyright (c) 2018-2021 Basler AG
  4. // http://www.baslerweb.com
  5. //-----------------------------------------------------------------------------
  6. /*!
  7. \file
  8. \brief A parameter class containing all parameters as members that are available for Video Writer
  9. The parameter class is used by the \c Pylon::CVideoWriter class.
  10. The \c Pylon::CVideoWriter can be used to create video files in the MP4 format. The \ref sample_Utility_GrabVideo code sample shows the use of the Video Writer class.
  11. */
  12. //-----------------------------------------------------------------------------
  13. // This file is generated automatically
  14. // Do not modify!
  15. //-----------------------------------------------------------------------------
  16. #ifndef BASLER_PYLON_VIDEOWRITERPARAMS_H
  17. #define BASLER_PYLON_VIDEOWRITERPARAMS_H
  18. #pragma once
  19. // common parameter types
  20. #include <pylon/ParameterIncludes.h>
  21. #include <pylon/EnumParameterT.h>
  22. namespace Basler_VideoWriterParams
  23. {
  24. //**************************************************************************************************
  25. // Enumerations
  26. //**************************************************************************************************
  27. //! Valid values for CompressionMode
  28. enum CompressionModeEnums
  29. {
  30. CompressionMode_Bitrate, //!< The resulting stream has a constant bit rate
  31. CompressionMode_Quality //!< The resulting stream has a constant quality
  32. };
  33. //**************************************************************************************************
  34. // Parameter class CVideoWriterParams_Params_v6_3_0
  35. //**************************************************************************************************
  36. /*!
  37. \brief A parameter class containing all parameters as members that are available for Video Writer
  38. The parameter class is used by the \c Pylon::CVideoWriter class.
  39. The \c Pylon::CVideoWriter can be used to create video files in the MP4 format. The \ref sample_Utility_GrabVideo code sample shows the use of the Video Writer class.
  40. */
  41. class PYLONBASE_API CVideoWriterParams_Params_v6_3_0
  42. {
  43. //----------------------------------------------------------------------------------------------------------------
  44. // Implementation
  45. //----------------------------------------------------------------------------------------------------------------
  46. protected:
  47. // If you want to show the following methods in the help file
  48. // add the string HIDE_CLASS_METHODS to the ENABLED_SECTIONS tag in the doxygen file
  49. //! \cond HIDE_CLASS_METHODS
  50. //! Constructor
  51. CVideoWriterParams_Params_v6_3_0( void );
  52. //! Destructor
  53. ~CVideoWriterParams_Params_v6_3_0( void );
  54. //! Initializes the references
  55. void _Initialize( GENAPI_NAMESPACE::INodeMap* );
  56. //! \endcond
  57. private:
  58. class CVideoWriterParams_Params_v6_3_0_Data;
  59. CVideoWriterParams_Params_v6_3_0_Data* m_pCVideoWriterParams_Params_v6_3_0_Data;
  60. //----------------------------------------------------------------------------------------------------------------
  61. // References to features
  62. //----------------------------------------------------------------------------------------------------------------
  63. public:
  64. //! \name Categories: RecordingOptions
  65. //@{
  66. /*!
  67. \brief Bit rate of the resulting compressed stream
  68. Visibility: Beginner
  69. */
  70. Pylon::IIntegerEx& Bitrate;
  71. //@}
  72. //! \name Categories: Statistics
  73. //@{
  74. /*!
  75. \brief Bytes written to file since starting the recording
  76. Visibility: Beginner
  77. */
  78. Pylon::IIntegerEx& BytesWritten;
  79. //@}
  80. //! \name Categories: RecordingOptions
  81. //@{
  82. /*!
  83. \brief Sets the compression mode
  84. Sets the compression mode. You can choose whether to keep the bit rate or the quality of the resulting video stream constant.
  85. Visibility: Beginner
  86. */
  87. Pylon::IEnumParameterT<CompressionModeEnums>& CompressionMode;
  88. //@}
  89. //! \name Categories: Statistics
  90. //@{
  91. /*!
  92. \brief Number of frames written since starting the recording
  93. Visibility: Beginner
  94. */
  95. Pylon::IIntegerEx& FrameCount;
  96. //@}
  97. //! \name Categories: ImageParameters
  98. //@{
  99. /*!
  100. \brief Height of the image (in pixels)
  101. Visibility: Invisible
  102. */
  103. Pylon::IIntegerEx& Height;
  104. //@}
  105. //! \name Categories: RecordingOptions
  106. //@{
  107. /*!
  108. \brief Frame rate (in Hertz) of the video to be recorded
  109. Visibility: Beginner
  110. */
  111. Pylon::IFloatEx& PlaybackFrameRate;
  112. //@}
  113. //! \name Categories: RecordingOptions
  114. //@{
  115. /*!
  116. \brief Quality of the resulting compressed stream
  117. Quality of the resulting compressed stream. The quality has a direct influence on the resulting bit rate. The optimal bit rate is calculated based on the input values height, width, and playback frame rate (WIDTH * HEIGHT * PLAYBACKFRAMERATE * 0.25). This is then normalized to the quality value range 1-100, where 100 corresponds to the optimum bit rate and 1 to the lowest bit rate.
  118. Visibility: Beginner
  119. */
  120. Pylon::IFloatEx& Quality;
  121. //@}
  122. //! \name Categories: RecordingOptions
  123. //@{
  124. /*!
  125. \brief Number of threads used for recording the video
  126. Visibility: Expert
  127. */
  128. Pylon::IIntegerEx& ThreadCount;
  129. //@}
  130. //! \name Categories: ImageParameters
  131. //@{
  132. /*!
  133. \brief Width of the image (in pixels)
  134. Visibility: Invisible
  135. */
  136. Pylon::IIntegerEx& Width;
  137. //@}
  138. private:
  139. //! \cond HIDE_CLASS_METHODS
  140. //! not implemented copy constructor
  141. CVideoWriterParams_Params_v6_3_0(CVideoWriterParams_Params_v6_3_0&);
  142. //! not implemented assignment operator
  143. CVideoWriterParams_Params_v6_3_0& operator=(CVideoWriterParams_Params_v6_3_0&);
  144. //! \endcond
  145. };
  146. /*!
  147. \brief A parameter class containing all parameters as members that are available for Video Writer
  148. The parameter class is used by the \c Pylon::CVideoWriter class.
  149. The \c Pylon::CVideoWriter can be used to create video files in the MP4 format. The \ref sample_Utility_GrabVideo code sample shows the use of the Video Writer class.
  150. */
  151. class CVideoWriterParams_Params : public CVideoWriterParams_Params_v6_3_0
  152. {
  153. //----------------------------------------------------------------------------------------------------------------
  154. // Implementation
  155. //----------------------------------------------------------------------------------------------------------------
  156. protected:
  157. // If you want to show the following methods in the help file
  158. // add the string HIDE_CLASS_METHODS to the ENABLED_SECTIONS tag in the doxygen file
  159. //! \cond HIDE_CLASS_METHODS
  160. //! Constructor
  161. CVideoWriterParams_Params( void )
  162. {
  163. }
  164. //! Destructor
  165. ~CVideoWriterParams_Params( void )
  166. {
  167. }
  168. //! Initializes the references
  169. void _Initialize( GENAPI_NAMESPACE::INodeMap* pNodeMap )
  170. {
  171. CVideoWriterParams_Params_v6_3_0::_Initialize( pNodeMap );
  172. }
  173. //! \endcond
  174. };
  175. } // namespace Basler_VideoWriterParams
  176. #endif // BASLER_PYLON_VIDEOWRITERPARAMS_H