fix mode 0,1,2 for radio active fx

This commit is contained in:
veejay
2023-10-15 20:54:12 +02:00
parent 6f7062c0d8
commit ae0458e2dc

View File

@@ -312,31 +312,8 @@ void radioactivetv_apply( void *ptr, VJFrame *frame, VJFrame *blue, int *args )
//@ varying diff methods (strobe, normal, average, etc)
switch( mode )
{
case 0:
for( y = 0; y < len; y ++ ){
diff[y] = abs(lum[y] - prev[y]);
if(diff[y] < threshold )
diff[y] = 0;
prev[y] = (prev[y] + lum[y])>>1;
}
break;
case 1:
for( y = 0; y < len; y ++ ) {
diff[y] = abs(lum[y] - prev[y]);
if(diff[y] < threshold )
diff[y] = 0;
prev[y] = lum[y];
}
break;
case 2:
for( y = 0; y < len; y ++ ){
diff[y] = ( prev[y] >> 1 ) + (lum[y] >> 1);
if( diff[y] < threshold )
diff[y] = 0;
prev[y] = lum[y];
}
break;
case 3:
case 0:
for( y = 0; y < len; y ++ ) {
diff[y] = abs( lum[y] - prev[y] );
diff[y] = (prev[y] + lum[y] + lum[y] + lum[y])>>2;
@@ -346,6 +323,7 @@ void radioactivetv_apply( void *ptr, VJFrame *frame, VJFrame *blue, int *args )
}
break;
case 4:
case 1:
for( y = 0; y < len; y ++ ) {
diff[y] = abs( lum[y] - prev[y] );
diff[y] = (lum[y] - prev[y])>>1;
@@ -357,6 +335,7 @@ void radioactivetv_apply( void *ptr, VJFrame *frame, VJFrame *blue, int *args )
}
break;
case 5:
case 2:
for( y = 0; y < len; y ++ ) {
diff[y] = abs(lum[y] - prev[y]);
if(diff[y] < threshold )