AnsweredAssumed Answered

Distorted Video i.MX6 gStreamer

Question asked by Ryan Erb on Jun 4, 2014
Latest reply on Aug 12, 2014 by Tim Harvey
Branched to a new discussion

Hello,

 

I am having problems with distorted video.  I have done quite a bit of testing.

 

Attached is a picture of the issue (toward bottom)

 

My gStreamer pipelines must be correct because other resolutions work fine.

 

The problem only occurs when you play a video that has the same resolution as the display.


Display is HDMI.

 

For instance, a 1920x1080p video played on a 1280x720p video plays perfect.  A 1280x720p video played on a 1920x1080p video plays perfect.

But a 1280x720p video played on a 1280x720p Display plays distorted. Also a 1920x1080p video played on a 1920x1080p display plays distorted.

 

I have tested Yocto 1.5 (3.10.17) and Yocto 1.3 (kernel 3.0.35)

 

Below is some snippets of information from my system that may help.

 

I am using the Big Buck Bunny Video for testing as well as video test source (free download HERE)

 

I am not sure if the issue is in the driver or the gstreamer plugin?

 

___________________________________

INFO BELOW:

 

PIPELINE:

gst-launch videotestsrc ! video/x-raw-yuv,width=1280,height=720 ! mfw_v4lsink device=/dev/video16

 

Other info:

root@ventana:~# cat /sys/class/graphics/fb0/mode

S:1280x720p-60

root@ventana:~# cat /sys/class/graphics/fb0/modes

S:1920x1080p-60

S:1920x1080p-50

S:1280x720p-60

S:1280x720p-50

S:720x576p-50

S:720x576p-50

S:720x480p-60

S:720x480p-60

V:640x480p-60

D:1280x720p-60

V:640x480p-60

 

Poky 8.0.2 (Yocto Project 1.3.2 Reference Distro) 1.3.2 ventana ttymxc1

ventana login: root

root@ventana:~# uname -a

Linux ventana 3.0.35-4.4.0-gateworks+yocto+gaabbed9 #1 SMP PREEMPT Fri May 2 09:54:05 PDT 2014 armv7l GNU/Linux

 

root@ventana:~#  gst-inspect | grep imx

vpu.imx:  vpudec: VPU-based video decoder

vpu.imx:  vpuenc: VPU-based video encoder

v4lsink.imx:  mfw_v4lsink: v4l2 video sink

isink.imx:  mfw_isink: IPU-based video sink

tvsrc.imx:  tvsrc: v4l2 based tv src

mp3enc.imx:  mfw_mp3encoder: mp3 audio encoder

v4lsrc.imx:  mfw_v4lsrc: v4l2 based camera src

audiopeq.imx:  mfw_audio_pp: audio post equalizer

amrdec.imx:  mfw_amrdecoder: amr audio decoder

aiur.imx: webm: webm

aiur.imx:  aiurdemux: aiur universal demuxer

beep.imx: ac3: ac3

beep.imx: 3ca: ac3

beep.imx:  beepdec: beep audio decoder

beep.imx:  beepdec.vorbis: Vorbis decoder

beep.imx:  beepdec.ac3: AC3 decoder

beep.imx:  beepdec.wma: WMA decoder

beep.imx:  beepdec.mp3: MP3 decoder

beep.imx:  beepdec.aac: AAC LC decoder

ipucsc.imx:  mfw_ipucsc: IPU-based video converter

aacdec.imx:  mfw_aacdecoder: aac audio decoder

vorbisdec.imx:  mfw_vorbisdecoder: vorbis audio decoder

 

Console output after running command:

root@ventana:~# gst-launch videotestsrc ! video/x-raw-yuv,width=1280,height=720 ! mfw_v4lsink device=/dev/video16

this is powerful mx6q

MFW_GST_V4LSINK_PLUGIN 3.0.1 build on Apr 29 2014 02:30:21.

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

[  409.674205] mxc_v4l2_output mxc_v4l2_output.0: Bypass IC.

>>V4L_SINK: Actually buffer status:

        hardware buffer : 12

        software buffer : 0

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

full screen size:1280x720

[V4L Update Display]: left=0, top=0, width=1280, height=720

New clock: GstSystemClock

 

Here is some more console output for a simple gplay with a Big Buck Bunny Video:

root@ventana:~# gplay /media/sda1/big_buck_bunny_720p_h264.mov

playbin2 is employed!

fsl_player_init(): Successfully initialize!

fsl_player_set_media_location(): filename=/media/sda1/big_buck_bunny_720p_h264.mov

[Stopped  ][Vol=01][00:00:00/00:00:00][fps:0]Aiur: 3.0.1

Core: MPEG4PARSER_06.04.22  build on Aug 22 2012 09:58:20

  mime: video/quicktime; audio/x-m4a; application/x-3gp

  file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so

Content Info:

        URI:

              file:///media/sda1/big_buck_bunny_720p_h264.mov

        Idx File:

              /home/root/.aiur/.media.sda1.big_buck_bunny_720p_h264.mov.aidx

        Seekable  : Yes

        Size(byte): 416751190

 

 

Movie Info:

        Seekable  : Yes

        Live      : No

        Duration  : 0:09:56.461696000

        ReadMode  : File

        Track     : 3

 

 

Track 00 [video_0000] Enabled

        Duration: 0:09:56.458304000

        Language: und

        Mime:

              video/x-h264, parsed=(boolean)true, width=(int)1280, height=(int)720, framerate=

              (fraction)24/1, codec_data=(buffer)00000001274d401fa9180a00b7600d4040406db0ad7bd

              f010000000128de09c8

[INFO]  Product Info: i.MX6Q/D/S

vpudec versions

        plugin: 3.0.1

        wrapper: 1.0.24(VPUWRAPPER_ARM_LINUX Build on Apr 29 2014 02:05:43)

        vpulib: 5.4.6

        firmware: 2.1.5.32515

Track 01 [subtitle]: Disabled

        Codec: 0, SubCodec: 0

Track 02 [audio_0000] Enabled

        Duration: 0:09:56.480000000

        Language: und

        Mime:

              audio/mpeg, mpegversion=(int)4, channels=(int)6, rate=(int)48000, bitrate=(int)4

              48000, framed=(boolean)true, codec_data=(buffer)11b0

BLN_MAD-MMCODECS_AACD_ARM_03.07.00  build on Jul 17 2012 17:47:46.

MFW_GST_AAC_PLUGIN 3.0.1 build on Apr 29 2014 02:30:35.

FOUND GST_MESSAGE_TAG!

          codec: AAC

  language code: und

        bitrate: 448000

FOUND GST_MESSAGE_TAG!

container format: MOV/MP4/3GP

FOUND GST_MESSAGE_TAG!

          codec: H.264/AVC

  language code: und

this is powerful mx6q

MFW_GST_V4LSINK_PLUGIN 3.0.1 build on Apr 29 2014 02:30:21.

[INFO]  bitstreamMode 1, chromaInterleave 1, mapType 0, tiled2LinearEnable 0

FOUND GST_MESSAGE_TAG!

    audio codec: AAC decoder

        bitrate: 448000

sampling frequency (Hz): 48000

number of channels: 6

[WARN]  VPU iram is less than needed, some parts don't use iram

[  486.470340] mxc_v4l2_output mxc_v4l2_output.0: Bypass IC.

>>V4L_SINK: Actually buffer status:

        hardware buffer : 13

        software buffer : 0

[Stopped  ][Vol=01][00:00:00/00:09:56][fps:0]get GST_MESSAGE_ELEMENT prepare-xwindow-id;

get GST_MESSAGE_ELEMENT playbin2-stream-changed, uri=(string)file:///media/sda1/big_buck_bunny_720p_h264.mov;

full screen size:1280x720

[V4L Update Display]: left=0, top=0, width=1280, height=720

fsl_player_play()

 

 

FSL_PLAYER_01.00_LINUX build on Apr 29 2014 02:31:04

        [h]display the operation Help

        [p]Play

        [s]Stop

        [e]Seek

        [a]Pause when playing, play when paused

        [v]Volume

        [m]Switch to mute or not

        [>]Play next file

        [<]Play previous file

        [r]Switch to repeated mode or not

        [f]Set full screen or not

        [z]resize the width and height

        [t]Rotate

        [c]Setting play rate

        [i]Display the metadata

        [x]eXit

[Playing  ][Vol=01][00:00:25/00:09:56][fps:24]^C Aborted by signal Interrupt...

Running time 0:00:26.922666666 render fps 23.995

Total rendered:647

[Playing  ][Vol=01][00:00:00/00:00:00][fps:24]

20140604_171246-resized-800.jpg

Arpan Chakravarty Kevin Wong

Outcomes