This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem with DM355 VPBE: same hardware and same software but different result...

Hi everyone!

I'm working with DM355 to output digital video in the corresponding VPBE pins in BT.656 format. My intention is to output the video in 640x480 format, but as BT.656 is a fixed format I'm forced to put the useful video in a 720x480 frame. No matter about that. So far everything is ok.

I have some custom boards which are identical in hardware. I use the same software in all of them (this has been checked many times). The problem starts here: all the boards don't output the same video.

The "good ones" output the video shown in next image.

It is supposed to be approximately right: 640x480 useful video inside a 720x480 frame. The blue/purple vertical stripe is due to the unused space inside the video window (columns between 640 and 720). Sorry for the image quality as it is a photograph.

The "bad ones" output the next video.

I have no explanation for horizontal black stripe located at the bottom of the image. Besides, it seems that the rest of the image is kind of compressed. I mean, I can see more or less the same area than in a "good" board, but compressed in a smaller area.

Any idea why this is hapenning? Everything points to a hardware error on these boards, but I don't know what to think or where to start searching. I think I didn't say it but so far I tested 4 boards: 2 happened to be "good" and 2 happened to be "bad". So it doesn't look like an isolated error.

Thanks in advance!

  • How are you viewing the bt.656 stream? I assume it is going to some sort of display, and if so is the same display being used to monitor the outgoing bt.656 stream of each device? I say this as my first thought would be that the display is getting configured differently between the boards somehow, since the rest of the hardware and software should be the same.

    Similar question on the input end, what is the incoming video source coming from and is it the same for each board?

    However the idea that this is a display issue is somewhat contradicted by the blue line on the right which looks to go the whole way down the display on the 'bad' board which makes it seem like it may be some internal configuration issue for the OSD/VPBE or at the software level (though it could also be a bad source). It may be worth filling the display buffer with some pre set patterns (i.e. color bars, circles, etc.) that could give you a better idea where the problem is coming from. Another debugging thought would be to take a dump of the VPSS registers on each board and compare them to see if there are any configuration differences.

     

  • Thank you very much Bernie. I've just solved it. After trying many things I thought about recording ubl and u-boot again on one of the bad boards. It happened to work perfectly. So this was the problem. I'm a bit worried about this because I can assure that both boards had the same ubl and u-boot files. Maybe there were problems while flashing them the first time. Anyway, as long as I have a solution and it doesn't happen anymore...

    On the other hand, I would like to ask another thing. Right now I have the blue vertical stripe and a very small horizontal black stripe. I would like to make them disappear. I'm outputting video in BT.656 format, but I want to try outputting it in a "normal" format so that I don't need to include the active video in the 720x480 frame. How should I change the configuration?

  • I am glad to hear that the inconsistency between boards was fixed.

    R&D said:
    I'm outputting video in BT.656 format, but I want to try outputting it in a "normal" format so that I don't need to include the active video in the 720x480 frame. How should I change the configuration?

    I am not sure exactly what you mean by a 'normal' format, bt.656 implies a 720x480 frame size so this would be normal, I assume your video portion is actually 640x480 so this is why it is not entirely filling the screen? If this is the case and you want your 640x480 image to output on the 720x480 bt.656 based display you would have to scale the image to be wider.

    What sort of output device are you driving with the bt.656? If this is a directly connected digital display than you may be able to use a format other than bt.656 to get the 640x480 output.

  • Thanks Bernie for your quick answer.

    As you correctly said, I'm outputting 640x480 active video inside a 720x480 frame because of the use of BT.656. I would like to output directly 640x480 video without the frame, so I have to get rid of BT.656. What changes would that imply in VPBE configuration and how could it be done? The output video is not directed to a digital display but to another board with another processor.

    Thanks again!

  • R&D said:
    The output video is not directed to a digital display but to another board with another processor.

    What physical connections do you have to the other processor? With BT.656 you can get away with just having the 8 bit data bus and a clock, however as noted in this thread you are somewhat limited on your resolutions and timings, on the other hand if you can use a more generic mode with external syncs than you can adjust your timing however you need. Disabling the BT.656 mode is as easy as cleaering the R656 bit in the YCCTL register, however you would also need to adjust your horizontal pixel count and enable external syncs as well as possibly other register adjustments, this is something you may have to just try out as I do not believe we offer any example code for display like this as the EVM lacks the proper hardware to exercise such a driver. In general you would probably have to take a look at the Davinci encoder manager portion of the display driver and configure it for YCC8 to get the sort of format you would want, however there may be additional modifications to the driver required.

  • Thanks again Bernie.

    I have physical connection for the 8 bit data bus, the clock and the horizontal/vertical syncs. I knew the way to disable the BT.656, but I didn't know how to configure the rest to make it work in the generic mode. Thanks for the tips. I'll have a look at it as soon as I fix some bugs I'm working on now.