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()
|
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()
|
void decr_blur()
|
||||||
{
|
{
|
||||||
blur_power = blur_power >= 0 ? blur_power - 1 : blur_power;
|
user_blur = user_blur >= 0 ? user_blur - 1 : user_blur;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ static uchar value_blur(int pixel, int begin, int end)
|
||||||
int i = p & buffer_mask;
|
int i = p & buffer_mask;
|
||||||
int weight_sum = 0;
|
int weight_sum = 0;
|
||||||
int value_sum = 0;
|
int value_sum = 0;
|
||||||
switch (blur_power) {
|
switch (blur_power + user_blur) {
|
||||||
case 0:
|
case 0:
|
||||||
if ((p-1) < begin || end <= (p+1) || (i-1) < 0 || buffer_length <= (i+1)) {
|
if ((p-1) < begin || end <= (p+1) || (i-1) < 0 || buffer_length <= (i+1)) {
|
||||||
if (begin <= (p-1)) {
|
if (begin <= (p-1)) {
|
||||||
|
|
@ -741,6 +741,7 @@ static uchar value_blur(int pixel, int begin, int end)
|
||||||
8 * value_buffer[i+32] +
|
8 * value_buffer[i+32] +
|
||||||
6 * value_buffer[i+33]) >> 14;
|
6 * value_buffer[i+33]) >> 14;
|
||||||
case 6:
|
case 6:
|
||||||
|
default:
|
||||||
if ((p-65) < begin || end <= (p+65) || (i-65) < 0 || buffer_length <= (i+65)) {
|
if ((p-65) < begin || end <= (p+65) || (i-65) < 0 || buffer_length <= (i+65)) {
|
||||||
if (begin <= (p-65)) {
|
if (begin <= (p-65)) {
|
||||||
weight_sum += 3;
|
weight_sum += 3;
|
||||||
|
|
@ -1399,8 +1400,6 @@ static uchar value_blur(int pixel, int begin, int end)
|
||||||
4 * value_buffer[i+63] +
|
4 * value_buffer[i+63] +
|
||||||
3 * value_buffer[i+64] +
|
3 * value_buffer[i+64] +
|
||||||
3 * value_buffer[i+65]) >> 14;
|
3 * value_buffer[i+65]) >> 14;
|
||||||
default:
|
|
||||||
return value_buffer[i];
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ void toggle_debug() { debug_mode ^= 1; }
|
||||||
|
|
||||||
void raw_mode()
|
void raw_mode()
|
||||||
{
|
{
|
||||||
blur_power = -1;
|
blur_power = 0;
|
||||||
*current_mode = mode_raw;
|
*current_mode = mode_raw;
|
||||||
current_decoder = decoder_raw;
|
current_decoder = decoder_raw;
|
||||||
freerun_height = maximum_height;
|
freerun_height = maximum_height;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ static int disable_analyzer;
|
||||||
static int automatic_mode_detection;
|
static int automatic_mode_detection;
|
||||||
static int debug_mode;
|
static int debug_mode;
|
||||||
static int current_decoder;
|
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 sample_rate, sync_pos, prev_sync_pos;
|
||||||
static int maximum_variance, maximum_absolute_deviaton;
|
static int maximum_variance, maximum_absolute_deviaton;
|
||||||
static int minimum_sync_length;
|
static int minimum_sync_length;
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,14 @@ int main()
|
||||||
printf("\tint i = p & buffer_mask;\n");
|
printf("\tint i = p & buffer_mask;\n");
|
||||||
printf("\tint weight_sum = 0;\n");
|
printf("\tint weight_sum = 0;\n");
|
||||||
printf("\tint value_sum = 0;\n");
|
printf("\tint value_sum = 0;\n");
|
||||||
printf("\tswitch (blur_power) {\n");
|
printf("\tswitch (blur_power + user_blur) {\n");
|
||||||
for (int i = 0; i < 7; ++i) {
|
int max_power = 6;
|
||||||
|
for (int i = 0; i <= max_power; ++i) {
|
||||||
printf("\tcase %d:\n", i);
|
printf("\tcase %d:\n", i);
|
||||||
|
if (i == max_power)
|
||||||
|
printf("\tdefault:\n");
|
||||||
emit((1 << i) | 1);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue