• Recent
    • Docs
    • Github
    • 百度网盘
    • Onedrive
    • Official
    • Shop
    • Register
    • Login

    rk mpp平台YUV格式支持问题

    Scheduled Pinned Locked Moved Ubuntu
    18 Posts 2 Posters 856 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      george @jugg
      last edited by

      @jugg GST_VIDEO_CONVERT_PREFERRED_FORMAT 环境变量改一下,I420改为默认格式。

      J 2 Replies Last reply Reply Quote 0
      • J
        jugg @george
        last edited by

        @george
        配置文件里面
        5a2e77f2-1f4e-4b4d-9541-828de7bfa9f0-image.png
        已经支持了

        4bee572c-1f9b-4b0c-bd77-b3864b455f3e-image.png
        这样使用的话 CPU 100%

        ce787937-744a-49c1-a22c-e5c028045f71-image.png
        这样就是正常的

        1 Reply Last reply Reply Quote 0
        • J
          jugg @george
          last edited by

          @george said in rk mpp平台YUV格式支持问题:

          GST_VIDEO_CONVERT_PREFERRED_FORMAT

          我也单独设置了
          export GST_VIDEO_CONVERT_PREFERRED_FORMAT=I420

          G 1 Reply Last reply Reply Quote 0
          • G
            george @jugg
            last edited by

            @jugg 环境变量里边尝试关闭RGA使能。这个应该是RGB部分有限制。

            J 1 Reply Last reply Reply Quote 0
            • J
              jugg @george
              last edited by

              @george
              关闭了 CPU还是100%
              5340367b-846f-416c-ab8f-638d2c0255cf-image.png

              G 1 Reply Last reply Reply Quote 0
              • G
                george @jugg
                last edited by

                @jugg 那就是RGA有限制

                J 2 Replies Last reply Reply Quote 0
                • J
                  jugg @george
                  last edited by

                  @george
                  RGA关还是不关 用I420 CPU都是100%

                  1 Reply Last reply Reply Quote 0
                  • J
                    jugg @george
                    last edited by

                    @george
                    我用这个获取YUV
                    gst-launch-1.0 v4l2src device=/dev/video20 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! mppjpegdec ! videoconvert ! video/x-raw,format=NV12 ! filesink location=output.yuv
                    10e09173-0238-4947-9ecb-aa59e9c78d49-image.png
                    有绿边
                    480p分辨率的就没有

                    那ximagesink是用什么格式的YUV去渲染的

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jugg @jugg
                      last edited by

                      @jugg said in rk mpp平台YUV格式支持问题:

                      @george
                      我用这个获取YUV
                      gst-launch-1.0 v4l2src device=/dev/video20 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! mppjpegdec ! videoconvert ! video/x-raw,format=NV12 ! filesink location=output.yuv
                      10e09173-0238-4947-9ecb-aa59e9c78d49-image.png
                      有绿边
                      480p分辨率的就没有

                      那ximagesink是用什么格式的YUV去渲染的

                      我保存了YUV的数据 发现一张1080pYUV大小是3133440 这大小也不对吧
                      我不清楚这是什么样的YUV

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jugg @jugg
                        last edited by jugg

                        @jugg said in rk mpp平台YUV格式支持问题:

                        @jugg said in rk mpp平台YUV格式支持问题:

                        @george
                        我用这个获取YUV
                        gst-launch-1.0 v4l2src device=/dev/video20 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! mppjpegdec ! videoconvert ! video/x-raw,format=NV12 ! filesink location=output.yuv
                        10e09173-0238-4947-9ecb-aa59e9c78d49-image.png
                        有绿边
                        480p分辨率的就没有

                        那ximagesink是用什么格式的YUV去渲染的

                        我保存了YUV的数据 发现一张1080pYUV大小是3133440 这大小也不对吧
                        我不清楚这是什么样的YUV

                        我发现是1080p以下分辨率的保存到yuv文件的是正常的
                        1080p和1080p以上的保存的yuv数据就不对
                        像1080p的yuv NV12的大小应该是3110400 但实际却是3133400

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          george @jugg
                          last edited by

                          @jugg 关于I420格式的问题,环境变量增加GST_MPP_NO_RGA=0
                          关于黑边和数据大小不对的问题,编码器数据需要四字节对齐,比如:1920X1080 需要设置为1920X1088

                          J 4 Replies Last reply Reply Quote 0
                          • J
                            jugg @george
                            last edited by

                            This post is deleted!
                            1 Reply Last reply Reply Quote 0
                            • J
                              jugg @george
                              last edited by

                              @george
                              添加了
                              export GST_MPP_NO_RGA=0
                              然后使用
                              gst-launch-1.0 v4l2src device=/dev/video20 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! mppjpegdec ! videoconvert ! video/x-raw,format=I420 ! filesink location=output.yuv
                              虽然能得到i420的yuv 但是CPU会100%
                              a3da3bde-a54a-4954-8d85-0fa5c0d83de5-image.png

                              1 Reply Last reply Reply Quote 0
                              • J
                                jugg @george
                                last edited by

                                @george said in rk mpp平台YUV格式支持问题:

                                关于黑边和数据大小不对的问题,编码器数据需要四字节对齐,比如:1920X1080 需要设置为1920X1088

                                我是直接用命令行来保存NV12的 那这个对齐要怎么做

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jugg @george
                                  last edited by

                                  @george said in rk mpp平台YUV格式支持问题:

                                  关于黑边和数据大小不对的问题,编码器数据需要四字节对齐,比如:1920X1080 需要设置为1920X1088

                                  是4字节对齐吗?
                                  1080向上4字节对齐不是1080吗
                                  是1080向上16字节对齐吗?

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    george @jugg
                                    last edited by

                                    @jugg
                                    不同的格式对齐要求不同,RGA硬件本身是对图像每行的数据是按照字(world)对齐的方式进行取数的,即4个字节32个bit。例如RGBA格式本身单个像素存储大小为32(4 × 8)bit,所以没有对齐要求;RGB565格式存储大小为16(5 + 6 +5)bit,所以需要2对齐;RGB888格式存储大小为24(8 × 3)bit,所以该格式需要4对齐才能满足RGA硬件的32bit取数要求;YUV格式存储相对较为特殊,本身排列要求需要2对齐,Y通道单像素存储大小为8bit,UV通道根据420/422决定每四个像素的存储大小,所以YUV格式Y通道需要4对齐才能满足RGA的硬件取数要求,则YUV格式需要4对齐;其他的未提及的格式对齐要求原理相通。注意,该题中对齐均指width stride的对齐要求,YUV格式本身实际宽高、偏移量由于格式本身特性也是要求2对齐的。

                                    J 1 Reply Last reply Reply Quote 1
                                    • J
                                      jugg @george
                                      last edited by

                                      @george
                                      yuv i420那个有办法吗
                                      videoconvert
                                      mppjpegdec
                                      好像都不支持从nv12转i420

                                      1 Reply Last reply Reply Quote 0
                                      • 1 / 1
                                      • First post
                                        Last post