Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

mackodi/macspmc: KODI and SPMC on LINUX for rockchip devices

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    hm. I saw here http://www.seeedstudio.com/wiki/imag...etail_V1.2.pdf that:

    Support color space conversion: YUV2RGB(rec601-mpeg/rec601-jpeg/rec709) and RGB2YUV
    Does it mean that i can use hardware for rgb2yuv, like you in h264recorder?

    Comment


      #32
      Originally posted by McAron View Post
      hm. I saw here http://www.seeedstudio.com/wiki/imag...etail_V1.2.pdf that:


      Does it mean that i can use hardware for rgb2yuv, like you in h264recorder?
      I doubt if it is feasible. It is stated in the display interface section that handles the display controllers. I guess it could mean that the display controller is capable of showing/converting yuv and rgb framebuffer windows however i can't find any reference in code (kernel/drivers/video/rockchip/*) so would be tricky to implement...
      Support my work to make you a better multimedia experience...
      And Donate...

      Comment


        #33
        is it possible to convert i420 to nv12 using RGA on rk3188? Can i use your rga_blit function for it?

        Comment


          #34
          Originally posted by McAron View Post
          is it possible to convert i420 to nv12 using RGA on rk3188? Can i use your rga_blit function for it?
          i would think so. best to try it. just choose the right source and destination formats and make sure the frame memory is 16 bit aligned in width and height.
          formats are specified in androids hardware/libhardware/include/rga.h
          RK_FORMAT_YCbCr_422_SP = 0x8, RK_FORMAT_YCbCr_422_P = 0x9, RK_FORMAT_YCbCr_420_SP = 0xa, RK_FORMAT_YCbCr_420_P = 0xb, RK_FORMAT_YCrCb_422_SP = 0xc, RK_FORMAT_YCrCb_422_P = 0xd, RK_FORMAT_YCrCb_420_SP = 0xe, RK_FORMAT_YCrCb_420_P = 0xf, hope this helps.
          Support my work to make you a better multimedia experience...
          And Donate...

          Comment


            #35
            Thank you! I will try it today. But what means "frame memory is 16 bit aligned in width and height." Does it mean that frame memory size(in bytes) should be dividable by 2? For example for l420 it is 12 bytes per pixel needed , than frame memory size is fm_size=width*height*3/2 bytes. So requirement is fm_size to be dividable by 2 ?

            Comment


              #36
              I have tried your function, but with no luck, so i wrote my own simple colorspace converter using function rga_nv12torgb565 from https://github.com/Nu3001/hardware_r.../CameraHal.cpp
              Source and binary are here: https://github.com/McAronDev/RK3188_colorspace_convert
              Results:

              NV12toRGB565 produces good frames but with black areas in random location. I can not understand why. I have not changed rga_nv12torgb565 code.
              NV12toI420, NV12toNV12 added for testing. Both produces green frames with image contours.
              Last edited by McAron; 13 August 2016, 02:44.

              Comment


                #37
                Originally posted by McAron View Post
                I have tried your function, but with no luck, so i wrote my own simple colorspace converter using function rga_nv12torgb565 from https://github.com/Nu3001/hardware_r.../CameraHal.cpp
                Source and binary are here: https://github.com/McAronDev/RK3188_colorspace_convert
                Results:

                NV12toRGB565 produces good frames but with black areas in random location. I can not understand why. I have not changed rga_nv12torgb565 code.
                NV12toI420, NV12toNV12 added for testing. Both produces green frames with image contours.
                Hi McAron,

                I tried it with some different code and got the same black areas/stripes that you mentioned. Have you already found a solution?
                Support my work to make you a better multimedia experience...
                And Donate...

                Comment


                  #38
                  Originally posted by McAron View Post
                  I have tried your function, but with no luck, so i wrote my own simple colorspace converter using function rga_nv12torgb565 from https://github.com/Nu3001/hardware_r.../CameraHal.cpp
                  Source and binary are here: https://github.com/McAronDev/RK3188_colorspace_convert
                  Results:

                  NV12toRGB565 produces good frames but with black areas in random location. I can not understand why. I have not changed rga_nv12torgb565 code.
                  NV12toI420, NV12toNV12 added for testing. Both produces green frames with image contours.
                  from firefly i just got the rga specification, see: http://mac-l1.com/doc/chapter-19-rga1-plus.pdf. this is for the rk3128 device but that should be the same as rk3188 device, also rga1. the rk3288 device has a different 2d processor (rga2). so this should be good.
                  maybe this helps in solving the black stripe issue.
                  and it also seems that rgb2yuv mode is possible, for instance for encoding.

                  hope this helps!

                  cheers -- mac-l1
                  Support my work to make you a better multimedia experience...
                  And Donate...

                  Comment

                  Working...
                  X