This path fixing scale2ref filter if reference frame is HW frame.Command for add watermark (resize it based on the main/reference video size: [watermark][scaled]scale2ref=oh*mdar:ih*0.5[watermark2][scaled2] ) on video in case of HW pipeline:>./ffmpeg -init_hw_device cuda=cuda -hwaccel cuda -hwaccel_output_format cuda -filter_hw_device cuda -i input -t 60 -filter_complex scale_npp=1920:1080:format=yuv420p[scaled],movie=/media/converter/watermark/watermark_ai.png,format=yuva420p[watermark],[watermark][scaled]scale2ref=oh*mdar:ih*0.5[watermark2][scaled2],[watermark2]hwupload[watermark_hw],[scaled2][watermark_hw]overlay_cuda=x=0:y=0 -c:v h264_nvenc -an -y out.mp4
Command for add watermark on video in case of SW pipeline:>./ffmpeg -i input.mp4 -t 60 -filter_complex scale=1920:1080,format=yuv420p[scaled],movie=/media/converter/watermark/watermark_ai.png,format=yuva420p[watermark],[watermark][scaled]scale2ref=oh*mdar:ih*0.5[watermark2][scaled2],[scaled2][watermark2]overlay=x=0:y=0 -c:v h264 -an -y out.mp4 Signed-off-by: alex_qt <3.1...@ukr.net> --- libavfilter/vf_scale.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 58eee96744..6b587e8cd4 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -609,7 +609,9 @@ static int config_props_ref(AVFilterLink *outlink) outlink->sample_aspect_ratio = inlink->sample_aspect_ratio; outlink->time_base = inlink->time_base; outlink->frame_rate = inlink->frame_rate; - + if (inlink->hw_frames_ctx) { + outlink->hw_frames_ctx = av_buffer_ref(inlink->hw_frames_ctx); + } return 0; }
_______________________________________________ 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".