- Joined
- Jan 31, 2016
- Messages
- 1,343
- Likes
- 2,882
- Portables
- 6
The ADV7390 has a "SD progressive" mode, which what us gamers refer to as "240p". As you can assume, when this is selected, it makes the chip output 240p, which is 480i without alternating fields. If you send a 240p signal into this chip, and do not enable this mode, the outgoing 240p signal will have many issues. So this bit must be enabled when the signal is receiving a 240p signal.
Prior to today, I was toggling this mode manually. Today, we were able to use a register in the ADV7280A to detect if the signal is progressive 240p or interlaced 480i, and toggle it automatically.
Additionally, if you send this chip 480i, and then enable this mode, the fields will not alternating, turning it into 240p. This "force 240p" is a neat feature useful for many niche circumstances, so I will keep it as a feature. It will enable automatically for 240p sources, but can be manually enabled for 480i sources.
Line doubling works, but currently looks like garbage. 240p signals bounce up and down; it looks like the chip is attempting to deinterlace the 240p signal. But the chip is supposed to use simple bob deinterlacing so I'm not really sure what's going on. I will have to explore flipping more bits.
I have yet to figure out how to toggle the 480p smoothing filter(s). This wouldn't be too tragic, except it is currently stuck in the "ON" position. I tried toggling the obvious registers the datasheet lays out, but none of them seem to do the trick. This one is proving much tricker than I anticipated. Fortunately, it only appears to affect 480p outputs; 240p and 480i look quite sharp.
The core transcoder portion of this project is pretty close to feature complete. The line doubling to 480p, on the other hand, still has a ways to go.
I do have some bad news: it appears my "RGB passthrough" idea will not work. The output is quite green, and my scope showed that the "Blue" (actually pb) and "Red" (actually pr) outputs have a .35v peak rather than the intended .7v peak that "Green" (actually Y) has. This makes sense though. There may be a way to attenuate or amplify the signal to correct for this, but we may just have to just throw a transcoder circuit on the input stage.
Prior to today, I was toggling this mode manually. Today, we were able to use a register in the ADV7280A to detect if the signal is progressive 240p or interlaced 480i, and toggle it automatically.
Additionally, if you send this chip 480i, and then enable this mode, the fields will not alternating, turning it into 240p. This "force 240p" is a neat feature useful for many niche circumstances, so I will keep it as a feature. It will enable automatically for 240p sources, but can be manually enabled for 480i sources.
Line doubling works, but currently looks like garbage. 240p signals bounce up and down; it looks like the chip is attempting to deinterlace the 240p signal. But the chip is supposed to use simple bob deinterlacing so I'm not really sure what's going on. I will have to explore flipping more bits.
I have yet to figure out how to toggle the 480p smoothing filter(s). This wouldn't be too tragic, except it is currently stuck in the "ON" position. I tried toggling the obvious registers the datasheet lays out, but none of them seem to do the trick. This one is proving much tricker than I anticipated. Fortunately, it only appears to affect 480p outputs; 240p and 480i look quite sharp.
The core transcoder portion of this project is pretty close to feature complete. The line doubling to 480p, on the other hand, still has a ways to go.
I do have some bad news: it appears my "RGB passthrough" idea will not work. The output is quite green, and my scope showed that the "Blue" (actually pb) and "Red" (actually pr) outputs have a .35v peak rather than the intended .7v peak that "Green" (actually Y) has. This makes sense though. There may be a way to attenuate or amplify the signal to correct for this, but we may just have to just throw a transcoder circuit on the input stage.
