mirror of
https://github.com/xdsopl/robot36.git
synced 2025-12-06 07:12:07 +01:00
do not overwrite user blur setting on mode change
This commit is contained in:
parent
14a5c7b185
commit
ae35d841d3
|
|
@ -23,12 +23,12 @@ limitations under the License.
|
|||
|
||||
void incr_blur()
|
||||
{
|
||||
blur_power = blur_power < 6 ? blur_power + 1 : blur_power;
|
||||
user_blur = user_blur < 6 ? user_blur + 1 : user_blur;
|
||||
}
|
||||
|
||||
void decr_blur()
|
||||
{
|
||||
blur_power = blur_power >= 0 ? blur_power - 1 : blur_power;
|
||||
user_blur = user_blur >= 0 ? user_blur - 1 : user_blur;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ static uchar value_blur(int pixel, int begin, int end)
|
|||
int i = p & buffer_mask;
|
||||
int weight_sum = 0;
|
||||
int value_sum = 0;
|
||||
switch (blur_power) {
|
||||
switch (blur_power + user_blur) {
|
||||
case 0:
|
||||
if ((p-1) < begin || end <= (p+1) || (i-1) < 0 || buffer_length <= (i+1)) {
|
||||
if (begin <= (p-1)) {
|
||||
|
|
@ -741,6 +741,7 @@ static uchar value_blur(int pixel, int begin, int end)
|
|||
8 * value_buffer[i+32] +
|
||||
6 * value_buffer[i+33]) >> 14;
|
||||
case 6:
|
||||
default:
|
||||
if ((p-65) < begin || end <= (p+65) || (i-65) < 0 || buffer_length <= (i+65)) {
|
||||
if (begin <= (p-65)) {
|
||||
weight_sum += 3;
|
||||
|
|
@ -1399,8 +1400,6 @@ static uchar value_blur(int pixel, int begin, int end)
|
|||
4 * value_buffer[i+63] +
|
||||
3 * value_buffer[i+64] +
|
||||
3 * value_buffer[i+65]) >> 14;
|
||||
default:
|
||||
return value_buffer[i];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ void toggle_debug() { debug_mode ^= 1; }
|
|||
|
||||
void raw_mode()
|
||||
{
|
||||
blur_power = -1;
|
||||
blur_power = 0;
|
||||
*current_mode = mode_raw;
|
||||
current_decoder = decoder_raw;
|
||||
freerun_height = maximum_height;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ static int disable_analyzer;
|
|||
static int automatic_mode_detection;
|
||||
static int debug_mode;
|
||||
static int current_decoder;
|
||||
static int blur_power, free_running;
|
||||
static int user_blur, blur_power, free_running;
|
||||
static int sample_rate, sync_pos, prev_sync_pos;
|
||||
static int maximum_variance, maximum_absolute_deviaton;
|
||||
static int minimum_sync_length;
|
||||
|
|
|
|||
|
|
@ -63,11 +63,14 @@ int main()
|
|||
printf("\tint i = p & buffer_mask;\n");
|
||||
printf("\tint weight_sum = 0;\n");
|
||||
printf("\tint value_sum = 0;\n");
|
||||
printf("\tswitch (blur_power) {\n");
|
||||
for (int i = 0; i < 7; ++i) {
|
||||
printf("\tswitch (blur_power + user_blur) {\n");
|
||||
int max_power = 6;
|
||||
for (int i = 0; i <= max_power; ++i) {
|
||||
printf("\tcase %d:\n", i);
|
||||
if (i == max_power)
|
||||
printf("\tdefault:\n");
|
||||
emit((1 << i) | 1);
|
||||
}
|
||||
printf("\tdefault:\n\t\treturn value_buffer[i];\n\t}\n\treturn 0;\n}\n");
|
||||
printf("\t}\n\treturn 0;\n}\n");
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue