diff --git a/plugins/brightness/brightness.C b/plugins/brightness/brightness.C
index fd75cb7..49fac5d 100644
--- a/plugins/brightness/brightness.C
+++ b/plugins/brightness/brightness.C
@@ -53,6 +53,8 @@ int BrightnessMain::process_realtime(long size, VFrame **input_ptr, VFrame **out
 		{
 // Use int since brightness is also subtractive.
 			int offset = (int)(brightness / 100 * VMAX);
+#pragma omp parallel for private(j,k,r,g,b)  \
+schedule(dynamic) collapse(2)
 			for(j = 0; j < project_frame_h; j++)
 			{
 				for(k = 0; k < project_frame_w; k++)
@@ -83,7 +85,8 @@ int BrightnessMain::process_realtime(long size, VFrame **input_ptr, VFrame **out
 // Floating point math.
 				float scalar = contrast_f;
 				float offset = VMAX / 2 - (VMAX * scalar) / 2;
-
+#pragma omp parallel for private(j,k,r,g,b)  \
+schedule(dynamic) collapse(2)
 				for(j = 0; j < project_frame_h; j++)
 				{
 					for(k = 0; k < project_frame_w; k++)
@@ -107,7 +110,8 @@ int BrightnessMain::process_realtime(long size, VFrame **input_ptr, VFrame **out
 				int r, g, b;
 				int scalar = (int)(contrast_f * 0x100);
 				int offset = VMAX * 0x100 / 2 - (VMAX * scalar) / 2;
-
+#pragma omp parallel for private(j,k,r,g,b)  \
+schedule(dynamic) collapse(2)
 				for(j = 0; j < project_frame_h; j++)
 				{
 					for(k = 0; k < project_frame_w; k++)
@@ -135,6 +139,8 @@ int BrightnessMain::process_realtime(long size, VFrame **input_ptr, VFrame **out
 // Data never processed so copy if necessary
 		if(!buffers_identical(0))
 		{
+#pragma omp parallel for private(j,k)  \
+schedule(dynamic) collapse(2)
 			for(j = 0; j < project_frame_h; j++)
 			{
 				for(k = 0; k < project_frame_w; k++)
