gstreamer nvarguscamerasrc anti-banding has no effect

I’m having a banding issue while using CSI cameras with gstreamer running on L4T v32.1

When I run “argus_camera” sample GUI app and select “Auto” or “50Hz” for “AE Antibanding mode” everything works as expected, the banding disappears.

But with equivalent gstreamer setup using “nvarguscamerasrc” plugin and its element “aeantibanding” there is no effect, the banding remains.
Gstreamer pipeline example:

gst-launch-1.0 nvarguscamerasrc aeantibanding=2 ! nvvidconv ! xvimagesink

I’ve tried all possible values for aeantibanding: 0, 1, 2, 3, “AeAntibandingMode_Auto”, “AeAntibandingMode_50HZ”, “AeAntibandingMode_60HZ”. Nothing changes, banding effect remains the same.

It seems like anti-banding in Multimedia API works fine, but there’s a bug in nvarguscamerasrc plugin for gstreamer.

Any advices how to fix it?

I’ve also wrote about this issue to authors mentioned in plugin description Viranjan Pagar, Amit Pandya

Running Xavier on L4T 32.1 with multiple Leopard Imaging cameras LI-IMX577-MIPI-CS and corresponding LI-JXAV-MIPI-ADPT-6CAM-FP controller.

hello nazikus,

it looks like nvarguscamerasrc plugin still include aeantibanding options.

$ gst-inspect-1.0 nvarguscamerasrc
  aeantibanding       : property to set the auto exposure antibanding mode
                        flags: readable, writable
                        Enum "GstNvArgusCamAeAntiBandingMode" Default: 1, "AeAntibandingMode_Auto"
                           (0): AeAntibandingMode_Off - GST_NVCAM_AEANTIBANDING_OFF
                           (1): AeAntibandingMode_Auto - GST_NVCAM_AEANTIBANDING_AUTO
                           (2): AeAntibandingMode_50HZ - GST_NVCAM_AEANTIBANDING_50HZ
                           (3): AeAntibandingMode_60HZ - GST_NVCAM_AEANTIBANDING_60HZ

assume there’s a bug, could you please also share the abnormal images of your banding issue.


Exactly, I’ve tried all those options but it does not influence captured image at all.

It is difficult to capture banding effect in a single frame, so I made a screencast demonstrating how argus_camera app handles banding issue, but then aeantibanding param in gstreamer (which should be equivalent to argus_camera antibanding param) simply has no effect.

Youtube link to screencast:

(make sure you switch to hi-res video quality, otherwise font is unreadable).

I have exactly the same issue, any updates?

hi all,

we cannot reproduce the issue locally.
since we’re based-on 60Hz environments, we’re now trying to arrange sources to reproduce the issue in the 50Hz environment.

hello nazikus,

may I know how many sensor modes of your IMX577.
you should also note that gstreamer launching with sensor-mode=2 at 1920x1080@60-fps, which reproduce the issue.
however, in the Argus camera application it’s launching with sensor-mode=0 at 4056x3040@30-fps.

could you please testing again to assign resolution settings to choose same mode as Argus application used.
for example,

$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=4056, height=3040, framerate=30/1, format=NV12' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)NV12, width=1920, height=1080' ! nvoverlaysink -ev

Hi JerryChang,

As for sensor mode, we use only standard 4K UHD size (3480x2160).

Please see another video:

This time I noticed inconsistent behavior in argus_camera gui app, anti-banding has effect depending how to change the frame rate value (decrease or increase).

Starting from 01:36 on video your proposed gstreamer pipeline is tested.
There is no banding effect at 25fps (I assume because 25fps is multiple of 50Hz), but with 30fps the anti-banding does not have any effect.

hello nazikus,

that should due to your sensor device tree define such 4K sensor-mode frame-rate at 60-fps.
hence, Argus application would enable 3840x2160 sensor mode at 60-fps by default.
please check your DT properties, you may also refer to Property-Value Pairs for details.
for example,

<i>$l4t-r32.3.1/JAX_TX2/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules$ vim tegra194-camera-imx274-a00.dtsi</i>

        i2c@3180000 {
                tca9546@70 {
                        i2c@0 {
                        imx274_a@1a {
                                mode0 {
                                        min_framerate = "1500000";
                                        max_framerate = "60000000";
                                        default_framerate= "60000000";

BTW, we’re investigate anti-banding no effect with nvarguscamerasrc internally.
please enable gstreamer pipeline with 25-fps settings as a short-term solutions.