This happens with any use of the hwmap filter in the derive_device 
configuration with input being HEVC decoded via dxva2 with dimensions that 
aren't 128-pixel-aligned and output being QSV; eg:
ffmpeg.exe -codec:0 hevc -hwaccel:0 dxva2 -hwaccel_output_format:0 dxva2_vld 
test.mkv -filter_complex 
'[0:0]hwmap=derive_device=qsv[0];[0]scale_qsv=format=nv12[1]' -map[1] -codec:0 
h264_qsv output.mkv

> On Sep 12, 2019, at 07:59, Li, Zhong <zhong...@intel.com> wrote:
> 
>> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Rodger
>> Combs
>> Sent: Thursday, September 12, 2019 11:59 AM
>> To: ffmpeg-devel@ffmpeg.org
>> Subject: [FFmpeg-devel] [PATCH] lavu/hwcontext_qsv: update crop width/height
>> when mapping frames
>> 
>> This fixes an issue where the context could be configured with one 
>> resolution, but
>> incoming frames could have another, and our output AVFrames wouldn't match
>> the underlying surfaces' resolution, which is usually the value that MFX 
>> code uses.
>> 
>> In particular, this would happen when mapping from DXVA2 decoders, since
>> DXVA2 aligns the width/height fields in its context to the required 
>> alignment for
>> the particular codec being used, and those values are then propagated into 
>> the
>> QSV context, rather than the crop dimensions.
>> ---
>> libavutil/hwcontext_qsv.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index
>> 8f9838d7d8..fe5a705c19 100644
>> --- a/libavutil/hwcontext_qsv.c
>> +++ b/libavutil/hwcontext_qsv.c
>> @@ -1031,8 +1031,8 @@ static int qsv_map_to(AVHWFramesContext *dst_ctx,
>>     if (err)
>>         return err;
>> 
>> -    dst->width   = src->width;
>> -    dst->height  = src->height;
>> +    hwctx->surfaces[i].Info.CropW = dst->width  = src->width;
>> +    hwctx->surfaces[i].Info.CropH = dst->height = src->height;
>>     dst->data[3] = (uint8_t*)&hwctx->surfaces[i];
>> 
>>     return 0;
>> --
>> 2.21.0
> 
> Patch looks good. 
> Could you please share detailed command line and clip to reproduce the issue?
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to