typedef struct {
UInt32 reserved;
/**< Used internally, USER MUST NOT MODIFY THIS VALUE */
VENC_CHN chnId;
/**< Encoder/Decoder channel ID 0..(VENC_CHN_MAX-1) */
VENC_STRM strmId;
/**< Encoder stream ID, not valid for decoder, 0..(VENC_STRM_MAX-1) */
VCODEC_TYPE_E codecType;
/**< Video compression format */
VCODEC_FRAME_TYPE_E frameType;
/**< Compressed frame type */
UInt32 bufSize;
/**< Size of buffer, in bytes */
UInt32 filledBufSize;
/**< Actual size of bistream in buffer, in bytes */
………
后面的成员省略
} VCODEC_BITSBUF_S;
ti_venc.h
/** Maximum Video Encode channels */
#define VENC_PRIMARY_CHANNELS (16)
#define VENC_CHN_MAX (3*VENC_PRIMARY_CHANNELS) /* If secondary output is enabled, there will be 16+16+16 channels */
8148上编码后从A8上获得的chnId为什么能达到20多呢,实际上我们的设备只有8个输入通道的,如果没问题,这个chnId和设备通道是什么样的对应关系?
Ternence_Hsu:
你好;
在mcfw中,有chnid还有strmid,采集数据后可以通过dup、merge、dei等模块处理后,一个stream里面可以达到20路甚至更多的通道流;
具体可以看看代码
user1808707:
回复 Ternence_Hsu:
想知道这个chnId和哪个输入通道以及对应的主码流,子码流,第3码流,有什么样的对应关系,说白了就是在A8上通过这个获取到的chnId怎么知道这个值是哪个设备通道的主码流还是子码流还是3码流?
Ternence_Hsu:
回复 user1808707:
这个码流的对应关系需要对照Usecase里面的设计来分析
user1808707:
回复 Ternence_Hsu:
能否举个例子来说明下呢
user1808707:
回复 Ternence_Hsu:
能否举个例子来说明下呢
user1808707:
回复 Ternence_Hsu:
能否举个例子说明下
Ternence_Hsu:
回复 user1808707:
http://blog.csdn.net/crushonme/article/details/11591839
Ternence_Hsu:
回复 user1808707:
queid 、chid 、channel的对应关系
/* make capture driver channelNum */ static inline UInt32 CaptureLink_makeChannelNum(UInt32 queId, UInt32 queChId) {return CAPTURE_LINK_MAX_CH_PER_OUT_QUE * queId + queChId; }/* extract que ID from capture driver channelNum */ static inline UInt32 CaptureLink_getQueId(UInt32 channelNum) {return channelNum / CAPTURE_LINK_MAX_CH_PER_OUT_QUE; }/* extract que CH ID from capture driver channelNum */ static inline UInt32 CaptureLink_getQueChId(UInt32 channelNum) {return channelNum % CAPTURE_LINK_MAX_CH_PER_OUT_QUE; }