- if(aggregate_interpolation || aggregate_gamma || aggregate_colorbalance)
- shader_stack[current_shader++] = histogram_get_pixel1;
- else
- shader_stack[current_shader++] = histogram_get_pixel2;
-
- unsigned int shader = 0;
- switch(get_output()->get_color_model())
- {
- case BC_YUV888:
- case BC_YUVA8888:
- shader_stack[current_shader++] = head_frag;
- shader_stack[current_shader++] = get_yuv_frag;
- shader_stack[current_shader++] = apply_histogram_frag;
- shader_stack[current_shader++] = put_yuv_frag;
- break;
- default:
- shader_stack[current_shader++] = head_frag;
- shader_stack[current_shader++] = get_rgb_frag;
- shader_stack[current_shader++] = apply_histogram_frag;
- shader_stack[current_shader++] = put_rgb_frag;
- break;
- }
+ shader_stack[current_shader++] = head_frag;
+ shader_stack[current_shader++] = BC_CModels::is_yuv(get_output()->get_color_model()) ?
+ get_yuv_frag : get_rgb_frag;
+ shader_stack[current_shader++] = apply_histogram_frag;
+ shader_stack[current_shader++] = BC_CModels::is_yuv(get_output()->get_color_model()) ?
+ put_yuv_frag : put_rgb_frag;