ISVP-SDK  3.12.0
Ingenic Smart Video Platform SDK
imp_decoder.h
Go to the documentation of this file.
1 /*
2  * IMP Decoder func header file.
3  *
4  * Copyright (C) 2014 Ingenic Semiconductor Co.,Ltd
5  */
6 
7 #ifndef __IMP_DECODER_H__
8 #define __IMP_DECODER_H__
9 
10 #include <stdint.h>
11 #include <stdbool.h>
12 
13 #ifdef __cplusplus
14 #if __cplusplus
15 extern "C"
16 {
17 #endif
18 #endif /* __cplusplus */
19 
35 typedef struct {
37  uint32_t maxWidth;
38  uint32_t maxHeight;
40  uint32_t nrKeepStream;
41  uint32_t frmRateNum;
42  uint32_t frmRateDen;
44 
48 typedef struct {
51 
55 typedef struct {
56  int i_payload;
57  uint8_t *p_payload;
58  int64_t timeStamp;
60 
64 typedef struct {
67 
82 int IMP_Decoder_CreateChn(int decChn, const IMPDecoderCHNAttr *attr);
83 
97 int IMP_Decoder_DestroyChn(int decChn);
98 
113 int IMP_Decoder_StartRecvPic(int decChn);
114 
129 int IMP_Decoder_StopRecvPic(int decChn);
130 
147 int IMP_Decoder_SendStreamTimeout(int decChn, IMPDecoderStream *stream, uint32_t timeoutMsec);
148 
165 int IMP_Decoder_PollingFrame(int decChn, uint32_t timeoutMsec);
166 
184 int IMP_Decoder_GetFrame(int decChn, IMPFrameInfo **frame);
185 
201 int IMP_Decoder_ReleaseFrame(int decChn, IMPFrameInfo *frame);
202 
207 #ifdef __cplusplus
208 #if __cplusplus
209 }
210 #endif
211 #endif /* __cplusplus */
212 
213 #endif /* __IMP_DECODER_H__ */
uint8_t * p_payload
Pointer to decode frame.
Definition: imp_decoder.h:57
uint32_t nrKeepStream
Number of frames in Decoder FIFO.
Definition: imp_decoder.h:40
Attribute of Decoder.
Definition: imp_decoder.h:35
int IMP_Decoder_DestroyChn(int decChn)
Destroy Decoder channel.
int IMP_Decoder_ReleaseFrame(int decChn, IMPFrameInfo *frame)
Release the decoded output frame.
uint32_t frmRateNum
The number of time units within a second, time unitis its unit.
Definition: imp_decoder.h:41
uint32_t maxWidth
Max width of frame.
Definition: imp_decoder.h:37
Attribute of decode frame.
Definition: imp_decoder.h:55
IMPPayloadType
Encoding and decoding protocol type.
Definition: imp_common.h:82
int IMP_Decoder_SendStreamTimeout(int decChn, IMPDecoderStream *stream, uint32_t timeoutMsec)
Send frame to Decoder channel.
IMP frame image information definition.
Definition: imp_common.h:54
IMPPayloadType decType
Stream payload type.
Definition: imp_decoder.h:36
int IMP_Decoder_CreateChn(int decChn, const IMPDecoderCHNAttr *attr)
Create Decoder channel.
Attribute of decode stream.
Definition: imp_decoder.h:64
Attribute of Decoder Channel.
Definition: imp_decoder.h:48
IMPPixelFormat pixelFormat
Pixel format of Output frame.
Definition: imp_decoder.h:39
int i_payload
Length of decode frame.
Definition: imp_decoder.h:56
uint32_t maxHeight
Max hight of frame.
Definition: imp_decoder.h:38
uint32_t frmRateDen
The number of time units in a frame, time unit is its unit.
Definition: imp_decoder.h:42
IMPDecoderNal decoderNal
decode stream data structure
Definition: imp_decoder.h:65
int IMP_Decoder_StartRecvPic(int decChn)
Decoder channel start recieve pictures.
int64_t timeStamp
Timestamp of decode frame.
Definition: imp_decoder.h:58
IMPPixelFormat
IMP image format definition.
Definition: imp_common.h:90
int IMP_Decoder_GetFrame(int decChn, IMPFrameInfo **frame)
Get the decoded output frame.
int IMP_Decoder_PollingFrame(int decChn, uint32_t timeoutMsec)
Polling Decoder channel, return when decoding finished or timeout.
int IMP_Decoder_StopRecvPic(int decChn)
Decoder channel stop recieve pictures.
IMPDecoderAttr decAttr
Decoder attribute.
Definition: imp_decoder.h:49