Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 697

How much data I should pass to BS for better performance?

$
0
0

 I have video editing application and using Intel MSDK 2017.0.1 for decoding the frames (Hardware acceleration). I have my own demuxer that is actually feeding encoded bits to decoder. I know that  my demuxer/splitter can provide the input bitstream as one complete frame of data, less than one frame (a partial frame), or multiple frames. 

I want to weigh two options here : 

1) Providing only single frame of encoded data to the decoder and asking decoder to return me the single frame. This I have achieved by setting AsyncDepth Bit to one and setting MFX_STREAM_COMPLETE_FRAME data flag in mfxBS. Please note that for this DecodeFrameAsync API was returning MFX_ERR_MORE_DATA first time I call with single frame of encoded data and then I had to explicit call DecodeFrameAsync with NULL as BS input, then decoder returned me MFX_ERR_NONE and then I fetched the decoded frame.

2) Second option is to provide the decoder as much input encoded data it is asking and let it buffer internally and finally calling SyncOperation once DecodeFrameAsync API returns MFX_ERR_NONE.

I want to know when to use which option. In what scenarios I should use the first and when I should use the approach second?


Viewing all articles
Browse latest Browse all 697

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>