diff --git a/src/geometry.c b/src/geometry.c index 98bfbe7c..9e2fe4fc 100644 --- a/src/geometry.c +++ b/src/geometry.c @@ -282,8 +282,11 @@ void geometry_get_fb_params(capture_info_t *capinfo) { v_size43 = h_size * 3 / 4; } - if (v_size43 == 1080 && h_size43 == 1440 && v_size == 1080 && h_size == 1920) { - h_size43 = 1600; + if (v_size43 == v_size && h_size > h_size43) { + h_size43 = (h_size43 * 800) / 720; //adjust 4:3 ratio on widescreen resolutions to account for 800 pixel wide integer sample capture + if (h_size43 > h_size) { + h_size43 = h_size; + } } //log_info("unadujusted integer = %d, %d, %d, %d, %d, %d", geometry_h_offset, geometry_v_offset, geometry_h_width, geometry_v_height, geometry_fb_width, geometry_fb_height); diff --git a/src/rgb_to_hdmi.c b/src/rgb_to_hdmi.c index 9903921e..be545799 100644 --- a/src/rgb_to_hdmi.c +++ b/src/rgb_to_hdmi.c @@ -1680,11 +1680,11 @@ void set_scaling(int mode, int reboot) { switch (mode) { case SCALING_FILL43_MEDIUM: - case SCALING_FILLALL_MEDIUM: + case SCALING_FILL43_SOFT: gscaling = SCALING_MANUAL43; break; - case SCALING_FILL43_SOFT: + case SCALING_FILLALL_MEDIUM: case SCALING_FILLALL_SOFT: gscaling = SCALING_MANUAL; break; diff --git a/src/scripts/Resolutions/1024x600@60Hz.txt b/src/scripts/Resolutions/1024x600@60Hz.txt new file mode 100644 index 00000000..052bf10b --- /dev/null +++ b/src/scripts/Resolutions/1024x600@60Hz.txt @@ -0,0 +1,4 @@ +## 1024x600 @ 60Hz +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt=1024 600 60 1 0 0 0 diff --git a/src/scripts/Resolutions/1024x768@50Hz.txt b/src/scripts/Resolutions/1024x768@50Hz.txt new file mode 100644 index 00000000..e9bd0e13 --- /dev/null +++ b/src/scripts/Resolutions/1024x768@50Hz.txt @@ -0,0 +1,4 @@ +## 1024x768 @ 50Hz +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt=1024 768 50 1 0 0 0 diff --git a/src/scripts/Resolutions/1024x768@60Hz.txt b/src/scripts/Resolutions/1024x768@60Hz.txt new file mode 100644 index 00000000..e01eab51 --- /dev/null +++ b/src/scripts/Resolutions/1024x768@60Hz.txt @@ -0,0 +1,3 @@ +## 1024x768 @ 60Hz +hdmi_group=2 +hdmi_mode=16 diff --git a/src/scripts/Resolutions/1280x720@60Hz.txt b/src/scripts/Resolutions/1280x720@60Hz.txt new file mode 100644 index 00000000..c3b25eff --- /dev/null +++ b/src/scripts/Resolutions/1280x720@60Hz.txt @@ -0,0 +1,3 @@ +## 1280x720 @ 60Hz +hdmi_group=1 +hdmi_mode=4 diff --git a/src/scripts/Resolutions/1280x800@60Hz.txt b/src/scripts/Resolutions/1280x800@60Hz.txt new file mode 100644 index 00000000..d2f6fa1c --- /dev/null +++ b/src/scripts/Resolutions/1280x800@60Hz.txt @@ -0,0 +1,3 @@ +## 1280x800 @ 60Hz +hdmi_group=2 +hdmi_mode=28 diff --git a/src/scripts/Resolutions/1368x768@60Hz.txt b/src/scripts/Resolutions/1368x768@60Hz.txt new file mode 100644 index 00000000..7f6dfbeb --- /dev/null +++ b/src/scripts/Resolutions/1368x768@60Hz.txt @@ -0,0 +1,3 @@ +## 1368x768 @ 60Hz +hdmi_group=2 +hdmi_mode=39 diff --git a/src/scripts/Resolutions/1920x1200@50Hz.txt b/src/scripts/Resolutions/1920x1200@50Hz.txt new file mode 100644 index 00000000..b08ceb6f --- /dev/null +++ b/src/scripts/Resolutions/1920x1200@50Hz.txt @@ -0,0 +1,4 @@ +## 1920x1200 @ 50Hz +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt=1920 1200 50 1 0 0 0 diff --git a/src/scripts/Resolutions/1920x1200@60Hz.txt b/src/scripts/Resolutions/1920x1200@60Hz.txt new file mode 100644 index 00000000..1dc86127 --- /dev/null +++ b/src/scripts/Resolutions/1920x1200@60Hz.txt @@ -0,0 +1,3 @@ +## 1920x1200 @ 60Hz +hdmi_group=2 +hdmi_mode=69 diff --git a/src/scripts/Resolutions/640x480@50Hz.txt b/src/scripts/Resolutions/640x480@50Hz.txt new file mode 100644 index 00000000..ab1d370f --- /dev/null +++ b/src/scripts/Resolutions/640x480@50Hz.txt @@ -0,0 +1,4 @@ +## 640x480 @ 50Hz +hdmi_group=2 +hdmi_mode=87 +hdmi_cvt=640 480 50 1 0 0 0 diff --git a/src/scripts/Resolutions/640x480@60Hz.txt b/src/scripts/Resolutions/640x480@60Hz.txt new file mode 100644 index 00000000..650af75b --- /dev/null +++ b/src/scripts/Resolutions/640x480@60Hz.txt @@ -0,0 +1,3 @@ +## 640x480 @ 60Hz +hdmi_group=2 +hdmi_mode=4