err = MFXVideoVPP_Init(*session, &par);
if (err != MFX_ERR_NONE) {
- av_log(ctx, AV_LOG_ERROR, "Error opening the internal VPP session\n");
- return AVERROR_UNKNOWN;
+ av_log(ctx, AV_LOG_VERBOSE, "Error opening the internal VPP session."
+ "Surface upload/download will not be possible\n");
+ MFXClose(*session);
+ *session = NULL;
}
return 0;
mfxSyncPoint sync = NULL;
mfxStatus err;
+ if (!s->session_download) {
+ av_log(ctx, AV_LOG_ERROR, "Surface download not possible\n");
+ return AVERROR(ENOSYS);
+ }
+
out.Info = in->Info;
out.Data.PitchLow = dst->linesize[0];
out.Data.Y = dst->data[0];
mfxSyncPoint sync = NULL;
mfxStatus err;
+ if (!s->session_upload) {
+ av_log(ctx, AV_LOG_ERROR, "Surface upload not possible\n");
+ return AVERROR(ENOSYS);
+ }
+
in.Info = out->Info;
in.Data.PitchLow = src->linesize[0];
in.Data.Y = src->data[0];