Viddec3test: Fix flush issue in co-planar buffers.
For single planar, the flush mechanism was returning the same buffer
again when the process call was called during flush.
Resetting the number of output buffers to 0 in addition to number of inBufs
resolves the issue. Libdce counts the number of address translations based
these counts.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
For single planar, the flush mechanism was returning the same buffer
again when the process call was called during flush.
Resetting the number of output buffers to 0 in addition to number of inBufs
resolves the issue. Libdce counts the number of address translations based
these counts.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
Adapt copycodectest and yuvcopytest to libdce
closed dmabuf handles that were opened by the application.
Used new dsp_dce_alloc and dsp_dce_free functions as per new libdce.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
closed dmabuf handles that were opened by the application.
Used new dsp_dce_alloc and dsp_dce_free functions as per new libdce.
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
viddec3test: close file descriptor created for input buffer
omap_bo_dmabuf creates a dup file descriptor for the caller to use
the buffers. The caller needs to explicitly close the dup fd to avoid
any fd leak. Adding the close of fd for the input buffer stream.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
omap_bo_dmabuf creates a dup file descriptor for the caller to use
the buffers. The caller needs to explicitly close the dup fd to avoid
any fd leak. Adding the close of fd for the input buffer stream.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
viddec3test: Close the duplicate fd's created from omap_bo_dmabuf
omap_bo_dmabuf creates a dup fd for the application and the user
must close the fd after it is done with the usage otherwise there
would be file descriptors leak.
Also, cleaned up the code for the decoder_close function to delete
the decoder related in the correct order.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
omap_bo_dmabuf creates a dup fd for the application and the user
must close the fd after it is done with the usage otherwise there
would be file descriptors leak.
Also, cleaned up the code for the decoder_close function to delete
the decoder related in the correct order.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
viddec3test: Add support for multi-thread for multiple decode
For dual decode, use the pthreads to use the viddec3test application
as a multithread application rather than doing the the process calls
in a sequential way.
Signed-off-by: Ram Prasad <x0038811@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
For dual decode, use the pthreads to use the viddec3test application
as a multithread application rather than doing the the process calls
in a sequential way.
Signed-off-by: Ram Prasad <x0038811@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
display-kms: removed debug printf from post_vid_buffer
Signed-off-by: Chandramohan <chandramohan.c@ti.com>
Signed-off-by: Chandramohan <chandramohan.c@ti.com>
Added updated makefile.am
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
Added copycodectest and yuvcopy test source files
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
Signed-off-by: Pradeep Venkatasubbarao <pradeepv@ti.com>
disp-kms: Add support for dual capture
Using '--dual' option, two different video nodes can be openeed
Running the loopback in a thred with common display.
One thread runs in full screen while other is overlayed on top of it.
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Using '--dual' option, two different video nodes can be openeed
Running the loopback in a thred with common display.
One thread runs in full screen while other is overlayed on top of it.
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
disp-kms: Add noScale flag for overlays
This flag is used by post_vid_buffer to decide between
wheather a buffer is displayed as full screen or as overlay.
In case, of overlay, x and y are used as position co ordinates
of the overlay.
Also, added a function to set overlay to use plane[1] and set Z order
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
This flag is used by post_vid_buffer to decide between
wheather a buffer is displayed as full screen or as overlay.
In case, of overlay, x and y are used as position co ordinates
of the overlay.
Also, added a function to set overlay to use plane[1] and set Z order
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
dmabuftest: Don't call omap_bo_dmabuf multiple times
Each call to omap_bo_dmabuf returns a duplicated dmabuf fd
Therefore, fd from reqbuf (exported first time) will not match with
fd of the same buffer while queueing due to dup(fd)
Using buffer->fd array for saving dmabuf fds
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Each call to omap_bo_dmabuf returns a duplicated dmabuf fd
Therefore, fd from reqbuf (exported first time) will not match with
fd of the same buffer while queueing due to dup(fd)
Using buffer->fd array for saving dmabuf fds
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
dmabuftest: Enable dmabuftest app
Fixed configure.ac picking host machine kernel headers problem
Using AC_CHECK_HEADERS for this
Removing check for struct member to check support for dmabuf
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
Fixed configure.ac picking host machine kernel headers problem
Using AC_CHECK_HEADERS for this
Removing check for struct member to check support for dmabuf
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
util/demuxer: Fix the memory leak
Free the memory for esds_data aloocated during demux_init once the
demux_deinit is called.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Free the memory for esds_data aloocated during demux_init once the
demux_deinit is called.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
v4l2capturedisplay: New capture and display app
This is a new app which captures buffers from v4l2 device and
displays via drm in fullscreeen.
Currently only memory mapped buffers are handled
Also, only YUYV format is supported for capture
v2->v3
======
Corrected coding style
Removed unused functions, debug code
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
This is a new app which captures buffers from v4l2 device and
displays via drm in fullscreeen.
Currently only memory mapped buffers are handled
Also, only YUYV format is supported for capture
v2->v3
======
Corrected coding style
Removed unused functions, debug code
Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
viddec3test: Add the flush mechanism after end of file
When the end of file is encountered, the buffers need to be unlocked
and freed by adding the flush mechanism via the codec.
This adds the mechanism and removes the code where the fd were unlocked
during the decoder close.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
When the end of file is encountered, the buffers need to be unlocked
and freed by adding the flush mechanism via the codec.
This adds the mechanism and removes the code where the fd were unlocked
during the decoder close.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
disp-kms: Add support for deletion of the devices
Added the support for deleting the devices and the file descriptor
used by the kms display. Also added the reference counting for the
displays to check before deleting the global file descriptor which
is used by all the displays.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Added the support for deleting the devices and the file descriptor
used by the kms display. Also added the reference counting for the
displays to check before deleting the global file descriptor which
is used by all the displays.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
disp-kms: Add support for dual display
For dual display, a single file descriptor or fd could be used for by the two
displays so that it has master permissions for display planes, hence using a
single global file descriptor for kms display.
Adding the mechanism where the second display or connector uses a different
plane.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
For dual display, a single file descriptor or fd could be used for by the two
displays so that it has master permissions for display planes, hence using a
single global file descriptor for kms display.
Adding the mechanism where the second display or connector uses a different
plane.
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
dual display fix
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
Makefile Fix for build issue
Added -lm -lavcodec in Makefile.am to avoid the linking issue
Signed-off-by: Chandramohan <a0131763@ti.com>
Added -lm -lavcodec in Makefile.am to avoid the linking issue
Signed-off-by: Chandramohan <a0131763@ti.com>
HACK ! added a hack to support MPEG4 format
Function implemented to read the mp4 file into a buffer and parses
for esds data required for ivahd_mpeg4dec decoder and it is copied on
top of the first input buffer.
Only 720p/1080p video is tested
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
Function implemented to read the mp4 file into a buffer and parses
for esds data required for ivahd_mpeg4dec decoder and it is copied on
top of the first input buffer.
Only 720p/1080p video is tested
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
HACK! added a hack to support mpeg2 video format
Padded width and height are same as width and height for mpeg2 format
this is a hack to support it and only 720p video is tested.
demux.c cleaned up and moved generic include headers to demux.h
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
Padded width and height are same as width and height for mpeg2 format
this is a hack to support it and only 720p video is tested.
demux.c cleaned up and moved generic include headers to demux.h
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
Fixed Memory leak in display pipeline
Earlier, all output buffers were not being freed
in the display path. Due this, the system will run out
of buffers and app would eventually not get memory resulting
in crash.
This patch fixes this issue of memory leak.
It is also ensured that Buffers are unlocked before freeing.
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
Earlier, all output buffers were not being freed
in the display path. Due this, the system will run out
of buffers and app would eventually not get memory resulting
in crash.
This patch fixes this issue of memory leak.
It is also ensured that Buffers are unlocked before freeing.
Signed-off-by: Chandramohan C <chandramohan.c@ti.com>
[DMABUF] dmabuf changes according to the IPC3.X
1. Changed vidde3test app to pass dmabuf fd for inbuf/outbuf.
2. buffer lock and unlock is added for outbuf.
3. X11 dependencies removed.
4. added dce_init/dce_deinit API exposed by libdce
Signed-off-by: Chandramohan <a0131763@ti.com>
1. Changed vidde3test app to pass dmabuf fd for inbuf/outbuf.
2. buffer lock and unlock is added for outbuf.
3. X11 dependencies removed.
4. added dce_init/dce_deinit API exposed by libdce
Signed-off-by: Chandramohan <a0131763@ti.com>
Changed Makefile.am to not include kernel headers
Fixed clashing of kernel headers with sys headers
Due to the v4l2.c (needed for dmabuftest)
Fixed clashing of kernel headers with sys headers
Due to the v4l2.c (needed for dmabuftest)
DEBIAN: debianization
Hack! disp-kmscube: reduce u/v by 10%
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
New display kmscube
Add a new display 'kmscube', based on the kmscube application by Arvin Schnell
and Rob Clark.
This display 'kmscube' draws a rotating 3d cube with EGL on kms display, with
video mapped as a texture on the cube faces.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add a new display 'kmscube', based on the kmscube application by Arvin Schnell
and Rob Clark.
This display 'kmscube' draws a rotating 3d cube with EGL on kms display, with
video mapped as a texture on the cube faces.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
display kms: align width on 128 bytes to please Ducati
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
omx cam: do not select sensor for stereo mode
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
omx cam: add test app
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
util: do not redefine bool in C++
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
display-kms: add option to disable multiplanar
Signed-off-by: Hervé Fache <h-fache@ti.com>
Conflicts:
util/display-kms.c
Signed-off-by: Hervé Fache <h-fache@ti.com>
Conflicts:
util/display-kms.c
disp_open: do not crash on error
Signed-off-by: Hervé Fache <h-fache@ti.com>
Signed-off-by: Hervé Fache <h-fache@ti.com>
display: add close "virtual" function
Change the per-display close function into a proper "virtual" function
mechanism with function pointer in the display structure. This fixes the
segfault, when closing a kms display.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Change the per-display close function into a proper "virtual" function
mechanism with function pointer in the display structure. This fixes the
segfault, when closing a kms display.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
viddec3test: handle non-multiplanar
Latest non-multiplanar dri2video in xf86-video-omap now uses a single buffer
under x11 instead of separate Y and U/V. Adapt viddec3test, like gst-ducati
does, and keep KMS multiplanar functional.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Latest non-multiplanar dri2video in xf86-video-omap now uses a single buffer
under x11 instead of separate Y and U/V. Adapt viddec3test, like gst-ducati
does, and keep KMS multiplanar functional.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
display: new multiplanar qualifier
Introduce a new "qualifier" on displays and display buffers, to keep track of
whether we have a single buffer for Y/U/V or if we have Y and U/V separated.
KMS display buffers are multiplanar, and X11 display buffers are
non-multiplanar since latest non-multiplanar dri2video in xf86-video-omap.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Introduce a new "qualifier" on displays and display buffers, to keep track of
whether we have a single buffer for Y/U/V or if we have Y and U/V separated.
KMS display buffers are multiplanar, and X11 display buffers are
non-multiplanar since latest non-multiplanar dri2video in xf86-video-omap.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
viddec3test: new option --loop
Allow to playback in loop; in which case we rewind when reaching the end of the
stream.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Allow to playback in loop; in which case we rewind when reaching the end of the
stream.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
demux: add rewind
New demux_rewind() function, to seek to frame 0 of a stream and allow playback
in a loop.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
New demux_rewind() function, to seek to frame 0 of a stream and allow playback
in a loop.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
viddec3test: new option --no-process
Allows to specify from command line that we do not actually want to call
VIDDEC3_process method. This is for benchmarking. Note that rate control will
still work.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Allows to specify from command line that we do not actually want to call
VIDDEC3_process method. This is for benchmarking. Note that rate control will
still work.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
disp: new option --debug and dynamic debug
We introduce a new DBG() macro for debug printing, which can be enabled or
disabled at runtime. This, to allow benchmarking.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
We introduce a new DBG() macro for debug printing, which can be enabled or
disabled at runtime. This, to allow benchmarking.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
disp: new option --no-post to disable buffers posting
This allows to disable display updates from command line for benchmarking
purposes. This is done by overriding the display post_buffer() and
post_vid_buffer() functions with empty ones. Note that rate control does still
work.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
This allows to disable display updates from command line for benchmarking
purposes. This is done by overriding the display post_buffer() and
post_vid_buffer() functions with empty ones. Note that rate control does still
work.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
disp: new option --fps to maintain playback rate
Add a new rate control mechanism to the generic display, to allow forcing the
playback rate from command line.
We add rate control calls in the generic display functions disp_post_buffer()
and disp_post_vid_buffer(). As this is in the generic display part, x11 and kms
(and future) displays benefit from that mechanism.
We use the mark() and usleep() functions for the rate control implementation,
and we do also filter a bit the sleep duration, to avoid being too "choppy".
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add a new rate control mechanism to the generic display, to allow forcing the
playback rate from command line.
We add rate control calls in the generic display functions disp_post_buffer()
and disp_post_vid_buffer(). As this is in the generic display part, x11 and kms
(and future) displays benefit from that mechanism.
We use the mark() and usleep() functions for the rate control implementation,
and we do also filter a bit the sleep duration, to avoid being too "choppy".
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
mark(): handle one second change properly
We handle one second change properly. Two seconds and more will still lead to
erroneous deltas.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
We handle one second change properly. Two seconds and more will still lead to
erroneous deltas.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
viddec3test: -h, --help command line options
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Ignore tags
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add disp_close, disp_x11_close
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
viddec3test: better initialization of buffer fields
We zero the allocated structures and initialize more fields to their correct
values. This, to avoid complaints from the codec.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
We zero the allocated structures and initialize more fields to their correct
values. This, to avoid complaints from the codec.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
add NOCONFIGURE support to autogen.sh
add --disable-x11 option
For example, if you have x11/libdri2 but don't want to build x11
support, or if you have a pre-dri2video version of libdri2.
For example, if you have x11/libdri2 but don't want to build x11
support, or if you have a pre-dri2video version of libdri2.
Preserve user $CFLAGS
Do not override the $CFLAGS variable internally to allow specifying it at
configure time. Keep the Linux kernel include path flags in a separate
LIN_CFLAGS variable.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Do not override the $CFLAGS variable internally to allow specifying it at
configure time. Keep the Linux kernel include path flags in a separate
LIN_CFLAGS variable.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
util: silence the compiler
The compiler complains about this:
util.c: In function 'disp_get_vid_buffers':
util.c:76:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
This patch makes the counter variable unsigned too.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
The compiler complains about this:
util.c: In function 'disp_get_vid_buffers':
util.c:76:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
This patch makes the counter variable unsigned too.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
configure.ac: pass kernel source path
By default the configure.ac only checked for videodev2.h in
/usr/src/linux-headers-$kversion.
With this patch the user can pass the kernel source path with the parameter
--with-kernel-source.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
By default the configure.ac only checked for videodev2.h in
/usr/src/linux-headers-$kversion.
With this patch the user can pass the kernel source path with the parameter
--with-kernel-source.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
fliptest: request OMAP_BO_SCANOUT buffers
Works on OMAP5 µEVM.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Works on OMAP5 µEVM.
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Add linux-headers include dir
Signed-off-by: Xavier Boudet <x-boudet@ti.com>
Signed-off-by: Xavier Boudet <x-boudet@ti.com>
fixes for proper stride for tiled buffers
viddec: support for multiple decoder instances
Enable support for testing multiple decoders in a single process.
Enable support for testing multiple decoders in a single process.
x11: only open driver once
This is needed if you have multiple dri2video windows in a single
process, since GEM handles only have meaning within the context of
a single file-open.
This is needed if you have multiple dri2video windows in a single
process, since GEM handles only have meaning within the context of
a single file-open.
viddec3test: add profiling for render times
camera/v4l2 fixes
add missing #include's for config.h
WIP: x11/dri2video support
fix typo in checking for libdri2
Only enable v4l2/dmabuf tests if supported
Test v4l2 headers, and only enable v4l2/dmabuf tests if dmabuf support
is detected.
Test v4l2 headers, and only enable v4l2/dmabuf tests if dmabuf support
is detected.
add viddec3 decoder test
add video buffer lock/unlock API
Intended to make life easier for clients like video decode test, which
needs a pool of buffers it can allocate from, and later free back to.
Intended to make life easier for clients like video decode test, which
needs a pool of buffers it can allocate from, and later free back to.
add video buffer support
v4l2: add mcf pipeline setup
The MEDIA_IOC_SETUP_LINK sometimes fails with a timeout msg, and DQBUF
still hangs, but at least now it isn't failing at STREAMON.
The MEDIA_IOC_SETUP_LINK sometimes fails with a timeout msg, and DQBUF
still hangs, but at least now it isn't failing at STREAMON.
Initial commit