Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ramakrishna_A_
Beginner
56 Views

FFMPEG freeze when QSV encoding used

 

FFMPEG randomly freezes if QSV is used for 1920x1080p encoding, it works fine for 720p. If I run the same command in 10 iterations or so, it freezes at particular iteration. Sometimes it may freeze at first iteration.

At the point of freeze, the value of  "sync" LSB value kept on increasing, for example 0x1001, 0x1402  , and 0x1803  . It seems the MSB increment is expected. Does anyone help to interpret these values?

MFXVideoENCODE_EncodeFrameAsync(q->session, NULL, surf, bs, &sync);

 

 

0 Kudos
3 Replies
56 Views

Hi Ramakrishna, 

So, we can isolate the issue to FFMPEG vs QSV (MediaSDK HW acceleration). Can you install and run sample_encode (https://software.intel.com/sites/default/files/managed/b7/7e/MediaSamples_Windows_2016.msi) and let us know if you observe similar behavior. Let me know your findings?

Thanks,

 

Ramakrishna_A_
Beginner
56 Views

Hi Harsh,

I did run sample_encode and observe no issues in that. I have been trying, for almost a week, to find the cause for random freeze behavior in ffmpeg. But, no luck so far. What I posted earlier is the only clue that I got.

Below is the critical part of the code, in ffmpeg, which is causing random freeze,

    do {
        ret = MFXVideoENCODE_EncodeFrameAsync(q->session, enc_ctrl, surf, bs, &sync);
        if (ret == MFX_WRN_DEVICE_BUSY) {
            av_usleep(500);
            continue;
        }
        break;
    } while ( 1 );

The return status of "MFXVideoENCODE_EncodeFrameAsync(q->session, NULL, surf, bs, &sync);" is "busy" indefinitely at the time of freeze. As the return status is "busy" always, the loop is not hitting the break condition.

Just to give you more background, I have matched the input parameters between Intel SDK's "sample_encode" and ffmpeg. Also, output is from both applications is almost matching, except for SEI meta data. SEI data doesn't look to be causing the issue.

There is one similar issue filed in ffmpeg bug tracker. https://trac.ffmpeg.org/ticket/4832

56 Views

Hi Ramakrishna, 

Thank you for testing and sharing your findings. As, sample_encode works with out any issue, we can confirm no issue with QSV (HW acceleration). FFMPEG is a open source software and integration of msdk to ffmpeg is completely handled by the ffmpeg community, here issue could be in msdk integration to ffmpeg.  I suggest directing this issue (https://ffmpeg.org/bugreports.html) and posting on ffmpeg forum. In meantime, I will escalate this issue internally to ffmpeg too.  

Thanks,