Using gst-dsp Video Encoding/Decoding

I'm using, (md5sum)

ed7ed01e9aefba8ddd77c13332cec120 big_buck_bunny_480p_surround-fix.avi

211MB

mp4: 854x480 from:
http://www.bigbuckbunny.org/index.php/download/

Regards,

Yes thats the one I have also, and even after updating to the newest gst-dsp the video is still very slow w/:

sudo gst-launch playbin2 uri=file:/path

I loaded the baseimage with dsp-exec, what am I doing wrong, is there something else I’ve missed?

I don't see anything obvious, this is with (2.6.38.4-x2 and Ubuntu
natty).. Basically what i'm going to push out tomorrow as demo images
on natty's release day..

Regards,

Well I’m on Ubuntu Maverick 2.6.39-rc4-d3. I just wont understand why it wouldnt be working. I need to figure this out soon, I have a deadline for my senior project next week.

Hi guys,

I have tried giving gst-inspect on my Board…
i use angstrom …
it says that the gst-inspect command is not found in sh
What is the reason?

2011/4/26 Victor Manuel Jáquez Leal <ceyusa@gmail.com>

I finally got big buck bunny working, now I need to figure out how to utilize the DSP for PTAMM. Here is the stream used in my program, I have modified it from a file that was written to handle video from a file. I get video with this stream, but its very slow and obviously not utilizing the dsp. If anyone has any suggestions on what I could modify that would be great, just note that I must have an RGB and a Gray stream for the program to work correctly.

g_strdup_printf(
"v4l2src device=/dev/video0 ! "
"decodebin ! "
"tee ! "
"ffmpegcolorspace ! "
"videoscale ! "
"video/x-raw-rgb,width=%d,height=%d ! "
"queue ! "
"appsink name=rgbvideo max-buffers=2 drop=false tee0. ! "
"queue ! "
"ffmpegcolorspace ! "
"videoscale ! "
"video/x-raw-gray,width=%d,height=%d ! "
“appsink name=grayvideo max-buffers=2 drop=false”, GST_MAX_WIDTH, GST_MAX_HEIGHT, GST_MAX_WIDTH, GST_MAX_HEIGHT);

if you see "ffmpegcolorspace" in your pipeline, expect it to be slow,
yours has it twice..

I know it doesn't do it now, but is colorspace conversion something
that the DSP could do well?

Any ideas how else I might be able to do this and still retain the RGB and Gray streams?

Yeap. There's the dspvpp element for that, but not all the conversions
are implemented, just RGB -> YUV for now.

Any ideas how else I might be able to do this and still retain the RGB
and Gray streams?

I am not saying you should not do color space conversion, just that
"ffmpegcolorspace" despite its name is just pure C code and known to
be very slow. A NEON optimized converter or running it on the DSP
should speed things up.

Ok any any suggestions on how I could do that?

Ok any any suggestions on how I could do that?

NEON optimized YUV to RGB code exists in several
projects, e.g. pixman:

http://cgit.freedesktop.org/~siamashka/pixman/tree/pixman/pixman-arm-neon-asm.S?h=yuv-arm-neon-wip#n1053

why something like that has not ended up in
gst I have no idea...

Ok any any suggestions on how I could do that?

and this:

http://www.schleef.org/blog/2009/09/19/cog-in-gst-plugins-bad/

If I install the gstreamer-ffmpeg plugin from synaptic, is it going to automatically utilize the NEON when ffmpeg is called? I believe I have the proper compile flags to use NEON:

-mfpu=neon, -mfloat-abi=softfp and -ftree-vectorize

If I install the gstreamer-ffmpeg plugin from synaptic, is it going to
automatically utilize the NEON when ffmpeg is called? I believe I have
the proper compile flags to use NEON:

>-mfpu=neon|, |-mfloat-abi=softfp| and |-ftree-vectorize|

yes, but that FFmpeg plugin is for video encoding/decoding. What you
want is just color conversion...

I’m a little confused. Is there something other than ffmpegcolorspace I should be using? I’m not sure how to use another colorspace converter with a gst stream…

Jeff Richmond wrote:

I'm a little confused. Is there something other than ffmpegcolorspace I should be using? I'm not sure how to use another
colorspace converter with a gst stream...

ffmpegcolorspace is pure C code and thus runs dead slow on the beagle.
NEON accelerated color space conversion is the thing to do, why this
has not been done (yet) for gstreamer I cannot tell you...

In your case where you need both RGB and grayscale, it might even make
sense to *write* a converter that provides both at the same time and
thus reads in the source YUV data only once. I put *write* in bold :slight_smile:

Hi there,

A simple pipeline to test would be like this:

gst-launch v4l2src device=/dev/video0 ! dspmp4venc ! filesink
location=./myfile.mp4

When I try this command I have got the following error:

root@arm:~/test# gst-launch v4l2src device=/dev/video0 ! dspmp4venc !
filesink location=./myfile.mp4
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device
'/dev/video0' is not a capture device.
Additional debug info:
v4l2_calls.c(515): gst_v4l2_open ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Capabilities: 0x4000002
Setting pipeline to NULL ...
Freeing pipeline ...

Does /dev/video0 exist?

$ ls /dev/video0

If so, does it represent a video capture device? are there more
/dev/video*? what does 'dmesg' say about v4l devices available?

Also you should ask to the mailing list, not to me.

Hi Robert,

I’m following the steps described in http://elinux.org/BeagleBoardUbuntu#DSP in order to set-up gst-dsp in BB-xM.
I have achieved to run dsp-test successful. The following command plays the video but dsp-load remains 0 (zero).

root@arm:~# sudo gst-launch playbin2 uri=file:///media/root/USB20FD/BigBuckBunny_480p_surround-fix.avi

Setting pipeline to PAUSED …
Pipeline is PREROLLING …
Missing element: AC-3 (ATSC A/52) decoder
WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type ‘audio/x-ac3, framed=(boolean)true, rate=(int)48000, channels=(int)6, alignment=(string)frame’.
Additional debug info:
gsturidecodebin.c(874): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock

Any idea about possible reason of this issue?
Thanks in advance.

Regards,
Ozkan.