Comments (15)
copy buffer should return 0 directly for mmaped memory, since the userspace is using the same buffer(mmaped from exported dmabuf), no need to copy it.
rga is kind of broken in 3588, but i don't think it would related to this issue.
maybe try to:
1/ make sure mpp is returning valid frames
2/ make sure mpp frame's format is nv12
3/ maybe try to dump the input packages and check it with gstreamer+mpp
4/ maybe try to dump the output frames
from libv4l-rkmpp.
After adding some logs I can see the mpp's frame is NV12,same as other normal videos. Any way to dump the mpp packages or the output frames?
from libv4l-rkmpp.
I think there are something to do with video resolution.
I found some other green videos:
video url | video resolution | video codec |
---|---|---|
https://www.bilibili.com/video/BV1wE411M7nK/ | 1376x776 | h264 |
https://www.bilibili.com/video/BV1MR4y1T7YN | 2160x1080 | h264 |
https://www.bilibili.com/video/BV1t34y1U7CN | 1440x1080 | h264 |
https://www.bilibili.com/video/BV15z4y1Z734 | 2160x1080 | h264 |
While other 1920x1080 h264 videos can play well.
from libv4l-rkmpp.
maybe try local videos, you can use ffmpeg to change resolution, to make sure it's a resolution related issue
from libv4l-rkmpp.
After updating to chromium 105.0.5195.125, there is only one video(https://www.bilibili.com/video/BV1wE411M7nK) playing green among the above 4 videos. After turing to 720p in the bilibili web player it can also play well.
I downloaded the video from bilibili, converted it to mp4 and played by chromium, also green. But I can play it well using mpv with rkmpp acceleration.
from libv4l-rkmpp.
it looks like the size is not aligned, so mpp will give aligned frame, maybe chromium doesn't handle that will
from libv4l-rkmpp.
tested on 3588 evb with buildroot + prebuilt chromium-wayland 101.0.4951.54, it works well with a local converted 1376x776 h.264 video.
that bilibili link only has 1080p / 720p / 360p here
from libv4l-rkmpp.
tested on 3588 evb with buildroot + prebuilt chromium-wayland 101.0.4951.54, it works well with a local converted 1376x776 h.264 video.
that bilibili link only has 1080p / 720p / 360p here
Here is the video I downloaded from bilibili: https://cowtransfer.com/s/925bcee23c384c. Open it with chromium and from chrome://media-internals I can see that chromium is using VDAVideoDecoder, but the video is green.
from libv4l-rkmpp.
that works well too.
[867.245] [RKMPP] [5458] rkmpp_apply_info_change(225): frame info changed: 1376x776)
[867.248] [RKMPP] [5455] plugin_mmap(945): mmap buffer(2): 0x7fa2180000, fd: 136
[867.249] [RKMPP] [5455] plugin_mmap(945): mmap buffer(3): 0x7fa1d80000, fd: 137
[867.249] [RKMPP] [5455] rkmpp_dec_g_selection(624): visible rect: 1376x776
[867.249] [RKMPP] [5455] rkmpp_dec_dqevent(420): dequeue resolution change event
[867.250] [RKMPP] [5455] rkmpp_dec_g_selection(624): visible rect: 1376x776
from libv4l-rkmpp.
That's weird. I'm basicly using the build config and patch from https://github.com/saiarcot895/chromium-ubuntu-build. I will try to build without the original patches to see if things will change.
from libv4l-rkmpp.
BTW, I'm using panfork mesa gpu driver instead of mali driver. I don't know if this is related.
from libv4l-rkmpp.
maybe you can try to dump this plugin's outbuf(or memset it to non-green data), if we're returning correct frames, this issue is likely related to chromium itself...
from libv4l-rkmpp.
I find that if the video size is not divisible by 36 then it will get played green by rkmpp. Since I'm using panfrost mesa gpu driver and you can play well using mali gpu driver in buildroot, I will dive into the source code of chromium to see what really happends when I have time.
This two videos, video_54.mp4 is played green while video_72 is played well.
video_54.mp4
video_72.mp4
from libv4l-rkmpp.
ok, that seems like a chromium+mesa issue.
could be alignment requirement for texture in mesa
from libv4l-rkmpp.
Confirmed, when using the close source mali driver, video_54.mp4 is playing well. I will report this issue to the developer of mesa.
from libv4l-rkmpp.
Related Issues (20)
- Dependency chain in README HOT 3
- about decode size limit HOT 3
- Can't play av1 video with big bit rate HOT 5
- 是否可以在Electron中使用vpu进行视频解码 HOT 6
- does it possible to decode more than 1 video at the same time HOT 4
- Use Fuse instead of libv4l-utils HOT 14
- chromium has dropped libv4l2 since v117 HOT 1
- Trouble diagnosing RKMPP not loading when moving from chromium 100 - 114 HOT 8
- chromium v121 can't use egl to render video output HOT 17
- video framerate is extramely low after commit f0d1d5364e30aa98f6d4cefd87f1e365ad5e205c HOT 7
- Feature request: H265 decoding HOT 9
- Handling 10-bit HEVC/VP9/AV1 videos? HOT 5
- use LibYUVImageProcessorBackend in case NV12 rendering is not supported HOT 2
- Chromium 91 support HOT 5
- 关于libv4l-rkmpp的使用 HOT 4
- is it possible to support AV1 decoding? HOT 14
- v4l2-ctl 通过libv4l-rkmpp抓取h264帧 HOT 1
- VLC support HOT 1
- rockchip_mpp not found HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libv4l-rkmpp.