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>©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