Misleading default interpolation-method for nvvidconv

Hello everyone, I got… a funny problem when experimenting with gstreamer

When I’m tried to resize camera resolution down, the resulting frame looks not good. So I think I need to set interpolation method when resizing. But when I read Acclerated GStreamer User Guide, it says Smart is default. So is this smart interpolation generates bad frame?

Upon inspecting the nvvidconv with gst-inspect-1.0 nvvidconv, I found this :

  interpolation-method: Set interpolation methods
                        flags: readable, writable, controllable
                        Enum "GstInterpolationMethod" Default: 0, "Nearest"
                           (0): Nearest          - Nearest
                           (1): Bilinear         - Bilinear
                           (2): 5-Tap            - 5-Tap
                           (3): 10-Tap           - 10-Tap
                           (4): Smart            - Smart, this is default
                           (5): Nicest           - Nicest

This is funny, Smart is default, but gst-inspect says the default is 0, which is Nearest. That’s why I feel the final frame looks bad. I expects some noise from camera blends in, but instead it’s hardening :(.

Here’s example when I used default from gst versus manually select smart :

Or is the nearest is supposed to be default interpolation method?


It is nearest by default. We will correct this contradiction.

1 Like