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
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!
-----------------------------------------------------------------------------------------------------------------------
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.....
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)
~igor
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