[PATCH 1/2] jpeg: fixes for old socket-node

10 views
Skip to first unread message

Felipe Contreras

unread,
Feb 16, 2012, 10:41:46 AM2/16/12
to gst...@googlegroups.com, Felipe Contreras
Looks like there's a difference between L23.i3.3 and L23.i3.4, but since
the latter was never released publicly, let's assume SN_API=1 means the
former.

Unfortunately, the socket-node doesn't allow more than one buffer, which
would hang some pipelines. We could disable use_pinned, but that's going
backwards, as use_pinned must go away.

Maybe there's a way to 'unhang' the pipeline somehow, but for now this
is all we can do.

Signed-off-by: Felipe Contreras <felipe.c...@nokia.com>
---
gstdspvenc.c | 10 ++++++++++
tidsp/td_jpegenc.c | 2 +-
2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/gstdspvenc.c b/gstdspvenc.c
index c0158a5..027b8b9 100644
--- a/gstdspvenc.c
+++ b/gstdspvenc.c
@@ -328,7 +328,17 @@ sink_setcaps(GstPad *pad,
switch (base->alg) {
case GSTDSP_JPEGENC:
du_port_alloc_buffers(base->ports[0], 1);
+#if SN_API > 1
du_port_alloc_buffers(base->ports[1], 2);
+#else
+ /* old versions of the sn can't handle 2 buffers */
+ /*
+ * Some constrained pipelines might starve because of this. You
+ * might want to try enable-last-buffer=false on some sinks.
+ * TODO Is there any way around this?
+ */
+ du_port_alloc_buffers(base->ports[1], 1);
+#endif
break;
default:
du_port_alloc_buffers(base->ports[0], 2);
diff --git a/tidsp/td_jpegenc.c b/tidsp/td_jpegenc.c
index 25c93d2..c424060 100644
--- a/tidsp/td_jpegenc.c
+++ b/tidsp/td_jpegenc.c
@@ -80,7 +80,7 @@ struct dyn_params {
uint32_t huffman_table;
uint32_t quant_table;

-#if SN_API > 0
+#if SN_API > 1
/* apparently only sizes 32 and 52 work. */
uint32_t resize;
#endif
--
1.7.9.1

Felipe Contreras

unread,
Feb 16, 2012, 10:41:47 AM2/16/12
to gst...@googlegroups.com, Felipe Contreras
Signed-off-by: Felipe Contreras <felipe.c...@nokia.com>
---
README | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/README b/README
index 8dcb41e..08a268e 100644
--- a/README
+++ b/README
@@ -37,3 +37,22 @@ the DSP running a proper baseimage (baseimage.dof).

See:
http://omapzoom.org/wiki/L23.i3.8_Release_Notes
+
+== compatibility ==
+
+gst-dsp supports multiple versions of DSP socket-nodes, and tidspbridge driver.
+
+socket nodes:
+
+ L23.i3.8: SN_API=2
+ L23.i3.3: SN_API=1
+
+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.
+
+tidspbridge:
+
+ since staging: DSP_API=2
+ since ioctl renumbering: DSP_API=1
--
1.7.9.1

Reply all
Reply to author
Forward
0 new messages