Skip to content

Commit

Permalink
Made changes for AM62A_QNX for single cam and tidl demo
Browse files Browse the repository at this point in the history
  • Loading branch information
Akshay-Abdar committed Dec 3, 2024
1 parent c9673db commit 6bed5e7
Show file tree
Hide file tree
Showing 12 changed files with 567 additions and 11 deletions.
2 changes: 2 additions & 0 deletions apps/src/input_block.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,9 @@ int32_t create_input_block(GraphObj *graph, InputBlock *input_block)
sprintf(sensor_name, "SENSOR_OV2312_UB953_LI");
format_pixel_container = TIVX_RAW_IMAGE_16_BIT;
format_msb = 9;
#if defined(TARGET_OS_LINUX)
v4l2_pix_format = v4l2_fourcc('B','G','I','0');
#endif
output_width = 1600;
output_height = 1300;
}
Expand Down
17 changes: 16 additions & 1 deletion cmake/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ endif()

set(TARGET_SOC_LOWER $ENV{SOC})
set(TARGET_OS $ENV{TARGET_OS})
set(QNX_SDP $ENV{QNX_SDP})

if ("${TARGET_OS}" STREQUAL "")
set(TARGET_OS LINUX)
Expand Down Expand Up @@ -82,6 +83,7 @@ add_definitions(

set(VISION_APPS_LIBS_PATH $ENV{VISION_APPS_LIBS_PATH})
set(EDGEAI_LIBS_PATH $ENV{EDGEAI_LIBS_PATH})
set(QNX_LIB_PATH $ENV{QNX_LIB_PATH})
link_directories(${TARGET_FS}/usr/lib/aarch64-linux
${TARGET_FS}/usr/lib
${CMAKE_LIBRARY_PATH}/usr/lib
Expand All @@ -93,6 +95,7 @@ link_directories(${TARGET_FS}/usr/lib/aarch64-linux
if ("${TARGET_OS}" STREQUAL "QNX")
link_directories(${PSDK_QNX_PATH}/qnx/codec/vpu/OpenMAXIL/core/nto/aarch64/so.le/
${PSDK_QNX_PATH}/qnx/codec/vpu/OpenMAXIL/utility/nto/aarch64/so.le
${QNX_LIB_PATH}
)
endif()

Expand Down Expand Up @@ -186,14 +189,26 @@ if ("${TARGET_OS}" STREQUAL "QNX")
ti-pdk
ti-sciclient
c++
c++fs
omxcore_j7
omxil_j7_utility)
add_definitions(
-D_QNX_SOURCE
)
endif()

if ("${TARGET_SOC}" STREQUAL "AM62A" AND "${TARGET_OS}" STREQUAL "QNX")
list(APPEND
SYSTEM_LINK_LIBS
ti-csirxlld
ti-fvid2lld)
endif()

if ("${QNX_SDP}" STREQUAL "710")
list(APPEND
SYSTEM_LINK_LIBS
c++fs)
endif()

set(COMMON_LINK_LIBS
edgeai-tiovx-apps
)
Expand Down
10 changes: 9 additions & 1 deletion modules/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,18 @@ if ("${TARGET_CPU}" STREQUAL "A72" OR "${TARGET_CPU}" STREQUAL "A53")
list(APPEND
SRC_FILES
src/omx_encode_module.c
src/omx_decode_module.c)
src/omx_decode_module.c)
endif()
endif()

if ("${TARGET_SOC}" STREQUAL "AM62A" AND "${TARGET_OS}" STREQUAL "QNX")
list(APPEND
SRC_FILES
src/tiovx_capture_module.c
src/qnx_display_module.c
src/tiovx_aewb_module.c)
endif()

if ("${TARGET_SOC}" STREQUAL "J721E" OR "${TARGET_SOC}" STREQUAL "J721S2" OR "${TARGET_SOC}" STREQUAL "J742S2" OR "${TARGET_SOC}" STREQUAL "J784S4" OR "${TARGET_SOC}" STREQUAL "J722S")
list(APPEND
SRC_FILES
Expand Down
12 changes: 10 additions & 2 deletions modules/core/include/tiovx_modules_cbs.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,19 @@
#include "tiovx_pixelwise_add_module.h"
#include "tiovx_lut_module.h"

#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2)
#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2) || defined(SOC_AM62A)
#if !defined(SOC_AM62A)
#include "tiovx_display_module.h"
#endif
#include "tiovx_capture_module.h"
#include "tiovx_aewb_module.h"
#if !defined(SOC_AM62A)
#include "tiovx_sde_module.h"
#include "tiovx_sde_viz_module.h"
#include "tiovx_dof_module.h"
#include "tiovx_dof_viz_module.h"
#endif
#endif

#ifdef __cplusplus
extern "C" {
Expand Down Expand Up @@ -117,14 +121,18 @@ typedef enum {
TIOVX_PIXELWISE_MULTIPLY,
TIOVX_PIXELWISE_ADD,
TIOVX_LUT,
#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2)
#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2) || defined(SOC_AM62A)
#if !defined(SOC_AM62A)
TIOVX_DISPLAY,
#endif
TIOVX_CAPTURE,
TIOVX_AEWB,
#if !defined(SOC_AM62A)
TIOVX_SDE,
TIOVX_SDE_VIZ,
TIOVX_DOF,
TIOVX_DOF_VIZ,
#endif
#endif
TIOVX_MODULES_NUM_MODULES,
} NODE_TYPES;
Expand Down
6 changes: 5 additions & 1 deletion modules/core/src/tiovx_modules_cbs.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,9 @@ NodeCbs gNodeCbs[TIOVX_MODULES_NUM_MODULES] =
.delete_node = tiovx_lut_delete_node,
.get_cfg_size = tiovx_lut_get_cfg_size,
.get_priv_size = tiovx_lut_get_priv_size
#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2)
#if defined(SOC_J721E) || defined(SOC_J721S2) || defined(SOC_J784S4) || defined(SOC_J722S) || defined(SOC_J742S2) || defined(SOC_AM62A)
},
#if !defined(SOC_AM62A)
{
.init_node = tiovx_display_init_node,
.create_node = tiovx_display_create_node,
Expand All @@ -216,6 +217,7 @@ NodeCbs gNodeCbs[TIOVX_MODULES_NUM_MODULES] =
.get_cfg_size = tiovx_display_get_cfg_size,
.get_priv_size = tiovx_display_get_priv_size
},
#endif
{
.init_node = tiovx_capture_init_node,
.create_node = tiovx_capture_create_node,
Expand All @@ -232,6 +234,7 @@ NodeCbs gNodeCbs[TIOVX_MODULES_NUM_MODULES] =
.get_cfg_size = tiovx_aewb_get_cfg_size,
.get_priv_size = tiovx_aewb_get_priv_size
},
#if !defined(SOC_AM62A)
{
.init_node = tiovx_sde_init_node,
.create_node = tiovx_sde_create_node,
Expand Down Expand Up @@ -264,6 +267,7 @@ NodeCbs gNodeCbs[TIOVX_MODULES_NUM_MODULES] =
.get_cfg_size = tiovx_dof_viz_get_cfg_size,
.get_priv_size = tiovx_dof_viz_get_priv_size
}
#endif
#else
}
#endif
Expand Down
79 changes: 79 additions & 0 deletions modules/include/qnx_display_module.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
*
* Copyright (c) 2024 Texas Instruments Incorporated
*
* All rights reserved not granted herein.
*
* Limited License.
*
* Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
* license under copyrights and patents it now or hereafter owns or controls to make,
* have made, use, import, offer to sell and sell ("Utilize") this software subject to the
* terms herein. With respect to the foregoing patent license, such license is granted
* solely to the extent that any such patent is necessary to Utilize the software alone.
* The patent license shall not apply to any combinations which include this software,
* other than combinations with devices manufactured by or for TI ("TI Devices").
* No hardware patent is licensed hereunder.
*
* Redistributions must preserve existing copyright notices and reproduce this license
* (including the above copyright notice and the disclaimer and (if applicable) source
* code license limitations below) in the documentation and/or other materials provided
* with the distribution
*
* Redistribution and use in binary form, without modification, are permitted provided
* that the following conditions are met:
*
* * No reverse engineering, decompilation, or disassembly of this software is
* permitted with respect to any software provided in binary form.
*
* * any redistribution and use are licensed by TI for use only with TI Devices.
*
* * Nothing shall obligate TI to provide you with source code for the software
* licensed and provided to you in object code.
*
* If software source code is provided to you, modification and redistribution of the
* source code are permitted provided that the following conditions are met:
*
* * any redistribution and use of the source code, including any resulting derivative
* works, are licensed by TI for use only with TI Devices.
*
* * any redistribution and use of any object code compiled from the source code
* and any resulting derivative works, are licensed by TI for use only with TI Devices.
*
* Neither the name of Texas Instruments Incorporated nor the names of its suppliers
*
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* DISCLAIMER.
*
* THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef _QNX_DISPLAY_MODULE
#define _QNX_DISPLAY_MODULE

#include <screen/screen.h>
#include "tiovx_modules_types.h"

#ifdef __cplusplus
extern "C" {
#endif

int32_t qnx_display_render_buf(Buf *tiovx_buffer);
void qnx_display_init();

#ifdef __cplusplus
}
#endif

#endif
Loading

0 comments on commit 6bed5e7

Please sign in to comment.