kprasadvnsi

  • Posts

    19
  • Joined

  • Last visited

kprasadvnsi's Achievements

  1. Thermal sensor support for H616 SoC https://github.com/armbian/build/pull/3153
  2. Which LE patches I need?
  3. These changes are already merged in upstream mpv. The patch was for cedrus driver and tested on a Allwinner H3 device with following parameters. --vo=gpu --gpu-context=drm --hwdec=drm Using these parameters with my mpv build it gives the following error. kp@orangepi4:~/trails/mpv-build/mpv/build$ ./mpv --log-file=mpv_sucks.log --vo=gpu --gpu-context=drm --hwdec=drm bbb_sunflower_1080p_30fps_normal.mp4 Error parsing option gpu-context (option parameter could not be parsed) Setting commandline option --gpu-context=drm failed. Exiting... (Fatal error) The only option that didn't throw error is --gpu-context=x11egl
  4. I am getting much better performance using your test commands. I am getting 235 fps at 5% average CPU load. Where should I look for patching in the mpv to get this working?
  5. To answer my own question. The mpv player is not using the VPU. I don't know what options to set for mpv to work.
  6. FFmpeg build fine with v4l2-request-hwaccel-4.3.1-new branch. The media file bbb_sunflower_1080p_30fps_normal.mp4 decoding fine at 90fps with one A72 core at 100% uses. I have tried building MPV player with it but it doesn't look like using the VPU. A72 cores are at 30-40% and A53 are around 15-20%. How can I check if it actually using VPU? MPV playback log file. mpv_sucks.log
  7. where can I find ffmpeg source for 5.13 kernel?
  8. I am building FFmpeg from here on a Orange Pi 4 with Armbian Hirsute edge 5.13.12 kernel. I have configured FFmpeg with following parameters. ./configure --enable-libdrm --enable-v4l2-request --enable-libudev --enable-static --disable-shared I am getting these errors on compile. AR libavdevice/libavdevice.a AR libavfilter/libavfilter.a AR libavformat/libavformat.a CC libavcodec/v4l2_request_mpeg2.o CC libavcodec/vaapi_encode.o CC libavcodec/vaapi_encode_h264.o CC libavcodec/vaapi_encode_h265.o libavcodec/v4l2_request_mpeg2.c:24:37: error: field ‘sequence’ has incomplete type 24 | struct v4l2_ctrl_mpeg2_sequence sequence; | ^~~~~~~~ libavcodec/v4l2_request_mpeg2.c:25:36: error: field ‘picture’ has incomplete type 25 | struct v4l2_ctrl_mpeg2_picture picture; | ^~~~~~~ libavcodec/v4l2_request_mpeg2.c:26:41: error: field ‘quantisation’ has incomplete type 26 | struct v4l2_ctrl_mpeg2_quantisation quantisation; | ^~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c: In function ‘v4l2_request_mpeg2_start_frame’: libavcodec/v4l2_request_mpeg2.c:39:10: error: ‘struct v4l2_ctrl_mpeg2_sequence’ has no member named ‘horizontal_size’ 39 | .horizontal_size = s->width, | ^~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:39:28: warning: excess elements in struct initializer 39 | .horizontal_size = s->width, | ^ libavcodec/v4l2_request_mpeg2.c:39:28: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:40:10: error: ‘struct v4l2_ctrl_mpeg2_sequence’ has no member named ‘vertical_size’ 40 | .vertical_size = s->height, | ^~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:40:26: warning: excess elements in struct initializer 40 | .vertical_size = s->height, | ^ libavcodec/v4l2_request_mpeg2.c:40:26: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:41:10: error: ‘struct v4l2_ctrl_mpeg2_sequence’ has no member named ‘vbv_buffer_size’ 41 | .vbv_buffer_size = req->output.size, | ^~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:41:28: warning: excess elements in struct initializer 41 | .vbv_buffer_size = req->output.size, | ^~~ libavcodec/v4l2_request_mpeg2.c:41:28: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:44:10: error: ‘struct v4l2_ctrl_mpeg2_sequence’ has no member named ‘profile_and_level_indication’ 44 | .profile_and_level_indication = 0, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:44:41: warning: excess elements in struct initializer 44 | .profile_and_level_indication = 0, | ^ libavcodec/v4l2_request_mpeg2.c:44:41: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:45:10: error: ‘struct v4l2_ctrl_mpeg2_sequence’ has no member named ‘chroma_format’ 45 | .chroma_format = s->chroma_format, | ^~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:45:26: warning: excess elements in struct initializer 45 | .chroma_format = s->chroma_format, | ^ libavcodec/v4l2_request_mpeg2.c:45:26: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:37:60: error: invalid use of undefined type ‘struct v4l2_ctrl_mpeg2_sequence’ 37 | controls->sequence = (struct v4l2_ctrl_mpeg2_sequence) { | ^ libavcodec/v4l2_request_mpeg2.c:49:37: error: ‘V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE’ undeclared (first use in this function); did you mean ‘V4L2_DV_BT_CAP_PROGRESSIVE’? 49 | controls->sequence.flags |= V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | V4L2_DV_BT_CAP_PROGRESSIVE libavcodec/v4l2_request_mpeg2.c:49:37: note: each undeclared identifier is reported only once for each function it appears in libavcodec/v4l2_request_mpeg2.c:53:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘picture_coding_type’ 53 | .picture_coding_type = s->pict_type, | ^~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:53:32: warning: excess elements in struct initializer 53 | .picture_coding_type = s->pict_type, | ^ libavcodec/v4l2_request_mpeg2.c:53:32: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:56:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘f_code’ 56 | .f_code[0][0] = s->mpeg_f_code[0][0], | ^~~~~~ libavcodec/v4l2_request_mpeg2.c:56:25: warning: excess elements in struct initializer 56 | .f_code[0][0] = s->mpeg_f_code[0][0], | ^ libavcodec/v4l2_request_mpeg2.c:56:25: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:57:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘f_code’ 57 | .f_code[0][1] = s->mpeg_f_code[0][1], | ^~~~~~ libavcodec/v4l2_request_mpeg2.c:57:25: warning: excess elements in struct initializer 57 | .f_code[0][1] = s->mpeg_f_code[0][1], | ^ libavcodec/v4l2_request_mpeg2.c:57:25: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:58:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘f_code’ 58 | .f_code[1][0] = s->mpeg_f_code[1][0], | ^~~~~~ libavcodec/v4l2_request_mpeg2.c:58:25: warning: excess elements in struct initializer 58 | .f_code[1][0] = s->mpeg_f_code[1][0], | ^ libavcodec/v4l2_request_mpeg2.c:58:25: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:59:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘f_code’ 59 | .f_code[1][1] = s->mpeg_f_code[1][1], | ^~~~~~ libavcodec/v4l2_request_mpeg2.c:59:25: warning: excess elements in struct initializer 59 | .f_code[1][1] = s->mpeg_f_code[1][1], | ^ libavcodec/v4l2_request_mpeg2.c:59:25: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:60:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘picture_structure’ 60 | .picture_structure = s->picture_structure, | ^~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:60:30: warning: excess elements in struct initializer 60 | .picture_structure = s->picture_structure, | ^ libavcodec/v4l2_request_mpeg2.c:60:30: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:61:10: error: ‘struct v4l2_ctrl_mpeg2_picture’ has no member named ‘intra_dc_precision’ 61 | .intra_dc_precision = s->intra_dc_precision, | ^~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:61:31: warning: excess elements in struct initializer 61 | .intra_dc_precision = s->intra_dc_precision, | ^ libavcodec/v4l2_request_mpeg2.c:61:31: note: (near initialization for ‘(anonymous)’) libavcodec/v4l2_request_mpeg2.c:51:58: error: invalid use of undefined type ‘struct v4l2_ctrl_mpeg2_picture’ 51 | controls->picture = (struct v4l2_ctrl_mpeg2_picture) { | ^ libavcodec/v4l2_request_mpeg2.c:65:36: error: ‘V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST’ undeclared (first use in this function) 65 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:68:36: error: ‘V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT’ undeclared (first use in this function) 68 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:71:36: error: ‘V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV’ undeclared (first use in this function) 71 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:74:36: error: ‘V4L2_MPEG2_PIC_FLAG_INTRA_VLC’ undeclared (first use in this function) 74 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_INTRA_VLC; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:77:36: error: ‘V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE’ undeclared (first use in this function) 77 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:80:36: error: ‘V4L2_MPEG2_PIC_FLAG_ALT_SCAN’ undeclared (first use in this function) 80 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_ALT_SCAN; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:83:36: error: ‘V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST’ undeclared (first use in this function) 83 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libavcodec/v4l2_request_mpeg2.c:86:36: error: ‘V4L2_MPEG2_PIC_FLAG_PROGRESSIVE’ undeclared (first use in this function); did you mean ‘V4L2_DV_BT_CAP_PROGRESSIVE’? 86 | controls->picture.flags |= V4L2_MPEG2_PIC_FLAG_PROGRESSIVE; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | V4L2_DV_BT_CAP_PROGRESSIVE libavcodec/v4l2_request_mpeg2.c: In function ‘v4l2_request_mpeg2_end_frame’: libavcodec/v4l2_request_mpeg2.c:121:19: error: ‘V4L2_CID_STATELESS_MPEG2_SEQUENCE’ undeclared (first use in this function); did you mean ‘V4L2_CID_STATELESS_VP8_FRAME’? 121 | .id = V4L2_CID_STATELESS_MPEG2_SEQUENCE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | V4L2_CID_STATELESS_VP8_FRAME libavcodec/v4l2_request_mpeg2.c:126:19: error: ‘V4L2_CID_STATELESS_MPEG2_PICTURE’ undeclared (first use in this function); did you mean ‘V4L2_CID_STATELESS_VP8_FRAME’? 126 | .id = V4L2_CID_STATELESS_MPEG2_PICTURE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | V4L2_CID_STATELESS_VP8_FRAME libavcodec/v4l2_request_mpeg2.c:131:19: error: ‘V4L2_CID_STATELESS_MPEG2_QUANTISATION’ undeclared (first use in this function) 131 | .id = V4L2_CID_STATELESS_MPEG2_QUANTISATION, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [ffbuild/common.mak:59: libavcodec/v4l2_request_mpeg2.o] Error 1 make: *** Waiting for unfinished jobs....
  9. I am trying to compile FFmpeg on Armbian with 5.13.12 kernel. I am getting compilation errors. maybe I did configuration wrong. what configure parameters you use?
  10. Ubuntu Focal + XFCE + kernel 5.13
  11. Armbian desktop running on Orange Pi Zero2 with kernel 5.13
  12. Found the issue. some H616 patches were excluded because they break armhf. you can find those patches in here. just include them in sunxi-5.13 and it will work.
  13. where did you get those H616 patches?
  14. already changed verbosity to 7 and still the same output.
  15. I built a OPi Zero2 edge image with buster and it stuck at "Starting kernel ...". how can I debug this issue?