[vlc-commits] Support field plane_t's in plane_CopyPixels

Juha Jeronen git at videolan.org
Mon Mar 21 16:52:27 CET 2011


vlc | branch: master | Juha Jeronen <juha.jeronen at jyu.fi> | Tue Mar 15 22:45:17 2011 +0200| [d972072128726c754ac4ea66b350a60d5a894a67] | committer: Rémi Denis-Courmont

Support field plane_t's in plane_CopyPixels

Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>

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

 src/misc/picture.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/misc/picture.c b/src/misc/picture.c
index 43e71d0..b63f843 100644
--- a/src/misc/picture.c
+++ b/src/misc/picture.c
@@ -290,7 +290,12 @@ void plane_CopyPixels( plane_t *p_dst, const plane_t *p_src )
     const unsigned i_height = __MIN( p_dst->i_visible_lines,
                                      p_src->i_visible_lines );
 
-    if( p_src->i_pitch == p_dst->i_pitch )
+    /* The 2x visible pitch check does two things:
+       1) Makes field plane_t's work correctly (see the deinterlacer module)
+       2) Moves less data if the pitch and visible pitch differ much.
+    */
+    if( p_src->i_pitch == p_dst->i_pitch  &&
+        p_src->i_pitch < 2*p_src->i_visible_pitch )
     {
         /* There are margins, but with the same width : perfect ! */
         vlc_memcpy( p_dst->p_pixels, p_src->p_pixels,



More information about the vlc-commits mailing list