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".

Reply via email to