1 
2 /**
3   * @file     	WrapperIHaasVideoCodec.h
4   * @author   	HaasAI Group
5   * @version	V1.0.0
6   * @date    	2021-01-10
7   * @license  	GNU General Public License (GPL)
8   * @brief
9   * @attention
10   *  This file is part of HaasAI.                                \n
11   *  This program is free software; you can redistribute it and/or modify 		\n
12   *  it under the terms of the GNU General Public License version 3 as 		    \n
13   *  published by the Free Software Foundation.                               	\n
14   *  You should have received a copy of the GNU General Public License   		\n
15   *  along with HaasAI. If not, see <http://www.gnu.org/licenses/>.       			\n
16   *  Unless required by applicable law or agreed to in writing, software       	\n
17   *  distributed under the License is distributed on an "AS IS" BASIS,         	\n
18   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  	\n
19   *  See the License for the specific language governing permissions and     	\n
20   *  limitations under the License.   											\n
21   *   																			\n
22   * @htmlonly
23   * <span style="font-weight: bold">History</span>
24   * @endhtmlonly
25   * Version|Author|Date|Describe
26   * ------|----|------|--------
27   * V1.0|HaasAI Group|2021-01-10|Create File
28   * <h2><center>&copy;COPYRIGHT 2021 WELLCASA All Rights Reserved.</center></h2>
29   */
30 #ifndef WRAPPER_IHAAS_VIDEO_CODEC_H
31 #define WRAPPER_IHAAS_VIDEO_CODEC_H
32 
33 #include "base/include/base/HaasCommonVideo.h"
34 #include "base/include/base/HaasCommonImage.h"
35 #include "base/include/base/HaasVideoCodecDef.h"
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40     void* VideoCodecCreateInstance(VideoCodecType_t type);
41     void VideoCodecDestoryInstance(void* instance);
42 	int VideoCodecOpen(void* instance);
43 	int VideoCodecClose(void* instance);
44 	int VideoCodecDecodeConfig(void* instance, DecodeConfig_t* config);
45 	int VideoCodecStartDecode(void* instance);
46 	int VideoCodecStopDecode(void* instance);
47 	int VideoCodecGetDecodeImageData(void* instance, void *pkt, ImageBuffer_t** image);
48 	int VideoCodecEncodeConfig(void* instance, EncodeConfig_t* config);
49 	int VideoCodecStartEncode(void* instance);
50 	int VideoCodecStopEncode(void* instance);
51 	int VideoCodecGetEncodePacketData(void* instance, VideoPacket_t **data);
52 
53 #ifdef __cplusplus
54 };
55 #endif
56 
57 #endif
58