kprasadvnsi

Members
  • Posts

    23
  • Joined

  • Last visited

Recent Profile Visitors

1421 profile views

kprasadvnsi's Achievements

  1. I have tried ffmpeg few months ago. I have no idea how to work with gstreamer. Some things are not clear from the previous discussion. 1. What OS you are using? 2. is it using Wayland or X11? 3. What is the kernel version? if any patches are applied then where can I find them? 4. Which gstreamer you are using? I can only see version 1.19
  2. Please don't hijack this for your random TV Box. Its uses the same SoC doesn't mean we have any idea what goes into your particular TV box. There is a section for TV boxes in this forum. You can post your queries there.
  3. kprasadvnsi

    Mainline VPU

    Please let us know how to replicate this on a SBC. very excited to see VP9 video playing on a browser.
  4. $500 is better then $100 but nothing screw up like a confused customer. I don't think its about protecting IP. You are looking for some cheap labor in a field where $500 bounty is considered a joke if i put it politely.
  5. Thermal sensor support for H616 SoC https://github.com/armbian/build/pull/3153
  6. kprasadvnsi

    Mainline VPU

    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
  7. kprasadvnsi

    Mainline VPU

    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?
  8. kprasadvnsi

    Mainline VPU

    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.
  9. kprasadvnsi

    Mainline VPU

    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
  10. kprasadvnsi

    Mainline VPU

    where can I find ffmpeg source for 5.13 kernel?
  11. kprasadvnsi

    Mainline VPU

    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....
  12. kprasadvnsi

    Mainline VPU

    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?
  13. Armbian desktop running on Orange Pi Zero2 with kernel 5.13