jpegenc_sn.dll64P that works?

63 views
Skip to first unread message

Jeff Mills

unread,
Aug 7, 2013, 12:56:56 PM8/7/13
to gst...@googlegroups.com
I've been trying to get the dspjpegencoder to work for the last couple days or so on my beagleboard-XM. I want to use it to encode mjpeg from my webcam. I know the one in  L23.i3.8 doesn't work, so I tried to get the one from L23.i3.3, but I get an "algo error"

The binaries I've been using are from http://gst-dsp.googlecode.com/files/tidsp-binaries-23.i3.8.tar.gz (which I thought had a working jpegencoder). 

This line works great without dsp: 

gst-launch videotestsrc num_buffers=200 ! jpegenc ! fakesink -v

With dsp binaries from tidsp-binaries-23.i3.8.tar.gz

gst-launch videotestsrc num_buffers=200 ! dspjpegenc ! fakesink -v

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
create_node: dsp node create failed
sink_setcaps: dsp node creation failed
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 283599854 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
create_node: dsp node create failed
sink_setcaps: dsp node creation failed
Setting pipeline to NULL ...
Freeing pipeline ...

and with only the jpegenc_sn.dll64P binary from  L23.i3.3 (248k):

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)mpeg2, framerate=(fraction)30/1
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDspJpegEnc:dspjpegenc0.GstPad:src: caps = image/jpeg, width=(int)320, height=(int)240, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstDspJpegEnc:dspjpegenc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)UYVY, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)mpeg2, framerate=(fraction)30/1
got_message: DSP event: cmd=0x0E00, arg1=2, arg2=0x0F07
gstdsp_got_error: algo error
ERROR: from element /GstPipeline:pipeline0/GstDspJpegEnc:dspjpegenc0: algo error
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstDspJpegEnc:dspjpegenc0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDspJpegEnc:dspjpegenc0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL
Freeing pipeline ...

dspmp4venc and dsph263enc work fine so I know DSP is working. I've tried compiling gst-dsp with both SN_API=1 and SN_API=2, still not works.

My system details: Ubuntu Quantal 12.10 demo image from http://elinux.org/BeagleBoardUbuntu#Quantal_12.10_armhf

#uname -a
#Linux arm 3.7.2-x6 #1 SMP Sat Jan 12 10:19:51 UTC 2013 armv7l armv7l armv7l GNU/Linux

#ls -lh /lib/dsp
total 22M
-rwxrwxrwx 1  500  500 1.3M Jul  2  2010 baseimage.dof
-rwxrwxrwx 1  500  500  51K Jul  2  2010 conversions.dll64P
-rwxrwxrwx 1  500  500  13K Jul  2  2010 dctn_dyn.dll64P
-rwxrwxrwx 1 root root 7.1M Aug  5 11:22 dsp.tar
-rwxrwxrwx 1  500  500  191 Sep 18  2010 get-version
-rwxrwxrwx 1  500  500 2.5M Jul  2  2010 h264vdec_sn.dll64P
-rwxrwxrwx 1  500  500 481K Aug  6 16:18 jpegdec_sn.dll64P
-rw-r--r-- 1 root root 248K Aug  6 11:16 jpegenc_sn.dll64P
-rw-r--r-- 1 root root 229K Aug  6 20:32 jpegenc_sn.dll64P.new
-rwxrwxrwx 1  500  500 9.1K Jul  2  2010 LICENSE
-rwxrwxrwx 1  500  500 767K Jul  2  2010 m4venc_sn.dll64P
-rwxrwxrwx 1  500  500  292 Sep 18  2010 Makefile
-rwxrwxrwx 1  500  500 890K Jul  2  2010 mp4vdec_sn.dll64P
-rwxrwxrwx 1  500  500 707K Jul  2  2010 mpeg4aacdec_sn.dll64P
-rwxrwxrwx 1  500  500  15K Jul  2  2010 qosdyn_3430.dll64P
-rwxrwxrwx 1  500  500  14K Jul  2  2010 ringio.dll64P
-rwxrwxrwx 1  500  500 4.3K Aug  6 16:38 test.dll64P
drwxr-xr-x 2 root root 4.0K Aug  6 16:17 tidsp-binaries-23.i3.8
-rwxrwxrwx 1 root root 7.1M Aug  6 10:53 tidsp-binaries-23.i3.8.tar
-rwxrwxrwx 1 root root 9.1K Jul 31 12:31 TSPA_Object_Code_Software_License_Agreement.txt
-rwxrwxrwx 1  500  500  53K Jul  2  2010 usn.dll64P
-rwxrwxrwx 1  500  500 245K Jul  2  2010 vpp_sn.dll64P

# gst-inspect | grep dsp
dsp:  dspdummy: DSP dummy element
dsp:  dspvdec: DSP video decoder
dsp:  dspadec: DSP audio decoder
dsp:  dsph263enc: DSP video encoder
dsp:  dspmp4venc: DSP MPEG-4 video encoder
dsp:  dspjpegenc: DSP video encoder
dsp:  dsph264enc: DSP video encoder
dsp:  dspvpp: DSP VPP filter
dsp:  dspipp: DSP IPP
dvdspu:  dvdspu: Sub-picture Overlay
spandsp:  spanplc: SpanDSP PLC

# zcat /proc/config.gz | grep TIDSP
CONFIG_TIDSPBRIDGE=m
CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
CONFIG_TIDSPBRIDGE_RECOVERY=y
# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set


Is there anyway to get mjpeg encoding on the beagleboard's DSP with ubuntu?

Felipe Contreras

unread,
Nov 27, 2013, 10:06:36 AM11/27/13
to Jeff Mills, gst-dsp
Hi,

On Wed, Aug 7, 2013 at 11:56 AM, Jeff Mills <jef...@gmail.com> wrote:
> I've been trying to get the dspjpegencoder to work for the last couple days
> or so on my beagleboard-XM. I want to use it to encode mjpeg from my webcam.
> I know the one in L23.i3.8 doesn't work, so I tried to get the one from
> L23.i3.3, but I get an "algo error"

The README explains it:

Note that the jpeg encoder in L23.i3.8 doesn't work (they compiled it wrongly),
and the one in L23.i3.3 might hang on some pipelines; you might have to turn
off enable-last-buffer, since only one output buffer would be available at any
given time.

Have you tried that property in the video sink you are using?

--
Felipe Contreras
Reply all
Reply to author
Forward
0 new messages