libavutil/hwcontext_amf: add format validation in transfer_data functions
This commit is contained in:
parent
e5d62e20c8
commit
5b460bde8b
1 changed files with 6 additions and 0 deletions
|
|
@ -277,6 +277,9 @@ static int amf_transfer_data_to(AVHWFramesContext *ctx, AVFrame *dst,
|
|||
int w = FFMIN(dst->width, src->width);
|
||||
int h = FFMIN(dst->height, src->height);
|
||||
|
||||
if (dst->hw_frames_ctx->data != (uint8_t *)ctx || src->format != ctx->sw_format)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
if (!surface) {
|
||||
AVHWDeviceContext *hwdev_ctx = ctx->device_ctx;
|
||||
AVAMFDeviceContext *amf_device_ctx = (AVAMFDeviceContext *)hwdev_ctx->hwctx;
|
||||
|
|
@ -319,6 +322,9 @@ static int amf_transfer_data_from(AVHWFramesContext *ctx, AVFrame *dst,
|
|||
int h = FFMIN(dst->height, src->height);
|
||||
int ret;
|
||||
|
||||
if (src->hw_frames_ctx->data != (uint8_t *)ctx || dst->format != ctx->sw_format)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
ret = surface->pVtbl->Convert(surface, AMF_MEMORY_HOST);
|
||||
AMF_RETURN_IF_FALSE(ctx, ret == AMF_OK, AVERROR_UNKNOWN, "Convert(amf::AMF_MEMORY_HOST) failed with error %d\n", AVERROR_UNKNOWN);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue