I've tried using Xv with the newly-compatable radeon driver and my x1600. There appear to be two problems: It's glacially slow (I assume a drm problem which will eventually be resolved,) and the color is wrong.
The first issue is probably beyond my ability (as a fairly novice programmer) to fix, but I may be able to help with the second. It appears from the look of the image that the card is trying to scanout what looks like YUV as RGB. The odd thing is that the correctly sized part of the image (which is obviously the luma component) is green, which means somehow the luma component is being interpreted as green. I'm guessing there is a register for setting color format that has changed with the r500 and needs to be added to the driver.
However, after taking a look at both the radeon driver source and the ATI docs that have been released, I'm rather unenlightened. I wonder if anyone familiar with the radeon driver could point me to the right place to start looking for the color format setup for overlays. Once I can find that, I might be able to to start deciphering how things work and possibly identify the problem.
I admit I'm coming at this from a position of ignorance, as I have little programming experience, but I am interested in driver development and would like to start learning a bit about it. I figure this problem seems to be relatively simple and shouldn't be to difficult to solve.
Edit: Since posting the above, I have looked further into the registers involved in the overlay. I believe that the released ATI docs are not complete in this regard, but I can find no matching register addresses between the ati docs and radeon_reg.h that have to do with overlays. How then does the overlay work at all?
The first issue is probably beyond my ability (as a fairly novice programmer) to fix, but I may be able to help with the second. It appears from the look of the image that the card is trying to scanout what looks like YUV as RGB. The odd thing is that the correctly sized part of the image (which is obviously the luma component) is green, which means somehow the luma component is being interpreted as green. I'm guessing there is a register for setting color format that has changed with the r500 and needs to be added to the driver.
However, after taking a look at both the radeon driver source and the ATI docs that have been released, I'm rather unenlightened. I wonder if anyone familiar with the radeon driver could point me to the right place to start looking for the color format setup for overlays. Once I can find that, I might be able to to start deciphering how things work and possibly identify the problem.
I admit I'm coming at this from a position of ignorance, as I have little programming experience, but I am interested in driver development and would like to start learning a bit about it. I figure this problem seems to be relatively simple and shouldn't be to difficult to solve.
Edit: Since posting the above, I have looked further into the registers involved in the overlay. I believe that the released ATI docs are not complete in this regard, but I can find no matching register addresses between the ati docs and radeon_reg.h that have to do with overlays. How then does the overlay work at all?
Comment