Do we have sample code for H.265 encoder for SDK 7.0.3 version?

DRIVE OS Version: Provide DRIVE OS version. Example: 7.0.3

Issue Description: Do we have sample code for H.265 encoder for SDK 7.0.3 version ?

I like to develop sample code to run H.265 encoder.

Dear @bhupendra.jariwala.qn ,
Does NvMedia IEP – Encode Processing (nvm_iep_sci) — NVIDIA DriveOS 7.0.3 Linux SDK Developer Guide help?

Thanks Siva for updates.

Actually, I am trying to setup buffer before frame encoding with below steps

  • This function:
    1. NvSciBufModuleOpen()
    1. NvSciBufAttrListCreate()
    1. NvMediaIEPFillNvSciBufAttrList()
    1. Sets image attributes
    1. NvSciBufAttrListReconcile()
    1. NvSciBufObjAlloc()

I am not able to move further from step 3 NvMediaIEPFillNvSciBufAttrList

Does NvMediaIEPFillNvSciBufAttrList failed? Could you take a look sample app to see if you miss anything?

I mean step 4 onward, it is failing ? NvMediaIEPFillNvSciBufAttrList is ok

Can you provide link for sample application ?

Dear @bhupendra.jariwala.qn ,
You can find it at /drive/drive-linux/samples/nvmedia_6x/iep on DOS 7.0.3 docker container

Is NvMedia module exist on Drive OS 7.0.3 or was it only exist in older 6x versions ? Because i have used sample code and it is not compiling with NvMedia or it is not finding NvMedia library.

Thanks

Dear @bhupendra.jariwala.qn ,
Nvmedia is part of DRIVE OS since begining. You need to compile the sample on docker. By default it cross compiles for aarch64.

root@7.2.5.0-0002-linux-nsr:/drive/drive-linux/samples/nvmedia_6x/iep# make
../../../make/nvdefs.mk:173: Defaulting NV_WINSYS to x11; legal values are: egldevice wayland x11 direct-to-display
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o image_encoder.o image_encoder.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o cmdline.o cmdline.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/scibuf_utils.o ../utils/scibuf_utils.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/config_parser.o ../utils/config_parser.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/misc_utils.o ../utils/misc_utils.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/thread_utils.o ../utils/thread_utils.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/log_utils.o ../utils/log_utils.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -Os -O2 -fomit-frame-pointer -finline-functions -finline-limit=300 -fgcse-after-reload -fno-strict-aliasing -Wall -MMD -MP -mharden-sls=all -Wcast-align -I. -I../../../include/nvmedia_6x/ -I../utils -DNVMEDIA_NVSCI_ENABLE -D_FILE_OFFSET_BITS=64 -I/drive/drive-linux/samples/nvlcm/include/public -I/drive/drive-linux/include -I/usr/local/cuda-13.3/targets/aarch64-linux/include -DWIN_INTERFACE_CUSTOM -DX11 -DVK_USE_PLATFORM_XLIB_KHR -DNV_IS_SAFETY=0  -c -o ../utils/nvmedia_lcm.o ../utils/nvmedia_lcm.c
/drive/toolchains/aarch64--glibc--bleeding-edge-2024.02-1//bin/aarch64-buildroot-linux-gnu-gcc -L/drive/drive-linux/lib-target -L/drive/drive-linux/lib-target/x11 -Wl,-rpath-link=/drive/drive-linux/lib-target -Wl,-rpath-link=/drive/drive-linux/lib-target/x11 -L/drive/drive-linux/targetfs/lib -L/drive/drive-linux/targetfs/usr/lib -L/drive/drive-linux/targetfs/usr/lib/tls -Xlinker -rpath-link -Xlinker /drive/drive-linux/targetfs/lib -Xlinker -rpath-link -Xlinker /drive/drive-linux/targetfs/usr/lib -Xlinker -rpath-link -Xlinker /drive/drive-linux/targetfs/usr/lib/tls -Wl,--dynamic-linker=/lib/ld-linux-aarch64.so.1 -L/drive/drive-linux/samples/nvlcm/lib-target -Wl,-rpath-link=/drive/drive-linux/samples/nvlcm/lib-target -o nvm_iep_sci image_encoder.o cmdline.o ../utils/scibuf_utils.o ../utils/config_parser.o ../utils/misc_utils.o ../utils/thread_utils.o ../utils/log_utils.o ../utils/nvmedia_lcm.o -lnvscibuf -lnvscisync -lnvmedia_iep_sci -lnvlcm_client -lnvlcm_comm -lpthread

hi @SivaRamaKrishnaNV , Actually, this did work for me.

However, I was using utils file for scibuf_utils.c file. Current, I have added utils folder in my code base but i like to remove them and add as library. Could you please advise what is the library name which includes utils ?

also looking some instruction to add this in makefile ?

Dear @bhupendra.jariwala.qn ,
scibuf_utils.c is not part of any library. You can use it in your sample directly.

Thank you for clarification. Even in sample file, It has NVIDIA file header with license terms but these code are sample code and I used only one function from scibuf_utils.c file and deleted other functions from that file to make it light.

In this situation, shall i keep file header text or license terms or shall i delete them since it’s just sample code for idea and testing feature.

Dear @bhupendra.jariwala.qn ,
Do you plan to distribute the code/application? If not, you can use the needed method from the file for internal development and testing.