+ if ( resource && resource[0] )
+ {
+ char *old_luma = mlt_properties_get( properties, "_luma" );
+ int old_invert = mlt_properties_get_int( properties, "_luma_invert" );
+
+ if ( invert != old_invert || ( old_luma && old_luma[0] && strcmp( resource, old_luma ) ) )
+ {
+ mlt_properties_set_data( properties, "_luma.orig_bitmap", NULL, 0, NULL, NULL );
+ luma_bitmap = NULL;
+ }
+ }
+ else {
+ char *old_luma = mlt_properties_get( properties, "_luma" );
+ if ( old_luma && old_luma[0] )
+ {
+ mlt_properties_set_data( properties, "_luma.orig_bitmap", NULL, 0, NULL, NULL );
+ luma_bitmap = NULL;
+ mlt_properties_set( properties, "_luma", NULL);
+ }
+ }
+
+ if ( resource && resource[0] && ( luma_bitmap == NULL || luma_width != width || luma_height != height ) )