Jump to content

spikerguy

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by spikerguy

  1. On 2/10/2022 at 11:32 PM, usual user said:

    I moved on to 5.17.0.rc3 with the latest LE patches on top. The H264, VP8 and VP9 decoders work as before. I have omitted current media staging patches (5.18.0) so far because the LE HEVC patch can no longer be applied afterwards.
    The kernel now makes a HEVC decoder available again:

      Hide contents

    Driver Info:
            Driver name      : rkvdec
            Card type        : rkvdec
            Bus info         : platform:rkvdec
            Driver version   : 5.17.0
            Capabilities     : 0x84204000
                    Video Memory-to-Memory Multiplanar
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps      : 0x04204000
                    Video Memory-to-Memory Multiplanar
                    Streaming
                    Extended Pix Format
    Media Driver Info:
            Driver name      : rkvdec
            Model            : rkvdec
            Serial           :
            Bus info         : platform:rkvdec
            Media version    : 5.17.0
            Hardware revision: 0x00000000 (0)
            Driver version   : 5.17.0
    Interface Info:
            ID               : 0x0300000c
            Type             : V4L Video
    Entity Info:
            ID               : 0x00000001 (1)
            Name             : rkvdec-source
            Function         : V4L2 I/O
            Pad 0x01000002   : 0: Source
              Link 0x02000008: to remote pad 0x1000004 of entity 'rkvdec-proc' (Video Decoder): Data, Enabled, Immutable
    Priority: 2
    Format Video Capture Multiplanar:
            Width/Height      : 64/64
            Pixel Format      : 'NV12' (Y/CbCr 4:2:0)
            Field             : None
            Number of planes  : 1
            Flags             :
            Colorspace        : Rec. 709
            Transfer Function : Default
            YCbCr/HSV Encoding: Default
            Quantization      : Default
            Plane 0           :
               Bytes per Line : 64
               Size Image     : 8192
    Format Video Output Multiplanar:
             Width/Height      : 64/64
            Pixel Format      : 'S265' (HEVC Parsed Slice Data)
            Field             : None
            Number of planes  : 1
            Flags             :
            Colorspace        : Rec. 709
            Transfer Function : Default
            YCbCr/HSV Encoding: Default
            Quantization      : Default
            Plane 0           :
               Bytes per Line : 0
               Size Image     : 8192

    Codec Controls

                         h264_level 0x00990a67 (menu)   : min=0 max=15 default=0 value=0 (1)
                                    0: 1
                                    1: 1b
                                    2: 1.1
                                    3: 1.2
                                    4: 1.3
                                    5: 2
                                    6: 2.1
                                    7: 2.2
                                    8: 3
                                    9: 3.1
                                    10: 3.2
                                    11: 4
                                    12: 4.1
                                    13: 4.2
                                    14: 5
                                    15: 5.1
                       h264_profile 0x00990a6b (menu)   : min=0 max=4 default=2 value=2 (Main)
                                    0: Baseline
                                    1: Constrained Baseline
                                    2: Main
                                    4: High
                        vp9_profile 0x00990b00 (menu)   : min=0 max=0 default=0 value=0 (0)
                                    0: 0
                       hevc_profile 0x00990b67 (menu)   : min=0 max=2 default=0 value=0 (Main)
                                    0: Main
                                    1: Main Still Picture
                                    2: Main 10
                         hevc_level 0x00990b68 (menu)   : min=0 max=8 default=0 value=0 (1)

                                    0: 1
                                    1: 2
                                    2: 2.1
                                    3: 3
                                    4: 3.1
                                    5: 4
                                    6: 4.1
                                    7: 5
                                    8: 5.1
        hevc_sequence_parameter_set 0x00990cf0 (unknown): type=120 value=unsupported payload type flags=has-payload
         hevc_picture_parameter_set 0x00990cf1 (unknown): type=121 value=unsupported payload type flags=has-payload
              hevc_slice_parameters 0x00990cf2 (unknown): type=122 dims=[32] flags=has-payload
                hevc_scaling_matrix 0x00990cf3 (unknown): type=123 value=unsupported payload type flags=has-payload
             hevc_decode_parameters 0x00990cf4 (unknown): type=124 value=unsupported payload type flags=has-payload
                   hevc_decode_mode 0x00990cf7 (menu)   : min=1 max=1 default=1 value=1 (Frame-Based)
                                    1: Frame-Based
                    hevc_start_code 0x00990cf8 (menu)   : min=1 max=1 default=1 value=1 (Annex B Start Code)
                                    1: Annex B Start Code

    Stateless Codec Controls

                   h264_decode_mode 0x00a40900 (menu)   : min=1 max=1 default=1 value=1 (Frame-Based)
                                    1: Frame-Based
                    h264_start_code 0x00a40901 (menu)   : min=1 max=1 default=1 value=1 (Annex B Start Code)
                                    1: Annex B Start Code
        h264_sequence_parameter_set 0x00a40902 (h264-sps): value=unsupported payload type flags=has-payload
         h264_picture_parameter_set 0x00a40903 (h264-pps): value=unsupported payload type flags=has-payload
                h264_scaling_matrix 0x00a40904 (h264-scaling-matrix): value=unsupported payload type flags=has-payload
             h264_decode_parameters 0x00a40907 (h264-decode-params): value=unsupported payload type flags=has-payload
        vp9_frame_decode_parameters 0x00a40a2c (vp9-frame): value=unsupported payload type flags=has-payload
          vp9_probabilities_updates 0x00a40a2d (unknown): type=260 value=unsupported payload type flags=has-payload

    MPV and gstreamer enumerate HEVC components:

      Hide contents

    # mpv --vd=help | grep v4l
    h263_v4l2m2m (h263) - V4L2 mem2mem H.263 decoder wrapper
    h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
    hevc_v4l2m2m (hevc) - V4L2 mem2mem HEVC decoder wrapper
    mpeg4_v4l2m2m (mpeg4) - V4L2 mem2mem MPEG4 decoder wrapper
    mpeg1_v4l2m2m (mpeg1video) - V4L2 mem2mem MPEG1 decoder wrapper
    mpeg2_v4l2m2m (mpeg2video) - V4L2 mem2mem MPEG2 decoder wrapper
    vc1_v4l2m2m (vc1) - V4L2 mem2mem VC1 decoder wrapper
    vp8_v4l2m2m (vp8) - V4L2 mem2mem VP8 decoder wrapper
    vp9_v4l2m2m (vp9) - V4L2 mem2mem VP9 decoder wrapper

    # gst-inspect-1.0 | grep v4l
    v4l2codecs:  v4l2slh264dec: V4L2 Stateless H.264 Video Decoder
    v4l2codecs:  v4l2slh265dec: V4L2 Stateless H.265 Video Decoder
    v4l2codecs:  v4l2slmpeg2dec: V4L2 Stateless Mpeg2 Video Decoder
    v4l2codecs:  v4l2slvp8alphadecodebin: VP8 Alpha Decoder
    v4l2codecs:  v4l2slvp8dec: V4L2 Stateless VP8 Video Decoder
    v4l2codecs:  v4l2slvp9alphadecodebin: VP9 Alpha Decoder
    v4l2codecs:  v4l2slvp9dec: V4L2 Stateless VP9 Video Decoder
    video4linux2:  v4l2convert: V4L2 Video Converter
    video4linux2:  v4l2deviceprovider (GstDeviceProviderFactory)
    video4linux2:  v4l2jpegenc: V4L2 JPEG Encoder
    video4linux2:  v4l2radio: Radio (video4linux2) Tuner
    video4linux2:  v4l2sink: Video (video4linux2) Sink
    video4linux2:  v4l2src: Video (video4linux2) Source
    video4linux2:  v4l2video1convert: V4L2 Video Converter

    But none of them work with it. MVP falls back to software decoding and gstreamer throws an error message:

      Reveal hidden contents

    # gst-discoverer-1.0 Big_Buck_Bunny_1080_10s_30MB.vp9.webm
    Analyzing file: Big_Buck_Bunny_1080_10s_30MB.vp9.webm
    Done discovering file: Big_Buck_Bunny_1080_10s_30MB.vp9.webm

    Properties:
      Duration: 0:00:10.000000000
      Seekable: yes
      Live: no
      container #0: WebM
        video #1: VP9
          Stream ID: 1632297b08bd9df093d463cfc8ce6477e1c4c9bb1cb47a46e5c2ab57e7981d63/001:001
          Width: 1920
          Height: 1080
          Depth: 24
          Frame rate: 30/1
          Pixel aspect ratio: 1/1
          Interlaced: false
          Bitrate: 0
          Max bitrate: 0

    # gst-discoverer-1.0 Big_Buck_Bunny_1080_10s_30MB.h265.mp4
    Analyzing file: Big_Buck_Bunny_1080_10s_30MB.h265.mp4
    Done discovering file: Big_Buck_Bunny_1080_10s_30MB.h265.mp4
    An error was encountered while discovering the file
     Driver does not support the selected stream.

    I'm not sure if there is actually an error, or if I'm trying to play a stream that is not supported by the hardware.
    Can anyone confirm that the HEVC decoder really works with the LE patches for a rk3399 SOC?

     

    If someone wants to try a preview of 5.17.0 and wants to save the hassle of self-building, I can upload my build. It is built as a generic kernel, meaning it should fit for any aarch64 SOC as long as it has sufficient mainline support and a DTB is available. Either a DTB that comes with the kernel, or one you supply which obeys mainline bindings.
    I can teach you how to put it alongside your current running kernel and decide at boot time which to run.

    Which device are you using for testing?  

     

    I can give it a try on rk3399 devices.  

  2. On 2/5/2022 at 11:02 AM, balbes150 said:

    oftopik

    Just for information. I am currently working in a pilot project for educational institutions using a mini PC based on rk33xx\rk35xx. Devices based on Firefly products (Station P1\M1\P2\M2 and server R1\R2) were selected as equipment in terms of the cost/result ratio. And specialized, fully ready-to-use, comprehensive software in the form of ready-made images "AltLinux education", in which everything necessary for learning functions for interaction of students with teachers are integrated. Station P\M are used as workplaces for students and teachers at school. Servers are used for remote connection (in remote desktop mode with a single shell for all for the same use) of students and teachers from their home devices (you can use any smartphones, tablets, PCs with any OS to connect).

    Sound very interesting.

     

    Great work Balbes. Keep up the good work :D

     

  3. I have the same issue, 

     

    Here is my uart output when the device locks up. 

    ```
     fuse: init (API version 7.31)
    [  157.006866] SError Interrupt on CPU5, code 0xbf000000 -- SError
    [  157.006872] CPU: 5 PID: 1115 Comm: 
    [  157.006875] Hardware name: Beelink GT-King Pro (DT)
    [  157.006878] pstate: 80000005 (Nzcv daif -PAN -UAO)
    [  157.006881] pc : _raw_spin_unlock_irqrestore+0xc/0x68
    [  157.006883] lr : add_wait_queue+0x50/0x68
    [  157.006885] sp : ffff800015943940
    [  157.006888] x29: ffff800015943940 x28: 0000000000000019 
    [  157.006894] x27: ffff800015943abc x26: ffff0000877a1800 
    [  157.006900] x25: 0000000000000020 x24: ffff0000877a1801 
    [  157.006906] x23: 0000000000000000 x22: ffff00000533f000 
    [  157.006911] x21: ffff00000533f038 x20: ffff00008b561d40 
    [  157.006916] x19: ffff00000533f020 x18: 00000000000000c0 
    [  157.006921] x17: 0000000000000000 x16: 0000000000000000 
    [  157.006927] x15: 0000000000000000 x14: dead000000000122 
    [  157.006932] x13: ffffffffffffffff x12: fffffdfffff4df48 
    [  157.006937] x11: 0000000000000191 x10: 0000000000000000 
    [  157.006942] x9 : 0000000000000000 x8 : ffff800012931cc0 
    [  157.006947] x7 : 0000000000000000 x6 : ffff0000b8ff9b70 
    [  157.006953] x5 : ffff8000129321c0 x4 : 0000000000000000 
    [  157.006958] x3 : ffff00008b561d48 x2 : 0000000000000000 
    [  157.006963] x1 : 0000000000000000 x0 : ffff00008b561d40 
    [  157.006970] Kernel panic - not syncing: Asynchronous SError Interrupt
    [  157.006974] CPU: 5 PID: 1115 Comm: 
    [  157.006977] Hardware name: Beelink GT-King Pro (DT)
    [  157.006979] Call trace:
    [  157.006981]  dump_backtrace+0x0/0x1c8
    [  157.006983]  show_stack+0x18/0x28
    [  157.006985]  dump_stack+0xb8/0x100
    [  157.006987]  panic+0x15c/0x330
    [  157.006989]  nmi_panic+0x8c/0x90
    [  157.006992]  arm64_serror_panic+0x78/0x84
    [  157.006994]  do_serror+0x84/0x140
    [  157.006996]  el1_error+0x8c/0x108
    [  157.006999]  _raw_spin_unlock_irqrestore+0xc/0x68
    [  157.007001]  __pollwait+0xc8/0x100
    [  157.007003]  rfkill_fop_poll+0x6c/0x70 [rfkill]
    [  157.007006]  do_sys_poll+0x28c/0x550
    [  157.007008]  __arm64_sys_ppoll+0xb4/0xe8
    [  157.007011]  el0_svc_common.constprop.0+0x74/0x1f0
    [  157.007013]  do_el0_svc+0x24/0x90
    [  157.007015]  el0_sync_handler+0x178/0x2b8
    [  157.007017]  el0_sync+0x158/0x180
    [  157.007049] SMP: stopping secondary CPUs
    [  157.007052] Kernel Offset: disabled
    [  157.007054] CPU features: 0x080002,20082004
    [  157.007057] Memory Limit: none
    ```

     

    It is a kernel panic caused by an unidentified  interrupt.

     

    I hope someone can advice on what could be wrong with the dtb. 

    Thanks. 

  4. I have getting something similar :(

     

    ```

    U-Boot SPL 2020.04-armbian (Jun 15 2020 - 04:07:06 +0200)
    DRAM: 1024 MiB
    Trying to boot from MMC1
    MMC: no card present
    spl: mmc init failed with error: -123
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    ```

    Now I cannot even boot into other os. Only the one on the emmc and I was just testing. Can anyone advice what is causing this ? I think it must be hardware issue.

     

    Thanks for the information above. Looks like my pin isn't working patching the uboot with the given config fixed the boot process but still it is not able to read the card further.

    ```

    U-Boot 2020.04-2 (Jun 21 2020 - 22:22:21 +0000) Manjaro ARM

    CPU:   Allwinner H5 (SUN50I)
    Model: FriendlyARM NanoPi NEO Plus2
    DRAM:  1 GiB
    MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
    mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
    Loading Environment from FAT... Unable to use mmc 1:0... In:    serial
    Out:   serial
    Err:   serial
    Net:   phy interface7
    eth0: ethernet@1c30000
    starting USB...
    Bus usb@1c1a000: USB EHCI 1.00
    Bus usb@1c1a400: USB OHCI 1.0
    Bus usb@1c1d000: USB EHCI 1.00
    Bus usb@1c1d400: USB OHCI 1.0
    scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
    scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
    scanning bus usb@1c1d000 for devices... 1 USB Device(s) found
    scanning bus usb@1c1d400 for devices... 1 USB Device(s) found
           scanning usb for storage devices... 0 Storage Device(s) found
    Hit any key to stop autoboot:  0
    MMC: no card present
    switch to partitions #0, OK
    mmc1(part 0) is current device
    ** No partition table - mmc 1 **

    Device 0: unknown device
    ethernet@1c30000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4
    BOOTP broadcast 5
    BOOTP broadcast 6
    BOOTP broadcast 7
    BOOTP broadcast 8
    BOOTP broadcast 9
    BOOTP broadcast 10
    BOOTP broadcast 11
    BOOTP broadcast 12
    BOOTP broadcast 13
    BOOTP broadcast 14
    BOOTP broadcast 15
    BOOTP broadcast 16
    BOOTP broadcast 17

    Retry time exceeded; starting again
    missing environment variable: pxeuuid
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/01-02-01-45-1c-d4-60
    ethernet@1c30000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    *** ERROR: `serverip' not set
    missing

    environment variable: bootfile
    Retrieving file: pxelinux.cfg/00000000
    ethernet@1c30000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    *** ERROR: `serverip' not set
    missing environment variable: bootfile
    Retrieving file: pxelinux.cfg/0000000
    ethernet@1c30000 Waiting for PHY auto negotiation to complete.......

    ```

     

    So mmc was not initiating :(

    Then I pressed the metal casing against the pin to make it touch the base pic and not the moving pin and now It can read the sd card fine.


    Hope this wont break again. This thread was so helpful without it user might have been thinking that is some hardware issue with the boards sd card slot.

     

    Thanks Again.

     

  5. May I know who is maintaining support for Neo Plus2 ? 
    I see it is under No Official Support (CSC) but I see Buster Server Supported is Ticked. 

    I am not sure what that means AFAIK "No Official Support" means there is some community support available so maybe I can collaborate with the person supporting it.
    I have recently ordered it and plan to build my own kernel from the source. Can help in testing and maintaining the board support as long as it is alive :D

     

    Thanks.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines