iMx6 ,adv7180 and gstreamer

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

iMx6 ,adv7180 and gstreamer

Jump to solution
6,618 Views
inkwaterman
Contributor II

Hi !

I have to use a iMx6 with adv7180 under linux (i started with ltib L3.0.35_4.0.0_130424).

I tested my hardware with the mxc_v4lv_tvin.out unit test , with the following command line:

./mxc_v4l2_tvin.out -ow 640 -oh 480 -ol 10 -ot 20 -f YU12


and it works well...


But if I use it with gstreamer , the image start to rolling...


My command line is:


gst-launch-0.10 -v mfw_v4lsrc ! mfw_isink


I found a topic about iMx53 and adv7180. In this topic they suggest to use the command:


gst-launch-0.10 -v mfw_v4lsrc capture-width=720 capture-height=576 sensor-width=720 sensor-height=288 typefind=1 preview=1 preview-width=720 preview-height=576 bg=1 ! mfw_isink


but my mfw_v4lsrc not support the capture-width, capture-height, sensor-width and sensor-height....

Where  I'm wrong ?


Thanks

Labels (3)
Tags (3)
1 Solution
1,757 Views
jack_mao
NXP Employee
NXP Employee

Hi,

    Please copy libmfw_gst_tvsrc.so to your rootfs/usr/lib/gstreamer-0.10 directory, and take gstreamer pipeline “gst-launch tvsrc ! mfw_v4lsink”

Jack

View solution in original post

7 Replies
1,757 Views
LeonardoSandova
Specialist I

What do you mean by 'rolling'? add --gst-debug=*mfw*:5 to your pipeline and share log.

Leo

0 Kudos
1,757 Views
inkwaterman
Contributor II

This is the log  of gst-launch-0.10 -v mfw_v4lsrc  --gst-debug=*mfw*:5 ! mfw_isink   command:

(many thanks)

gst-launch-0.10: /usr/lib/libz.so.1: no version information available (required by /usr/lib/libxml2.so.2)

gst-launch-0.10: /usr/lib/libz.so.1: no version information available (required by /usr/lib/libxml2.so.2)

0:00:00.569254145  [333m 3020 [00m    0xa0bc0  [32;01mINFO    [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:467:mfw_gst_v4lsrc_capture_setup: [00m sensor chip is adv7180_decoder

0:00:00.569581813  [333m 3020 [00m    0xa0bc0  [32;01mINFO    [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:495:mfw_gst_v4lsrc_capture_setup: [00m capture mode 0: 720x576

0:00:00.593286962  [333m 3020 [00m    0xa0bc0  [36mDEBUG   [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1119:mfw_gst_v4lsrc_start: [00m Width = 720

0:00:00.593454963  [333m 3020 [00m    0xa0bc0  [36mDEBUG   [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1120:mfw_gst_v4lsrc_start: [00m Height = 624

0:00:00.593560963  [333m 3020 [00m    0xa0bc0  [36mDEBUG   [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1121:mfw_gst_v4lsrc_start: [00m Image size = 673920

0:00:00.593660630  [333m 3020 [00m    0xa0bc0  [36mDEBUG   [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1122:mfw_gst_v4lsrc_start: [00m pixelformat = 842093913

0:00:00.624114947  [333m 3020 [00m    0xa0bc0  [36mDEBUG   [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:384:mfw_gst_v4lsrc_start_capturing: [00m >>V4L_SRC: time per frame 33333333

0:00:00.624762946  [333m 3020 [00m    0xa0bc0  [32;01mINFO    [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1384:mfw_gst_v4lsrc_fixate: [00m capture: 720, 576, fixrate :video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)576, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1

0:00:00.691562599  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:0 will be used outside

0:00:00.691812266  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:0(ref 1), num in pool:5

0:00:00.692315599  [333m 3020 [00m    0x24b80  [36mDEBUG   [00m  [00m           mfw_isink mfw_gst_isink.c:1467:mfw_gst_isink_setcaps: [00m >>I_SINK: no sfd field found in caps.

0:00:00.734632922  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:1 will be used outside

0:00:00.734792589  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:1(ref 1), num in pool:4

0:00:00.754005591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:0 will be push in pool

0:00:00.754184257  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb800 for frame 0

0:00:00.777703591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:2 will be used outside

0:00:00.777841257  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:2(ref 1), num in pool:4

0:00:00.797257924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:1 will be push in pool

0:00:00.797436924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb8b8 for frame 1

0:00:00.820785924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:3 will be used outside

0:00:00.820919924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:3(ref 1), num in pool:4

0:00:00.829096257  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:2 will be push in pool

0:00:00.829289591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb970 for frame 2

0:00:00.863857591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:4 will be used outside

0:00:00.863987924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:4(ref 1), num in pool:4

0:00:00.872047258  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:3 will be push in pool

0:00:00.872200591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbba28 for frame 3

0:00:00.908539589  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:5 will be used outside

0:00:00.908671589  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:5(ref 1), num in pool:4

0:00:00.916738923  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:4 will be push in pool

0:00:00.916894256  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbbae0 for frame 4

0:00:00.951608591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:0 will be used outside

0:00:00.951737258  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:0(ref 1), num in pool:4

0:00:00.959797591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:5 will be push in pool

0:00:00.959949258  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbbb98 for frame 5

0:00:00.994684256  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:1 will be used outside

0:00:00.994811923  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:1(ref 1), num in pool:4

0:00:01.002876256  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:0 will be push in pool

0:00:01.003030590  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb800 for frame 0

0:00:01.037755925  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:2 will be used outside

0:00:01.037884591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:2(ref 1), num in pool:4

0:00:01.045946925  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:1 will be push in pool

0:00:01.046100925  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb8b8 for frame 1

0:00:01.080830923  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:3 will be used outside

0:00:01.080962257  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:3(ref 1), num in pool:4

0:00:01.089020590  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:2 will be push in pool

0:00:01.089219924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:292:mfw_gst_v4lsrc_buffer_finalize:<mfwgstv4lsrc0> [00m freeing buffer 0xbb970 for frame 2

0:00:01.123904924  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1219:mfw_gst_v4lsrc_buffer_new: [00m v4l buffer index:4 will be used outside

0:00:01.124035257  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:1231:mfw_gst_v4lsrc_buffer_new: [00m v4l dequeued buffer index:4(ref 1), num in pool:4

0:00:01.132096591  [333m 3020 [00m    0x24b80  [37mLOG     [00m  [00m          mfw_v4lsrc mfw_gst_v4lsrc.c:278:mfw_gst_v4lsrc_buffer_finalize: [00m v4l buffer index:3 will be push in pool

0 Kudos
1,758 Views
jack_mao
NXP Employee
NXP Employee

Hi,

    Please copy libmfw_gst_tvsrc.so to your rootfs/usr/lib/gstreamer-0.10 directory, and take gstreamer pipeline “gst-launch tvsrc ! mfw_v4lsink”

Jack

1,757 Views
timharvey
Contributor IV

Where is the source for libmfw_gst_tvsrc and gstreamer-fsl in general?  Does Freescale develop this privately and only release periodic source within the IMX_MMCODEC packages?  Is there a release timeline?

0 Kudos
1,757 Views
s_bai
Contributor I

I actually have the same doubt. My ADV7180 works perfectly with tvsrc but not with mfw_v4lsrc, I tried to directly invoke the V4L2 API followed exactly same sequence from strace of tvsrc but still getting rolling images. What's more strange is that if I run tvsrc once and stop touching any setting of the capture interface, my capture will work greatly. I guess there is something wrong with my VIDIOC_S_FMT call but I couldn't find what exactly is wrong. Does someone have similar problem as us? And how did you solve it?

0 Kudos
1,757 Views
inkwaterman
Contributor II

Hi !

I have tried to capture a live view of my adv7180 with this pipeline:

gst-launch tvsrc !  vpuenc ! matroskamux ! filesink location=./test2avi

The file test2.avi was created (it seems correctly), but vlc and gstreamer are unable to show the recording data.

The pipeline below instead works...

gst-launch videotestsrc !   vpuenc ! matroskamux ! filesink location=./test.avi

where I'm wrong ?

0 Kudos
1,757 Views
inkwaterman
Contributor II

It works...

Wonderful !...

many and many thanks

0 Kudos