Hi, all
I capture from video input with 720x576 and get raw yuv data, but the raw yuv data has some mistake when I view it with yuv viewer.
Here is the raw yuv data:
what leads to the bottom green line?
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.
First, a green line/pixel is atypical of a buffer which has zero values in it, so this tells us that the bottom of the image is displaying zero for some reason.
There are a few possibilities...
1) The source imager is not providing enough data to fill your display buffer. What is providing the image data? A camera module? A video decoder? etc... As a test try increasing the line count register settings in the source device to see if the line goes away.
2) The memory address that the data is being written to is incorrect so it is writing to memory addresses lower than it should be.
3) The memory address that the display is reading from is incorrect so that it is reading from memory addresses higher than it should be.
4) The display is displaying too many lines.
How are you performing the capture and display? i.e. V4L2 etc...?
BR,
Steve
Hi, steve,
My video source is camera.
I perform capture with V4L2. Here is my raw yuv422 data with resolution 720x576, it is the memory dump of my video buffer. I view it in hex editor. No zeros have been found.
But also has green lines.
green line means that the data is invalid. For Y only values of 16 t 235 are valid, for UV values of 16 to 240 are valid. Taking a look at your dump shows a lot of 0x0E and 0x0F at the end of the file. These are your green bar on bottom of the image. I also wonder of the black bars on left and right side, why is there no video data?
The green lines are cause by both the luma and the chroma being close to zero which is, as I mentioned earlier, typical when not enough data is being captured into the input buffer or too much data is being read from the output buffer.
If you look closely at the data you sent you will notice that at offset 0xc9720 all the data drops off to close to zero. The color space conversion equations for these low luma and chroma values evaluate to green.
This is cause by one of three possibilities...
1) the capture device not capturing all 576 lines, but only capturing 573 lines
2) the capture system is putting the data into memory at an address which is 3 lines earlier than it should be
3) the reading system is reading from memory which is 2 lines later than it should be.
BR,
Steve
Fat fingers... This should have been...
3) the reading system is reading from memory which is 3 lines later than it should be.
Sorry.
BR,
Steve