Updating prebuilts and/or headers

1b3eb34d54720b0ec6252b60dfa6651f7ab7e755 - gst-nvcompositor/gstnvcompositor.c
6b201b4017e6c36aaf4b06f0359e68918a99cb83 - gst-nvcompositor/gstnvcompositor.h
64a687b23361046fec268bde45a41e2fcce12823 - gst-nvcompositor/Makefile
a86cdef2fe7c358debaeb17cf3ac6bca48083915 - gst-nvcompositor/gstnvcompositorpad.h
8f9ebb1167b61dc0f4fba6efb6fbf3102006642f - gst-nvcompositor/3rdpartyheaders.tbz2

Change-Id: Idda0bf454f5e43229a674eb1032a48ec48cf12f8
This commit is contained in:
svcmobrel-release
2023-08-03 21:11:12 -07:00
parent 944d016803
commit 87a955f56e
8 changed files with 1862 additions and 0 deletions

7
commitFile.txt Normal file
View File

@@ -0,0 +1,7 @@
Updating prebuilts and/or headers
1b3eb34d54720b0ec6252b60dfa6651f7ab7e755 - gst-nvcompositor/gstnvcompositor.c
6b201b4017e6c36aaf4b06f0359e68918a99cb83 - gst-nvcompositor/gstnvcompositor.h
64a687b23361046fec268bde45a41e2fcce12823 - gst-nvcompositor/Makefile
a86cdef2fe7c358debaeb17cf3ac6bca48083915 - gst-nvcompositor/gstnvcompositorpad.h
8f9ebb1167b61dc0f4fba6efb6fbf3102006642f - gst-nvcompositor/3rdpartyheaders.tbz2

View File

Binary file not shown.

73
gst-nvcompositor/Makefile Normal file
View File

@@ -0,0 +1,73 @@
# Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
SO_NAME := libgstnvcompositor.so
CC := gcc
GST_INSTALL_DIR?=/usr/lib/aarch64-linux-gnu/gstreamer-1.0/
LIB_INSTALL_DIR?=/usr/lib/aarch64-linux-gnu/tegra/
CFLAGS:=
SRCS := $(wildcard *.c)
INCLUDES += -I./
PKGS := gstreamer-1.0 \
gstreamer-base-1.0 \
gstreamer-bad-video-1.0 \
gstreamer-video-1.0 \
gstreamer-allocators-1.0 \
glib-2.0
OBJS := $(SRCS:.c=.o)
CFLAGS += -fPIC \
-DGST_USE_UNSTABLE_API
CFLAGS += `pkg-config --cflags $(PKGS)`
LDFLAGS = -Wl,--no-undefined -L$(LIB_INSTALL_DIR) -Wl,-rpath,$(LIB_INSTALL_DIR)
LIBS += `pkg-config --libs $(PKGS)`
all: $(SO_NAME)
%.o: %.c
$(CC) -c $< $(CFLAGS) $(INCLUDES) -o $@
$(SO_NAME): $(OBJS)
$(CC) -shared -o $(SO_NAME) $(OBJS) $(LIBS) $(LDFLAGS)
.PHONY: install
DEST_DIR?= $(GST_INSTALL_DIR)
install: $(SO_NAME)
cp -vp $(SO_NAME) $(DEST_DIR)
.PHONY: clean
clean:
rm -rf $(OBJS) $(SO_NAME)

View File

@@ -0,0 +1,52 @@
# Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
Steps to compile the "gst-nvcompositor" sources natively:
1) Install gstreamer related packages on target using the command:
sudo apt-get install libgstreamer1.0-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgstreamer-plugins-bad1.0-dev
2) Download and extract the package "gst-nvcompositor_src.tbz2" as follows:
tar -I lbzip2 -xvf gst-nvcompositor_src.tbz2
3) Run the following commands to build and install "libgstnvcompositor.so":
cd "gst-nvcompositor"
make
make install
or
DEST_DIR=<dir> make install
Note: "make install" will copy library "libgstnvcompositor.so"
into "/usr/lib/aarch64-linux-gnu/gstreamer-1.0" directory.

View File

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,148 @@
/*
* Copyright (c) 2017-2023, NVIDIA CORPORATION. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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 __GST_NVCOMPOSITOR_H__
#define __GST_NVCOMPOSITOR_H__
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstvideoaggregator.h>
#include "nvbufsurface.h"
#include "nvbufsurftransform.h"
G_BEGIN_DECLS
#define GST_TYPE_NVCOMPOSITOR (gst_nvcompositor_get_type())
#define GST_NVCOMPOSITOR(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVCOMPOSITOR, GstNvCompositor))
#define GST_NVCOMPOSITOR_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVCOMPOSITOR, GstNvCompositorClass))
#define GST_IS_NVCOMPOSITOR(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVCOMPOSITOR))
#define GST_IS_NVCOMPOSITOR_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVCOMPOSITOR))
/* Name of package */
#define PACKAGE "gstreamer-nvcompositor-plugin"
/* Define to the full name of this package. */
#define PACKAGE_NAME "GStreamer NvCompositor Plugin"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GStreamer NvComositor 1.16.3"
/* Information about the purpose of the plugin. */
#define PACKAGE_DESCRIPTION "Video Compositor"
/* Define to the home page for this package. */
#define PACKAGE_ORIGIN "http://nvidia.com/"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.16.3"
/* Define under which licence the package has been released */
#define PACKAGE_LICENSE "Proprietary"
#define MAX_INPUT_FRAME 16
#define GST_CAPS_FEATURE_MEMORY_NVMM "memory:NVMM"
typedef struct _GstNvCompositor GstNvCompositor;
typedef struct _GstNvCompositorClass GstNvCompositorClass;
typedef struct _GstNvCompositorBuffer GstNvCompositorBuffer;
typedef struct _GstNvCompositorBgcolor GstNvCompBgcolor;
/* Backgrounds for compositor to blend over */
typedef enum
{
NVCOMPOSITOR_BACKGROUND_BLACK,
NVCOMPOSITOR_BACKGROUND_RED,
NVCOMPOSITOR_BACKGROUND_GREEN,
NVCOMPOSITOR_BACKGROUND_BLUE,
NVCOMPOSITOR_BACKGROUND_WHITE,
} GstNvCompositorBackground;
/**
* GstInterpolationMethods:
*
* Interpolation methods type enum.
*/
typedef enum
{
GST_INTERPOLATION_NEAREST,
GST_INTERPOLATION_BILINEAR,
GST_INTERPOLATION_5_TAP,
GST_INTERPOLATION_10_TAP,
GST_INTERPOLATION_SMART,
GST_INTERPOLATION_NICEST,
} GstInterpolationMethods;
/**
* Nv Compositor Buffer:
*/
struct _GstNvCompositorBuffer
{
gint dmabuf_fd;
GstBuffer *gst_buf;
NvBufSurface *surface;
};
/**
* Background color:
*/
struct _GstNvCompositorBgcolor
{
gfloat r;
gfloat g;
gfloat b;
};
/**
* GstNvCompositor:
*/
struct _GstNvCompositor
{
GstVideoAggregator videoaggregator;
gboolean silent;
gint out_width;
gint out_height;
NvBufSurfaceColorFormat out_pix_fmt;
GstNvCompBgcolor bg;
GstNvCompositorBackground background;
NvBufSurfTransformCompositeBlendParamsEx comp_params;
gboolean nvcomppool;
GstBufferPool *pool;
};
struct _GstNvCompositorClass
{
GstVideoAggregatorClass parent_class;
};
GType gst_nvcompositor_get_type (void);
G_END_DECLS
#endif /* __GST_NVCOMPOSITOR_H__ */

View File

@@ -0,0 +1,81 @@
/*
* Copyright (c) 2017-2022, NVIDIA CORPORATION. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT HOLDER OR CONTRIBUTORS 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 __GST_NVCOMPOSITOR_PAD_H__
#define __GST_NVCOMPOSITOR_PAD_H__
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstvideoaggregator.h>
G_BEGIN_DECLS
#define GST_TYPE_NVCOMPOSITOR_PAD (gst_nvcompositor_pad_get_type())
#define GST_NVCOMPOSITOR_PAD(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NVCOMPOSITOR_PAD, GstNvCompositorPad))
#define GST_NVCOMPOSITOR_PAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NVCOMPOSITOR_PAD, GstNvCompositorPadClass))
#define GST_IS_NVCOMPOSITOR_PAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NVCOMPOSITOR_PAD))
#define GST_IS_NVCOMPOSITOR_PAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NVCOMPOSITOR_PAD))
typedef struct _GstNvCompositorPad GstNvCompositorPad;
typedef struct _GstNvCompositorPadClass GstNvCompositorPadClass;
/**
* GstNvCompositorPad:
*/
struct _GstNvCompositorPad
{
GstVideoAggregatorConvertPad parent;
/* nvcompositor pad properties */
gint xpos;
gint ypos;
gint width;
gint height;
gdouble alpha;
gint interpolation_method;
gint input_width;
gint input_height;
GstVideoInfo conversion_info;
NvBufSurfaceColorFormat comppad_pix_fmt;
};
struct _GstNvCompositorPadClass
{
GstVideoAggregatorConvertPadClass parent_class;
};
GType gst_nvcompositor_pad_get_type (void);
G_END_DECLS
#endif /* __GST_NVCOMPOSITOR_PAD_H__ */

1
push_info.txt Normal file
View File

@@ -0,0 +1 @@
jetson_35.4.1