From: Dofri <im...@he...> - 2003-11-25 22:51:18
|
On Tuesday 25 November 2003 13:56, Dofri Jonsson wrote: > On Tue, 25 Nov 2003 14:17:48 +0100 > > David Holm <dh...@ge...> wrote: > > Have you tested the new module options documented in README.modoptions? > > > > On Tue, 25 Nov 2003 12:41:19 +0000 > > > > Dofri Jonsson <im...@he...> wrote: > > > Slight correction. > > > The code, as I believe it should be: > > > > > > adv717x.c, lines 568-569: > > > PAL_config_7170[8] = (PAL_config_7170[8] & ~0xC0) | pd_adj_pal; > > > NTSC_config_7170[8] = (NTSC_config_7170[8] & ~0xC0) | > > > pd_adj_ntsc; > > > > > > > > > (missed the 12->8 change in the latter array index in each line) > > > > > > > > > Dofri Jonsson > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: SF.net Giveback Program. > > > Does SourceForge.net help you be more productive? Does it > > > help you create better code? SHARE THE LOVE, and help us help > > > YOU! Click Here: http://sourceforge.net/donate/ > > > _______________________________________________ > > > Dxr3-devel mailing list > > > Dxr...@li... > > > https://lists.sourceforge.net/lists/listinfo/dxr3-devel > > Yes, I'm pretty sure I tried all possible values for pixeldata_adjust_pal > (0,1,2,3), all without colour. Although, reading the code, a value of 0 for > this option should result in an unchanged value in the register. > > Still, I'm pretty sure the code is wrong. > Look at adv717x.c: > Line 134: > static unsigned char PAL_config_7170[27] = { > 0x05, // Mode Register 0 > 0x00, // Mode Register 1 (was: 0x07) > 0x02, // Mode Register 2 (was: 0x48) > 0x00, // Mode Register 3 > 0x00, // Mode Register 4 > 0x00, // Reserved > 0x00, // Reserved > 0x0d, // Timing Register 0 > 0x77, // Timing Register 1 > 0xcb, // Subcarrier Frequency Register 0 > 0x8a, // Subcarrier Frequency Register 1 > 0x09, // Subcarrier Frequency Register 2 > 0x2a, // Subcarrier Frequency Register 3 > ... > Subcarrier Frequency Register 3 is at array index 12 of the adv7170. > > Line 214: > static unsigned char PAL_config_7175[19] = { > 0x01, // Mode Register 0 > 0x06, // Mode Register 1 > 0xcb, // Subcarrier Frequency Register 0 > 0x8a, // Subcarrier Frequency Register 1 > 0x09, // Subcarrier Frequency Register 2 > 0x2a, // Subcarrier Frequency Register 3 > 0x00, // Subcarrier Phase Register > 0x0d, // Timing Register 0 > 0x00, // Closed Captioning Ext Register 0 > 0x00, // Closed Captioning Ext Register 1 > 0x00, // Closed Captioning Register 0 > 0x00, // Closed Captioning Register 1 > 0x73, // Timing Register 1 > ... > Timing Register 1 is at array index 12 of the adv7175 > > Line 568: > PAL_config_7170[12] = (PAL_config_7170[12] & ~0xC0) | pd_adj_pal; > NTSC_config_7170[12] = (NTSC_config_7170[12] & ~0xC0) | pd_adj_ntsc; > PAL_M_config_7175[12] = (PAL_M_config_7175[12] & ~0xC0) | pd_adj_pal; > PAL_config_7175[12] = (PAL_config_7175[12] & ~0xC0) | pd_adj_pal; > PAL60_config_7175[12] = (PAL60_config_7175[12] & ~0xC0) | pd_adj_pal; > NTSC_config_7175[12] = (NTSC_config_7175[12] & ~0xC0) | pd_adj_ntsc; > ... > We're modifying Subcarrier Frequency Register 3 of the adv7170, while > modifying Timing Register 1 of the adv7175. I haven't read the handbooks > for the adv717x chips in any great detail, but this doesn't looks right to > me. Like I said, I'm pretty sure you want; > Line 568: > PAL_config_7170[8] = (PAL_config_7170[8] & ~0xC0) | pd_adj_pal; > NTSC_config_7170[8] = (NTSC_config_7170[8] & ~0xC0) | pd_adj_ntsc; > ... > > I'll test this when I get home to my RM/HW+. > > > Dofri > > > ------------------------------------------------------- I've performed some tests on my adv7170-equipped card. My TV system is PAL-BG. With the CVS version of the module, array index 12 in lines 568-569, I have verified that pixeldata_adjust_pal=0 is the only setting that produces colour for my adv7170-equipped card. Any other value results in a black/white picture, of picture quality with increasing module parameter value. Using array index 8 instead of 12, as described in my previous post, produces the following results: pixeldata_adjust_pal = 0; Greenscreen pixeldata_adjust_pal = 1; Normal colours pixeldata_adjust_pal = 2; Greenscreen pixeldata_adjust_pal = 3; swap blue/red This is probably what you want. I'm leaving the index as 8 in my module. Correct patch below. Dofri --- modules.old/adv717x.c 2003-11-25 22:46:08.000000000 +0000 +++ modules/adv717x.c 2003-11-25 22:46:20.000000000 +0000 @@ -565,8 +565,8 @@ PAL60_config_7175[7] = (PAL60_config_7175[7] & ~0x40) | pp_pal; NTSC_config_7175[7] = (NTSC_config_7175[7] & ~0x40) | pp_ntsc; - PAL_config_7170[12] = (PAL_config_7170[12] & ~0xC0) | pd_adj_pal; - NTSC_config_7170[12] = (NTSC_config_7170[12] & ~0xC0) | pd_adj_ntsc; + PAL_config_7170[8] = (PAL_config_7170[8] & ~0xC0) | pd_adj_pal; + NTSC_config_7170[8] = (NTSC_config_7170[8] & ~0xC0) | pd_adj_ntsc; PAL_M_config_7175[12] = (PAL_M_config_7175[12] & ~0xC0) | pd_adj_pal; PAL_config_7175[12] = (PAL_config_7175[12] & ~0xC0) | pd_adj_pal; PAL60_config_7175[12] = (PAL60_config_7175[12] & ~0xC0) | pd_adj_pal; |