Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
2935 Discussions

how to control the DecodeFrameAsync always get one frame out when feed one frame in?


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



0 Kudos
2 Replies

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);

        return out_frame


Basically, One frame in, one frame out,  Can Intel SDK support  this way?


if no B-Frame, what I  need do to let decodeFrameAsync (),   vppFrameAsync(),   encodeFrameAsync(). three function to support sync operation?  Can you give more details?