[vlc-commits] chroma: cvpx: fix SW_TO_CVPX_Filter()

Thomas Guillem git at videolan.org
Tue Jan 16 12:13:00 CET 2018


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Jan 16 09:46:40 2018 +0100| [8ec68f1f424c5c483b3cd1c1f41b9882294fefe2] | committer: Thomas Guillem

chroma: cvpx: fix SW_TO_CVPX_Filter()

Regression from 44fdc78bc52fd784175fb5f1bb9e865382439ab

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8ec68f1f424c5c483b3cd1c1f41b9882294fefe2
---

 modules/video_chroma/cvpx.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/modules/video_chroma/cvpx.c b/modules/video_chroma/cvpx.c
index a111468328..88238f4020 100644
--- a/modules/video_chroma/cvpx.c
+++ b/modules/video_chroma/cvpx.c
@@ -129,11 +129,13 @@ static picture_t *SW_TO_CVPX_Filter(filter_t *p_filter, picture_t *src)
         return NULL;
     }
 
-    /* Copy pixels to the CVPX backed picture */
-    picture_CopyPixels(mapped_dst, src);
+    /* Copy pixels to the CVPX backed picture. Don't use picture_CopyPixels()
+     * since we want to handle the context ourself. */
+    for( int i = 0; i < src->i_planes ; i++ )
+        plane_CopyPixels( mapped_dst->p+i, src->p+i );
 
     /* Attach the CVPX to a new opaque picture */
-    cvpxpic_attach(dst, (void *)mapped_dst->p_sys);
+    cvpxpic_attach(dst, cvpxpic_get_ref(mapped_dst));
 
     /* Unlock and unmap the dst picture */
     picture_Release(mapped_dst);



More information about the vlc-commits mailing list