ffmpeg | branch: master | Paul B Mahol <[email protected]> | Sun May  1 19:57:44 
2022 +0200| [bdf01a9609e49ff602b38826420252356d98ba2a] | committer: Paul B Mahol

avfilter/vf_overlay: improve premultiplied alpha overlay for YUV

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bdf01a9609e49ff602b38826420252356d98ba2a
---

 libavfilter/vf_overlay.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index 685b6069a6..f560d54dae 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -538,12 +538,13 @@ static av_always_inline void 
blend_plane_##depth##_##nbits##bits(AVFilterContext
                     if (i && yuv)                                              
                            \
                         *d = av_clip((*d * (max - alpha) + *s * alpha) / max + 
*s - mid, -mid, mid) + mid; \
                     else                                                       
                            \
-                        *d = FFMIN((*d * (max - alpha) + *s * alpha) / max + 
*s, max);                     \
+                        *d = av_clip_uintp2((*d * (max - alpha) + *s * alpha) 
/ max + *s - (16<<(nbits-8)),\
+                                                                               
                     nbits);\
                 } else {                                                       
                            \
                     if (i && yuv)                                              
                            \
                         *d = av_clip(FAST_DIV255((*d - mid) * (max - alpha)) + 
*s - mid, -mid, mid) + mid; \
                     else                                                       
                            \
-                        *d = FFMIN(FAST_DIV255(*d * (max - alpha)) + *s, max); 
                            \
+                        *d = av_clip_uint8(FAST_DIV255(*d * (255 - alpha)) + 
*s - 16);                     \
                 }                                                              
                            \
             }                                                                  
                            \
             s++;                                                               
                            \

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to