[8-bit Bayer RGRG/GBGB]Save in RGGB format and scroll up and down during playback phenomenon?

Dear,

We implement camera on our carried board.

@ our system hw structure
CMSO 12bit → MAX96705(SER) Removes the lower 4 bits of 12 bits = RAW 8bit - MAX9286(DESRI) - MIPI 2 CSI

@ device node
mode0 {
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
discontinuous_clk = “yes”;
dpcm_enable = “false”;
cil_settletime = “0”;

            active_w = "1280"; //3840
            active_h = "800";  //2160

            pixel_t = "RAW_RGGB"; //user code
            readout_orientation = "90";
            line_length = "4200"; //4208
            inherent_gain = "1";
            mclk_multiplier = "24";
            pix_clk_hz = "756000000"; //576000000 sensor data rate per lane (Mbps) * number of lanes / bits per pixel

            min_gain_val = "1.0";
            max_gain_val = "16.0";
            min_hdr_ratio = "1";
            max_hdr_ratio = "1";
            min_framerate = "1.5";
            max_framerate = "60";
            min_exp_time = "16.165";
            max_exp_time = "666637";
            embedded_metadata_height = "1";
        };

@ 8-bit Bayer RGRG/GBGB
nvidia@tegra-ubuntu:/media/nvme$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘RGGB’
Name : 8-bit Bayer RGRG/GBGB
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 2560x720
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 3840x720
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 5120x720
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1026x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1026x768
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1024x768
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1024x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 2048x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 3072x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 4096x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1028x768
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1028x769
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x804
Interval: Discrete 0.033s (30.000 fps)

@ v4l2-ctl by recording of the size = 1280x800
nvidia@tegra-ubuntu:/media/nvme$v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=800,pixelformat=RGGB --set-ctrl bypass_mode=0 --stream-mmap --stream-count=200 --stream-to=t.raw --verbose;

After saving in RGGB format, when playing back to mplayer Y8 video format, it will scroll up and down.

Is there anything else that needs to be fixed on the kernel side?

Did you working on r32.1?

Our working on r28.1

Although hysnc has been suspected for a long time, it seems that there are no other problems when taking the mipi timing.

wipi timing file : image003.jpg / image001.jpg

image001.jpg
image003.jpg

image001.jpg

image003.jpg

Could you modify below to try.

./vi/core.h:#define TEGRA_STRIDE_ALIGNMENT      256

Dear ShaneCCC,

How can I calculate a correction range ?

I try to modify TEGRA_STRIDE_ALIGNMENT = 1, and Similarly scrolling occurs