I am using https://github.com/raspberrypi/pico-exa ... tx_encoder code to generate image over HDMI.
It works great. Image may be NSFW.
Clik here to view.
My code uses the following `expand_shift` configuration, to achieve horizontal pixel doubling - each incoming RGB data is used twice, to generate two TMDS symbols, for two output pixels:
I would like to have some raster lines generated without pixel doubling, so I reconfigure `expand_shift` the following way for several raster lines:
The problem is that it breaks the video generation.
Generating the whole screen with pixel-doubling works fine.
Generating the whole screen without pixel-doubling works fine.
The issue is that it breaks when I change the `expand_shift` register.
I've tried changing it every 500 frames.
Now I have few seconds of pixel-doubled picture, than screen blanks for ~2 seconds, then proper image appears without pixel doubling, then disappears for ~2 seconds (with the `expand_shift` register change) and then appears again with pixel-doubling… [repeat]
Is that the expected behavior, or am I doing it wrong?
It works great. Image may be NSFW.
Clik here to view.

My code uses the following `expand_shift` configuration, to achieve horizontal pixel doubling - each incoming RGB data is used twice, to generate two TMDS symbols, for two output pixels:
Code:
hstx_ctrl_hw->expand_shift = 2 << HSTX_CTRL_EXPAND_SHIFT_ENC_N_SHIFTS_LSB | 0 << HSTX_CTRL_EXPAND_SHIFT_ENC_SHIFT_LSB | 1 << HSTX_CTRL_EXPAND_SHIFT_RAW_N_SHIFTS_LSB | 0 << HSTX_CTRL_EXPAND_SHIFT_RAW_SHIFT_LSB;
Code:
hstx_ctrl_hw->expand_shift = 1 << HSTX_CTRL_EXPAND_SHIFT_ENC_N_SHIFTS_LSB | 0 << HSTX_CTRL_EXPAND_SHIFT_ENC_SHIFT_LSB | 1 << HSTX_CTRL_EXPAND_SHIFT_RAW_N_SHIFTS_LSB | 0 << HSTX_CTRL_EXPAND_SHIFT_RAW_SHIFT_LSB;
Generating the whole screen with pixel-doubling works fine.
Generating the whole screen without pixel-doubling works fine.
The issue is that it breaks when I change the `expand_shift` register.
I've tried changing it every 500 frames.
Now I have few seconds of pixel-doubled picture, than screen blanks for ~2 seconds, then proper image appears without pixel doubling, then disappears for ~2 seconds (with the `expand_shift` register change) and then appears again with pixel-doubling… [repeat]
Is that the expected behavior, or am I doing it wrong?
Statistics: Posted by smokku — Fri Dec 06, 2024 2:14 pm — Replies 0 — Views 8