I set AsyncDepth = 1 but when start feed the Decode it may return NEED_MORE_DATA, it quite common at the beginning of several frames. Is there any possible to always force DecodeFraneAsync to output a frame when a frame is fed in? I want 10 frame feed in then 10 frame out, each time i call DecodeFrameAsync i pass one frame in and get one frame out. thx
and finally I want a more generic way to control Decode/VPP/Encode in sync way.
I need a transcode function which include decode/vpp/encode three feature. this function does following work: get a H264 frame and decode it as raw data, call VPP to change it size(resolution), call encode function to create new h264 frame. what I expected of this function is, when I pass a h264 frame in, I always a frame out, which mean the whole function is sync.. at moment, I saw the Intel sdk function only offer the async way, and when you feed a frame, the decodeFrameAsync may return NEED_MORE_DATA, you need keep feed frame to decodeFrameAsync to get something out . same thing happens for the EncodeFrameAsync function which not guarantee a raw data feed in will get a h264 frame out in the same step
Here is my transcode function looks like;
FrameOut TranscodeFunction( frame_in * )
raw_frame = decodeFrameAsync (frame_in);
resized_frame = vppFrameAsync(raw_frame);
out_frame = encodeFrameAsync(resized_frame);
Basically, One frame in, one frame out, Can Intel SDK support this way?