Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3073 Discussions

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

zheng_s_
Beginner
605 Views

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
zheng_s_
Beginner
605 Views

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?

0 Kudos
zheng_s_
Beginner
605 Views

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

0 Kudos
Reply