ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VLIB / Stages / vlib_stage_encode.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VLIB/Stages/vlib_stage_encode.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VLIB/Stages/vlib_stage_encode.h
new file mode 100644 (file)
index 0000000..5d12663
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+ *  \brief    VLIB Stage
+ *  \author   Sylvain Gaeremynck <sylvain.gaeremynck@parrot.fr>
+ *  \version  1.0
+ *  \date     first release 05/01/2009
+ */
+
+#ifndef _VLIB_STAGE_ENCODE_H_
+#define _VLIB_STAGE_ENCODE_H_
+
+#include <VP_Api/vp_api.h>
+
+#include <VLIB/video_codec.h>
+
+///////////////////////////////////////////////
+// DECLARATIONS
+
+enum {
+ VLIB_ENCODER
+};
+
+extern const vp_api_stage_funcs_t vlib_encoding_funcs;
+
+
+///////////////////////////////////////////////
+// TYPEDEFS
+
+typedef struct _vlib_stage_encoding_config_t
+{
+  uint32_t          subsampl;
+  uint32_t                     target_size;
+
+  uint32_t          width;
+  uint32_t          height;
+
+  video_controller_t controller;
+  vp_api_picture_t*  picture;
+
+  uint32_t          current_size;
+
+  bool_t            block_mode_enable;
+
+  uint32_t        codec_type;
+
+} vlib_stage_encoding_config_t;
+
+
+///////////////////////////////////////////////
+// FUNCTIONS
+
+/**
+ * @fn      vlib_stage_encoding_open
+ * @param   vlib_stage_encoding_config_t *cfg
+ * @todo    Open the encoding vlib stage
+ * @return  VP_SUCCESS
+ */
+C_RESULT vlib_stage_encoding_open(vlib_stage_encoding_config_t *cfg);
+
+
+/**
+ * @fn      Transform the input com stage
+ * @param   vlib_stage_encoding_config_t *cfg
+ * @param   vp_api_io_data_t *in
+ * @param   vp_api_io_data_t *out
+ * @todo    Encode picture in config to fill output data stream
+ * @return  VP_SUCCESS
+ */
+C_RESULT vlib_stage_encoding_transform(vlib_stage_encoding_config_t *cfg, vp_api_io_data_t *in, vp_api_io_data_t *out);
+
+/**
+ * @fn      vlib_stage_encoding_close
+ * @param   vlib_stage_encoding_config_t *cfg
+ * @todo    Close the encoding stage
+ * @return  VP_SUCCESS
+ */
+C_RESULT vlib_stage_encoding_close(vlib_stage_encoding_config_t *cfg);
+
+#endif // _vlib_STAGE_ENCODE_H_