$NetBSD: patch-al,v 1.1 2007/12/01 21:33:26 rillig Exp $

Fixed "invalid lvalue". This code is similar to the code used in
vlc-0.8, but doesn't cast pointers to ptrdiff_t.

--- modules/video_filter/invert.c.orig	2004-04-23 20:02:22.000000000 +0000
+++ modules/video_filter/invert.c	2007-12-01 14:36:56.000000000 +0000
@@ -212,19 +212,25 @@ static void Render( vout_thread_t *p_vou
 
         for( ; p_in < p_in_end ; )
         {
+            uint64_t *p_in64, *p_out64;
+
             p_line_end = p_in + p_pic->p[i_index].i_visible_pitch - 64;
 
+            p_in64 = (uint64_t *)p_in;
+            p_out64 = (uint64_t *)p_out;
             for( ; p_in < p_line_end ; )
             {
                 /* Do 64 pixels at a time */
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
-                *((uint64_t*)p_out)++ = ~( *((uint64_t*)p_in)++ );
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                *p_out64++ = ~(*p_in64++);
+                p_in += 64;
+                p_out += 64;
             }
 
             p_line_end += 64;
