mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
osd: adjust free_scale_dst if interlaced [1/1]
PD#SWPL-2600 Problem: osd display half menu when in 1080i Solution: osd: adjust free_scale_dst if interlaced Verify: verify by p212 Change-Id: Ie9faffbb5942faa317b380ca0cdbee072a30c01f Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com> Signed-off-by: Jian Cao <jian.cao@amlogic.com>
This commit is contained in:
committed by
Dongjin Kim
parent
dfa21a62ef
commit
d07f24372f
@@ -82,6 +82,7 @@
|
||||
#define OSD_TYPE_BOT_FIELD 1
|
||||
|
||||
#define OSD_DISP_DEBUG 1
|
||||
#define ENCP_LINE_VSYNC 15
|
||||
#define ENCP_LINE 16
|
||||
#define OSD_OLD_HWC (0x01 << 0)
|
||||
#define OSD_OTHER_NEW_HWC (0x01 << 1)
|
||||
@@ -1939,7 +1940,7 @@ int osd_set_scan_mode(u32 index)
|
||||
if ((vinfo->width == 720)
|
||||
&& (vinfo->height == 480)) {
|
||||
if (osd_hw.free_scale_mode[index]) {
|
||||
//osd_hw.field_out_en = 1;
|
||||
osd_hw.field_out_en = 1;
|
||||
switch (y_end) {
|
||||
case 719:
|
||||
osd_hw.bot_type = 2;
|
||||
@@ -1959,7 +1960,7 @@ int osd_set_scan_mode(u32 index)
|
||||
} else if ((vinfo->width == 720)
|
||||
&& (vinfo->height == 576)) {
|
||||
if (osd_hw.free_scale_mode[index]) {
|
||||
//osd_hw.field_out_en = 1;
|
||||
osd_hw.field_out_en = 1;
|
||||
switch (y_end) {
|
||||
case 719:
|
||||
osd_hw.bot_type = 2;
|
||||
@@ -1980,7 +1981,7 @@ int osd_set_scan_mode(u32 index)
|
||||
} else if ((vinfo->width == 1920)
|
||||
&& (vinfo->height == 1080)) {
|
||||
if (osd_hw.free_scale_mode[index]) {
|
||||
//osd_hw.field_out_en = 1;
|
||||
osd_hw.field_out_en = 1;
|
||||
switch (y_end) {
|
||||
case 719:
|
||||
osd_hw.bot_type = 1;
|
||||
@@ -4219,6 +4220,10 @@ static void osd_pan_display_update_info(struct layer_fence_map_s *layer_map)
|
||||
layer_map->dst_x + layer_map->dst_w - 1;
|
||||
osd_hw.free_dst_data[index].y_end =
|
||||
layer_map->dst_y + layer_map->dst_h - 1;
|
||||
if (osd_hw.field_out_en) {
|
||||
osd_hw.free_dst_data[index].y_start /= 2;
|
||||
osd_hw.free_dst_data[index].y_end /= 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
@@ -7340,9 +7345,10 @@ static int osd_setting_order(void)
|
||||
vinfo_height = osd_hw.field_out_en ?
|
||||
(osd_hw.vinfo_height * 2) : osd_hw.vinfo_height;
|
||||
if (line1 >= vinfo_height) {
|
||||
osd_log_info(
|
||||
"enter osd_setting_order:cnt=%d,encp line=%d\n",
|
||||
cnt, line1);
|
||||
if (osd_hw.osd_display_debug == ENCP_LINE_VSYNC)
|
||||
osd_log_info(
|
||||
"enter osd_setting_order:cnt=%d,encp line=%d\n",
|
||||
cnt, line1);
|
||||
osd_wait_vsync_hw();
|
||||
line1 = get_enter_encp_line();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user