Video rolling during start on IMX6Q Sabre AI board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Video rolling during start on IMX6Q Sabre AI board

1,552 Views
shyamjithkv
Contributor III

Hi,

I see a video roll for some time (average 2 rolls before the roll finally stops) everytime (It happens on reset, after a power cycle and otherwise)  I try to play an analog video input via gst-launch.

Given at the end is the log of gst-launch when i try to play the analog video input.

Moreover it displays the following warning.

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001 which is the new frame received before EOF interrupt.

I had tried making use of the unit_tests/mxc_v4l2_tvin.out program too, with the following command.

./mxc_v4l2_tvin.out -ow 1920 -oh 1080 -ol 10 -ot 20 -f YUYV

Result is the same.

I am using a display with resolution of 1920*1080.

I had found some links mentioning about the change in the active_top value from 13 to 3 in the mxc_v4l2_capture.c file.

But that too didnt help.

I am out of ideas now.

Any help is appreciated.

Platform details:

Board   : imx6q sabre ai

kernel version  : 3.0.35

TV chipset  : ADV7180

gst-launch log below.

root@acsia:/# gst-launch -v tvsrc ! autovideosink

MFW_GST_tvsrc_PLUGIN 3.0.11 build on Sep  4 2015 19:20:26.

Setting pipeline to PAUSED ...

MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Sep  4 2015 19:20:15.

In mxc_v4l2_s_std ff

should set the input to 1

/GstPipeline:pipeline0/MFWGstTVSRC:mfwgsttvsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

Pipeline is live and does not need PREROLL ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/MFW_GST_V4LSINK_INFO_T:autovideosink0-actual-sink-mfw_v4l.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

full screen size:1920x1080

[V4L Update Display]: left=0, top=0, width=1920, height=1080

set v4l display crop sucessfully

>>V4L_SINK: Actually buffer status:

    hardware buffer : 12

    software buffer : 0

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

Regards,

Shyamjith

Labels (3)
0 Kudos
4 Replies

817 Views
igorpadykov
NXP Employee
NXP Employee

Hi shyamjith

in general one can try to use kernel boot parameter dmfc=3, as described in attached

Release Notes Table 6. Kernel Boot Parameters or decrease input frame rate,

because this may be related to preformance issue. Since input size 728x576 and output

is 1920x1080 so one needs to resize image, this can be done using IPU IC.

According to the RM the IC of the IPU is limited to output 1024x1024 frames.

Code should split the video input frame in two and process each half on the IC then

send it to memory and use the IDMAC to reorder the whole thing.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

817 Views
shyamjithkv
Contributor III

Hi igorpadykov

Thank you so much for your response.

But unfortunately passing dmfc=3 as  kernel boot parameter didn't solve my issue.

I forgot to mention, the input source to the analog video in is a progressive scan dvd player.

The following are the kernel build options related to v4L2 that has been enabled.

I am stuck. Any help is highly appreciated.

Given below is the new log after adding dmfc=3 in the bootargs

root@acsia:/# gst-launch -v tvsrc ! autovideosink

MFW_GST_tvsrc_PLUGIN 3.0.11 build on Sep  4 2015 19:20:26.

Setting pipeline to PAUSED ...

MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Sep  4 2015 19:20:15.

In mxc_v4l2_s_std ff

should set the input to 1

/GstPipeline:pipeline0/MFWGstTVSRC:mfwgsttvsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

Pipeline is live and does not need PREROLL ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/MFW_GST_V4LSINK_INFO_T:autovideosink0-actual-sink-mfw_v4l.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw-yuv, format=(fourcc)NV12, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1

full screen size:1920x1080

[V4L Update Display]: left=0, top=0, width=1920, height=1080

set v4l display crop sucessfully

>>V4L_SINK: Actually buffer status:

  hardware buffer : 12

  software buffer : 0

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00000001

Attaching  some kernel make menuconfig screen shorts and an image of video rolling.....

v4l2_1.pngv4l2_2.pngv4l2_3.jpg

0 Kudos

817 Views
igorpadykov
NXP Employee
NXP Employee

could you try with default Sabre-AI lcd HannStar LVDS panel

with Demo images on below link, check attached Linux Guide sect.7.3.9 Recording the TV-in source

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

~igor

817 Views
shyamjithkv
Contributor III

Thanks Igor

Seems like the issue is fixed in the 3.14.52.1.1.0 kernel binary image.

In fact  we have a requirement to extend 3.0.35 kernel with analog video-in support.Can you provide some information on where the fix is made so that we can patch our existing 3.0.35 kernel.

Thanks in advance

shyamjith

0 Kudos