大家好,我用DM8168的开发板测试解码H264的流的时候,发现1920*1080p的可以正常解码,但是1920*1080i的确不能解码,请问是不支持吗?还是要做其他设置,另外,即使好多能够解码的,比如一些标清,B帧送到HDMI显示顺序不对,他是按照解码出来的顺序送的,但是显然有些不对,请问,有解决办法吗?
Feng Dong:
请检查解码参数是否设置正确.
ipanda:
回复 Feng Dong:
感谢Feng Dong的回复,我查阅代码,找到Decoder的CreateParams有如下设置,但是我尝试设置修改了几个并没有效果,请问哪几个是?
typedef struct DecLink_ChCreateParams{ UInt32 format; /**< Codec profile */ Int32 profile; /**< Video coding format */ Int32 targetMaxWidth; /**< Target frame width of the decoder */ Int32 targetMaxHeight; /**< Target frame height of the decoder */ Int32 displayDelay; /**< Max number of frames delayed by decoder */ DecLink_ChDynamicParams defaultDynamicParams; /**< default dynamic params for decoder */ UInt32 fieldMergeDecodeEnable; /**< Enable this option to decode 2 fields in same Decode link call * ie. both Top & Bottom field in same ouput buffer with Top filed * followed by bottom field data in field seperated mode */ UInt32 processCallLevel; /**< Specifies if process call is done frame level or field level */ UInt32 numBufPerCh; /**< Number of buffer to allocate per channel */ Int32 dpbBufSizeInFrames; /**< Size of the decoder picture buffer.If application * knows the max number of reference frames in the * stream to be fed to the decoder, it can set this * value to enable reduced memory consumption. * Application should set this value to default * if it doesn't care about this parameter */ UInt32 algCreateStatus; /**< App can only configure this variable with two below values * DEC_LINK_ALG_CREATE_STATUS_DONOT_CREATE -> 0 * DEC_LINK_ALG_CREATE_STATUS_CREATE -> 1 * If 0: Only the partial channel get created, neither codec instance * nor the output buffers will be get created. App will be * able to make this channel fully functional dynamically by * calling DEC_LINK_CMD_CREATE_CHANNEL API * If 1: Fully functional channel will be created with Both codec * instance and the output buffers created, reday to operate */} DecLink_ChCreateParams;