[FFmpeg-trac] #4831(avcodec:reopened): Can't initialize h264_qsv encoder post Aug 29 2015 - Ivy Bridge CPU
FFmpeg
trac at avcodec.org
Tue Oct 6 14:05:38 CEST 2015
#4831: Can't initialize h264_qsv encoder post Aug 29 2015 - Ivy Bridge CPU
-------------------------------------+-------------------------------------
Reporter: babgvant | Owner: IvUs
Type: defect | Status: reopened
Priority: important | Component: avcodec
Version: git-master | Resolution:
Keywords: qsv | Blocked By:
regression | Reproduced by developer: 0
Blocking: |
Analyzed by developer: 1 |
-------------------------------------+-------------------------------------
Comment (by babgvant):
Probably not best to pass q->param to in & out. I noticed a couple other
things: MFX_ERR_INVALID_VIDEO_PARAM is a valid return value and doesn't
indicate failure (indicates that issues were corrected in out), and q->req
(arg passed to QueryIOSurf) doesn't appear to be used later (it suggest
how many surfaces should be allocated per function), but I could have
missed it.
Also, while Query can correct many things it appears that the rate control
method isn't one of them, so that will need to be handled manually. Either
by informing the user, or reconfiguring encoding params manually.
[code]
ret = MFXVideoENCODE_Query(q->session, &q->param, &outParam);
if (MFX_ERR_INVALID_VIDEO_PARAM==ret) {
av_log(avctx, AV_LOG_WARNING, "Encoder settings have been
corrected\n");
} else if (ret < 0) {
if (q->look_ahead) {
av_log(avctx, AV_LOG_ERROR, "Error querying encoder params.
Try adding -look_ahead 0 to the cmdline\n");
} else {
av_log(avctx, AV_LOG_ERROR, "Error querying encoder
params.\n");
}
return ff_qsv_error(ret);
}
ret = MFXVideoENCODE_Init(q->session, &outParam);
[/code]
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4831#comment:42>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list