Hi.
How to make properly online encoder reconfiguration without closing handle?
Is there a minimal code example?
Hi.
How to make properly online encoder reconfiguration without closing handle?
Is there a minimal code example?
Hi,
Please share more detail about the usecase. Not sure what your request is.
We support gstreamer and tegra_multimedia_api. IF you run gstreamer, you may share the working pipeline of the usecase with x264enc. We can then check if hardware encoder nvv4l2h264enc can support the same.
Hi.
I need change output stream size for example. I write in C (using tegra multimedia api as a basis). I don’t use gstreamer
I do like this:
It’s correctly?
But i see memory leak after 2 reconfiguration like this when the new size is taken first and then the old size again .
I read /sys/kernel/debug/nvmap/iovmm/clients file for check current memory allocations.
I use a similar algorithm when closing the encoder, when a last call is v4l2_close(fd) and there are no leaks.
Try to do this using tegra multimedia api, please.
Hi,
For information, please share your release version( $ head -1 /etc/nv_tegra_release ).
We have certain fix for NvVideoEncoder on r28.2.1:
https://elinux.org/Jetson_TX2/28.2.1_patches
[MMAPI]Cannot run NvVideoDecoder in loop/Memory leak in NvVideoEncoder
If you use this version, please replace the prebuilt lib and give it a try.
head -1 /etc/nv_tegra_release
# R32 (release), REVISION: 2.1, GCID: 16294929, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug 13 04:45:36 UTC 2019
Hi,
If width and height are changed, please delete NvVideoEncoder and re-initialize new one. The reference sample is 01_video_encode and this usecase is not included and not verified. Would suggest you run with ‘-s ’ and look at the sample to see how it works.