Closed 981213 closed 5 months ago
附图,图为按nv21打开的效果
不对,是红蓝反了,不是UV反了。
发一下完整的日志和抓出来的图
输出yuv文件
有的日志写在syslog里面了
Jan 1 00:00:35 licheervnano-7dc2 local5.warn : [SYS-WRN] sample_common_bin.c:36:SAMPLE_COMM_BIN_ReadParaFrombin(): Bin exist (/mnt/cfg/param/cvi_sdr_bin)
Jan 1 00:00:37 licheervnano-7dc2 auth.err getty[521]: can't open '/dev/ttyGS0': No such file or directory^M
Jan 1 00:00:39 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:236:sensor_dump_yuv(): Get frm from which chn(0~1):
Jan 1 00:00:41 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:239:sensor_dump_yuv(): how many loops to do(11111 is infinite:
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:119:_vi_get_chn_frame(): width: 2560, height: 1440, total_buf_length: 5529600
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:153:_vi_get_chn_frame(): plane(0): paddr(0x8d358000) vaddr(0x3fd4bf6000) stride(2560) length(3686400)
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:153:_vi_get_chn_frame(): plane(1): paddr(0x8d6dc000) vaddr(0x3fd4f7a000) stride(2560) length(1843200)
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:246:sensor_dump_yuv(): ms consumed: 290.471985
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:119:_vi_get_chn_frame(): width: 2560, height: 1440, total_buf_length: 5529600
Jan 1 00:00:42 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:153:_vi_get_chn_frame(): plane(0): paddr(0x8d8bc000) vaddr(0x3fd4bf6000) stride(2560) length(3686400)
Jan 1 00:00:43 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:153:_vi_get_chn_frame(): plane(1): paddr(0x8dc40000) vaddr(0x3fd4f7a000) stride(2560) length(1843200)
Jan 1 00:00:43 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:246:sensor_dump_yuv(): ms consumed: 789.479004
Jan 1 00:00:43 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:254:sensor_dump_yuv(): VI GetChnFrame OK(2) NG(0)
Jan 1 00:00:43 licheervnano-7dc2 local5.warn : [LOG-WRN] sensor_test.c:256:sensor_dump_yuv(): Dump VI yuv TEST-PASS
以及我分不清楚是uv反了还是红蓝反了:(
这是手机拍的现场图片
看了下新版的确实有问题,可以先回退版本,commit 646bd604472e73f41b418483d5218223ebcf021e (HEAD, tag: 20240514)
回退版本后颜色恢复正常。感谢回复!
问题已修复,请更新至最新分支,详见https://github.com/sipeed/LicheeRV-Nano-Build/commit/58f1952f918ce20e890db96cce5b0f22a7194daa
@Z2Z-GuGu
对比原本引入这个改动的代码:
enBayerFormat在改动前是BAYER_FORMAT_GR而不是BAYER_FORMAT_RG(实话说我没研究过这是啥所以也不知道哪个是对的)
以及 这个修法 看着有点给后人挖坑的样子… 就是我不知道这个坑是 https://github.com/sipeed/LicheeRV-Nano-Build/commit/20a606bbdbd5a03d7c3064dd8b71285633f35a94 埋下的还是早在提交代码之前的修改导致的。
上面那个引入错误改动的diff一次性修改了所有同一case下的传感器数据参数。在未核实整个case下所有传感器参数时,针对单一传感器参数错误的修正方式应该是把它从这一case中去掉并新增一段case/赋值/break。比较优雅一点的做法应该是针对https://github.com/sipeed/LicheeRV-Nano-Build/commit/20a606bbdbd5a03d7c3064dd8b71285633f35a94 中增加的传感器(如果是这条提交引入的错误)或者针对GC4653(如果是在这之前引入的错误)单独新增case,而不是一次改变列表中多个无关/未测试传感器的参数。
感谢指正,BAYER_FORMAT_GR和BAYER_FORMAT_RG经测试是一样的,在这里没分的那么清。这个问题是之前适配OA04A10时候留下的坑,算能提供的OA04A10颜色矫正文件中红蓝反了,当时为了方便测试,直接改了这里的enBayerFormat,后来忘记改回来了。这次修改把GC4653和上面的格式修正了,下次提交我会针对OA04A10单独开一条case。
测试可用,感谢修复!
如题。
样例代码在SAMPLE_COMM_VI_IniToViCfg中, https://github.com/sipeed/LicheeRV-Nano-Build/blob/main/middleware/v2/sample/common/sample_common_vi.c#L1040 一行定义的图像格式为VI_PIXEL_FORMAT,即PIXEL_FORMAT_NV21。 但是运行sensor_test样例使用dump_yuv功能,或者根据该样例简化得到如下代码:
测试代码
```c #include实际输出的图像按照NV21打开,颜色错误。 硬件为LicheeRV Nano 量产版本,软件为当前git最新版本。