19 months agomainwindow.ui: reduce font size of text to avoid truncation master
Eric Ruei [Wed, 7 Aug 2019 21:13:49 +0000 (17:13 -0400)]
mainwindow.ui: reduce font size of text to avoid truncation

reduce font size from 16 to 12

Signed-off-by: Eric Ruei <>
2 years agoloopback : trans-key-mode and zorder property settings
Manisha Agrawal [Fri, 13 Jul 2018 18:39:39 +0000 (13:39 -0500)]
loopback : trans-key-mode  and zorder property settings

Original trans-kay-mode and zorder property is not working with
DSS driver in Processor SDK 5.0. Only the gui layer is seen and no video
layer is seeen.

Following changes in the DRM properties enabled the original behaviour
of the demo -

1. The zorder of the GUI plane has to be lower then the video plane
2. In addition to this, "trans-key=mode" property needed to change from
original value 2 to 1. This change was needed only on AM57x SoC. For
AM437x SoC, no changes in trns-key-mode  value needed.

SOme more changes done to the code but they have no impact on the
fucntionality of the demo. They are there for demonstration purpose only
1. Demonstarted setting of "trans-key", "background","alphablender" and
"global_alpha" value settings. They can be used to change the background
color, or the tranparency value or to enable global alpha blending.

Signed-off-by: Manisha Agrawal <>
3 years agoRun time support for allocating memory CMEM vs OMAP_BO driver
Manisha Agrawal [Wed, 7 Feb 2018 22:30:48 +0000 (22:30 +0000)]
Run time support for allocating memory CMEM vs OMAP_BO driver

Following modifications:
1. The application was earlier build time selcting CMEM vs OMAP DRM memory for capture
buffer allocation. This has changed to select the memory type run time
as command line arguments.
2. Fix the pointer mishandling bug in cmem buffer allocation.
3. Build time warning fix for unused parameter.

Signed-off-by: Manisha Agrawal <>
3 years agocmem : common build for AM437x and AM57x
Manisha Agrawal [Wed, 7 Feb 2018 22:24:46 +0000 (22:24 +0000)]
cmem : common build for AM437x and AM57x

CMEM library inclusion is enabled for AM437x platform. Earlier the
inclusion was selective for AM57x build only as the CMEM driver was not
available in AM437x Processor SDK. That has changed since PSDK version

Signed-off-by: Manisha Agrawal <>
4 years agodual-cam-demo : Conditional build
Manisha Agrawal [Thu, 16 Feb 2017 15:18:09 +0000 (09:18 -0600)]
dual-cam-demo : Conditional build

Added support for conditional inclusion of the CMEM library when
building the code on AM57xx platform.

4 years agoCMEM buf : CPU processing on read-write cache buffer
Manisha Agrawal [Fri, 10 Feb 2017 19:36:22 +0000 (13:36 -0600)]
CMEM buf : CPU processing on read-write cache buffer

Many application requires to do CPU based processings on camera captured
video. Current example application allocates the capture driver buffer
from omapdrm that doesn't support read cache property on those buffers.
It results in 10x to 50x slow proeccsing by CPU compared to when buffers
are allocated through malloc (having read cache property). To enable CPU
for read cache buffer access on those capture buffers, buffers are
allocated from CMEM driver that support the cache operations on it's
allocated buffer. CMEM API usage are demonstrated in loopback.c file to
allocate the buffers and export the fd to capture and display driver
using dmabuf export feature.

4 years agoloopback : fix tearing issue
Manisha Agrawal [Mon, 19 Sep 2016 15:28:45 +0000 (10:28 -0500)]
loopback : fix tearing issue

The demo tearing effect. It wasn't using page flip interrupt handler to
manage the queue for shared buffer between capture and display. Fix the

4 years agoloopback : bug fix for resolution less then 640
Manisha Agrawal [Fri, 2 Sep 2016 17:26:12 +0000 (12:26 -0500)]
loopback : bug fix for resolution less then 640

Application was run time modifying the capture resolution to 640x480
when the display resolution width is lower then 640. At the time of
atomic mode setting, application was using default build time capture
resoution. This caused application failure with lower resolution display
like in AM437x-SK board that has display resolution of size 480x272.

Signed-off-by: Manisha Agrawal <>
4 years agoloopback : remove accidental line break
Manisha Agrawal [Wed, 20 Jul 2016 21:57:24 +0000 (16:57 -0500)]
loopback : remove accidental line break

In prior checkin, accidenatl line break was introducced. Remove the

Signed-off-by: Manisha Agrawal <>
4 years agoloopback : fix single camera use case
Manisha Agrawal [Tue, 12 Jul 2016 21:20:15 +0000 (16:20 -0500)]
loopback : fix single camera use case

The plane scaling resolution setting for single camera use case was
improper. Fixed the issue.

4 years agomainwindow : Remove dead code drm
Manisha Agrawal [Fri, 10 Jun 2016 21:21:53 +0000 (16:21 -0500)]
mainwindow : Remove dead code

Remove another dead code from the file.

4 years agomainwindow : remove dead code
Manisha Agrawal [Fri, 10 Jun 2016 21:09:30 +0000 (16:09 -0500)]
mainwindow : remove dead code

Removed the dead code related to the single camera functionality.
Improved code indentation.

Signed-off-by: Manisha Agrawal <>
4 years agomainwindow : use Mutex to access drm resource
Manisha Agrawal [Thu, 9 Jun 2016 21:03:25 +0000 (16:03 -0500)]
mainwindow : use Mutex to access drm resource

Mutex is used rather using global variables to prevent simultaneous
access to drm resource by loopback and main thread.

4 years agoloopback: Migrate to drm Atmoic Mode APIs
Manisha Agrawal [Tue, 7 Jun 2016 16:19:49 +0000 (11:19 -0500)]
loopback: Migrate to drm Atmoic Mode APIs

1. Migrate the demo from drm non-atomic mode to drm atmoic mode APIs.
2. Add support for run time detection of SoC to enable SoC specific
settings without passing user arguements to the fucntion.
3. Code cleanup related to buffer allocation and usage

5 years agoBug fixes for clicking exit button and single camera use case on AM4 GP EVM
Hongmei Gou [Mon, 28 Sep 2015 15:06:23 +0000 (11:06 -0400)]
Bug fixes for clicking exit button and single camera use case on AM4 GP EVM

1) Add NULL pointer check for free_vid_buffers: fix "128 pages are still in use"
   when clicking the Exit button

2) Correct the way of end-streaming: fix the issue of ending streaming on wrong
   cap device when only the built-in camera is there on AM4 GP EVM

Signed-off-by: Hongmei Gou <>
Signed-off-by: Manisha Agrawal <>
5 years agoadded support for demo working with single or dual camera. Earlier it worked only...
manisha [Thu, 27 Aug 2015 21:08:40 +0000 (16:08 -0500)]
added support for demo working with single or dual camera. Earlier it worked only with dual camera

5 years agocleanup related to connector settings that aren't required for this demo use case...
manisha [Wed, 15 Apr 2015 18:41:36 +0000 (13:41 -0500)]
cleanup related to connector settings that aren't required for this demo use case. Along with it, fixed the bug in capture_frame(). v4l2_dequeue_buffer() wasn't happening in that function as a result of two frame delay logic before retuning the buffers back to capture queue.

6 years agono memcpy between capture and display drivers. Achieved using dmabuf, no jitter by...
manisha [Fri, 10 Apr 2015 21:41:02 +0000 (16:41 -0500)]
no memcpy between capture and display drivers. Achieved using dmabuf, no jitter by introducing two frames delay of two frames between capture and display driver. Wait for 2015 LTS to get tthe async drmModeSetPlane() issue resolved

6 years agoRemoved direct access of DSS register.Insted used omapdrm APIs to change the DSS...
manisha [Thu, 26 Mar 2015 21:29:59 +0000 (21:29 +0000)]
Removed direct access of DSS register.Insted used omapdrm APIs to change the DSS properties

6 years agofix for frozen video display when PIP is disabled
manisha [Wed, 25 Mar 2015 21:36:52 +0000 (21:36 +0000)]
fix for frozen video display when PIP is disabled

6 years agoremoved hard coding of display resolution and used crtc plane resolution to set the...
manisha [Wed, 25 Mar 2015 20:00:09 +0000 (15:00 -0500)]
removed hard coding of display resolution and used crtc plane resolution to set the same

6 years agoAdded support for HDMI display. Added the workaround to clear the PIP box windows...
manisha [Thu, 12 Mar 2015 16:47:46 +0000 (11:47 -0500)]
Added support for HDMI display. Added the workaround to clear the PIP box windows seen when PIP displayed. This issue is seen on QT5 as QWSServer is no more supported

6 years Use qmake instead of qmake2
Franklin S. Cooper Jr [Wed, 4 Mar 2015 15:01:10 +0000 (09:01 -0600)] Use qmake instead of qmake2

Signed-off-by: Franklin S. Cooper Jr <>
6 years agodual_camera: Allow building on Qt 5 and Qt 4
Franklin S Cooper Jr [Fri, 20 Feb 2015 16:48:00 +0000 (16:48 +0000)]
dual_camera: Allow building on Qt 5 and Qt 4

Signed-off-by: Franklin S Cooper Jr <>
6 years agochanged display user level APIs from fbdev to libdrm
manisha [Thu, 19 Feb 2015 21:18:37 +0000 (15:18 -0600)]
changed display user level APIs from fbdev to libdrm

6 years agoFix for DSS scaling error on very small screens
Josh Elliott [Mon, 14 Jul 2014 09:51:08 +0000 (04:51 -0500)]
Fix for DSS scaling error on very small screens

6 years agoheader file update for double buffer patch
Josh Elliott [Mon, 12 May 2014 13:54:53 +0000 (08:54 -0500)]
header file update for double buffer patch

6 years agoAdded double buffering to display to eliminate tearing
Josh Elliott [Sat, 10 May 2014 17:09:12 +0000 (12:09 -0500)]
Added double buffering to display to eliminate tearing

6 years agoMove license to individual file
Franklin S. Cooper Jr [Fri, 9 May 2014 15:18:40 +0000 (10:18 -0500)]
Move license to individual file

6 years agoFixed jpeg image glitch & single camera mode GUI DSS blending issue
Josh Elliott [Tue, 6 May 2014 10:00:59 +0000 (05:00 -0500)]
Fixed jpeg image glitch & single camera mode GUI DSS blending issue

6 years agoCorrect link to Matrix description document
Franklin S. Cooper Jr [Fri, 2 May 2014 19:00:55 +0000 (14:00 -0500)]
Correct link to Matrix description document

6 years agoRenaming files
Franklin S. Cooper Jr [Fri, 2 May 2014 14:47:20 +0000 (09:47 -0500)]
Renaming files

* Rename files to remove arm_multimedia since these demos are not apart of the
  multimedia group in Matrix.

Signed-off-by: Franklin S. Cooper Jr <>
6 years agoImproved v4l2 stream on function
Josh Elliott [Tue, 29 Apr 2014 18:49:09 +0000 (13:49 -0500)]
Improved v4l2 stream on function

6 years agoCleaned up v4l2/fbdev init and touched up PiP Settings
Josh Elliott [Tue, 29 Apr 2014 15:40:41 +0000 (10:40 -0500)]
Cleaned up v4l2/fbdev init and touched up PiP Settings

6 years agoCamera images now scale to all display resolutions
Josh Elliott [Mon, 21 Apr 2014 13:01:17 +0000 (08:01 -0500)]
Camera images now scale to all display resolutions

7 years agoRename SDK Makefile back to
Franklin S. Cooper Jr [Wed, 19 Mar 2014 15:51:13 +0000 (10:51 -0500)]
Rename SDK Makefile back to

* This insures that Qt users will have qmake generate "Makefile" instead of
  App-Makefile which is the expected/default behavior.

Signed-off-by: Franklin S. Cooper Jr <>
7 years agoUse the correct name for the moc file to fix the build error
Franklin S. Cooper Jr [Sat, 22 Feb 2014 00:06:40 +0000 (18:06 -0600)]
Use the correct name for the moc file to fix the build error

Signed-off-by: Franklin S. Cooper Jr <>
7 years agoComplete architecture overhaul due to the genius of Franklin C. FPS limited to ~30.
Josh Elliott [Thu, 20 Feb 2014 19:40:03 +0000 (13:40 -0600)]
Complete architecture overhaul due to the genius of Franklin C. FPS limited to ~30.

7 years agoCleaned up V4L2 init
Josh Elliott [Tue, 18 Feb 2014 15:47:43 +0000 (09:47 -0600)]
Cleaned up V4L2 init

7 years agoFixed incorrect touchscreen calibration
Josh Elliott [Tue, 18 Feb 2014 14:26:49 +0000 (08:26 -0600)]
Fixed incorrect touchscreen calibration

7 years agoAdded index number to saved images. Set PiP scaling to 1/2 to avoid DSS errors
Josh Elliott [Tue, 18 Feb 2014 11:12:23 +0000 (05:12 -0600)]
Added index number to saved images.  Set PiP scaling to 1/2 to avoid DSS errors

7 years agoAdditional minior cleanup
Franklin S Cooper Jr [Fri, 7 Feb 2014 21:02:40 +0000 (15:02 -0600)]
Additional minior cleanup

7 years agoRemove unecessary variables from Makefile
Franklin S Cooper Jr [Fri, 7 Feb 2014 20:52:30 +0000 (14:52 -0600)]
Remove unecessary variables from Makefile

Signed-off-by: Franklin S Cooper Jr <>
7 years agoUpdate Makefile
Franklin S Cooper Jr [Wed, 5 Feb 2014 19:20:43 +0000 (13:20 -0600)]
Update Makefile

* Update Makefile to throw an error if destination directory doesn't exist.
* By default only build release version
* Rename to Makefile
* Have qmake generate App-Makefile as the makefile name.

Signed-off-by: Franklin S Cooper Jr <>
7 years agoAdded initial jpeg capture support and added workaround for 720p 1/4 scaling issue
Josh Elliott [Tue, 4 Feb 2014 17:17:44 +0000 (11:17 -0600)]
Added initial jpeg capture support and added workaround for 720p 1/4 scaling issue

7 years agoImproved GUI for single camera mode
Josh Elliott [Mon, 3 Feb 2014 16:21:52 +0000 (10:21 -0600)]
Improved GUI for single camera mode

7 years agoAdded support for any resolution and overhauled fb init
Josh Elliott [Fri, 31 Jan 2014 16:26:05 +0000 (10:26 -0600)]
Added support for any resolution and overhauled fb init

7 years agoEnable single camera mode
Josh Elliott [Tue, 28 Jan 2014 16:36:43 +0000 (10:36 -0600)]
Enable single camera mode

-Program no longer fails if /dev/video1 is not available
-Removed DSS configuration from script and put it into program
-Added matrix desciption

7 years agoUpdate
Franklin S. Cooper Jr [Wed, 22 Jan 2014 19:21:23 +0000 (13:21 -0600)]

* Add default value for MATRIX_APP_DIR variable.
* Correct the path where the Matrix files should be copied to
* Delete temp file.

7 years agoUpdate dual camera script
Franklin S. Cooper Jr [Wed, 22 Jan 2014 18:21:53 +0000 (12:21 -0600)]
Update dual camera script

* Update the dual camera script so that Matrix is closed before the application
  is ran.
* When the application is complete open Matrix back up.

Signed-off-by: Franklin S. Cooper Jr <>
7 years agoUpdated Makefile to work with OE integration
Franklin S. Cooper Jr [Wed, 22 Jan 2014 15:53:00 +0000 (09:53 -0600)]
Updated Makefile to work with OE integration

7 years agoAdd Makefile build target
Franklin S. Cooper Jr [Tue, 21 Jan 2014 21:42:49 +0000 (15:42 -0600)]
Add Makefile build target

7 years agoUse correct shell script name
Josh Elliott [Tue, 21 Jan 2014 13:52:22 +0000 (07:52 -0600)]
Use correct shell script name

7 years agoAdd files for Matrix integration
Josh Elliott [Tue, 21 Jan 2014 13:49:20 +0000 (07:49 -0600)]
Add files for Matrix integration

7 years agoInitial commit
Josh Elliott [Tue, 21 Jan 2014 13:12:54 +0000 (07:12 -0600)]
Initial commit