Comments (5)
Linux error -12 is -ENOMEM (cannot allocate memory).
This is more like RGA2 running out of 4GB dma32 memory than an ffmpeg error. You'd better check dmesg to see the more detailed error info of RGA driver.
from ffmpeg-rockchip.
[2739068.437367] warn_alloc: 82 callbacks suppressed
[2739068.437373] ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=15aae0b0f1d00ff317bd3caf7622267d962dbe6eec8db424c1791fa5434adddb,mems_allowed=0
[2739068.437385] CPU: 7 PID: 3962807 Comm: ffmpeg Tainted: G O 5.10.110-37-rockchip-g74457be0716d #rockchip
[2739068.437386] Hardware name: Radxa ROCK 5B (DT)
[2739068.437388] Call trace:
[2739068.437394] dump_backtrace+0x0/0x1a8
[2739068.437396] show_stack+0x2c/0x38
[2739068.437400] dump_stack_lvl+0xd0/0xfc
[2739068.437402] dump_stack+0x14/0x2c
[2739068.437406] warn_alloc+0xe0/0x174
[2739068.437409] __alloc_pages_slowpath.constprop.150+0x3f4/0x728
[2739068.437411] __alloc_pages_nodemask+0x194/0x258
[2739068.437414] dmabuf_page_pool_alloc+0x78/0x7c
[2739068.437417] system_heap_do_allocate.isra.11+0x2a4/0x54c
[2739068.437419] system_heap_allocate+0x38/0x48
[2739068.437421] dma_heap_buffer_alloc+0x5c/0x74
[2739068.437422] dma_heap_bufferfd_alloc+0x3c/0x7c
[2739068.437424] dma_heap_ioctl+0x200/0x284
[2739068.437427] vfs_ioctl+0x58/0x68
[2739068.437429] __arm64_sys_ioctl+0x80/0xb0
[2739068.437431] el0_svc_common.constprop.5+0x134/0x1e8
[2739068.437433] do_el0_svc+0x80/0x9c
[2739068.437435] el0_svc+0x1c/0x28
[2739068.437437] el0_sync_handler+0x64/0x12c
[2739068.437439] el0_sync+0x178/0x180
[2739068.437441] Mem-Info:
[2739068.437446] active_anon:141204 inactive_anon:161343 isolated_anon:0
active_file:16015 inactive_file:22274 isolated_file:0
unevictable:0 dirty:193 writeback:0
slab_reclaimable:22466 slab_unreclaimable:31709
mapped:20568 shmem:26028 pagetables:8850 bounce:0
free:234484 free_pcp:746 free_cma:60461
[2739068.437451] Node 0 active_anon:564816kB inactive_anon:645372kB active_file:64060kB inactive_file:89096kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:82272kB dirty:772kB writeback:0kB shmem:104112kB writeback_tmp:0kB kernel_stack:16144kB all_unreclaimable? yes
[2739068.437455] DMA free:247188kB min:5452kB low:9276kB high:13100kB reserved_highatomic:0KB active_anon:44kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3930112kB managed:3839940kB mlocked:0kB pagetables:948kB bounce:0kB free_pcp:252kB local_pcp:248kB free_cma:241844kB
[2739068.437456] lowmem_reserve[]: 0 0 3941 3941
[2739068.437463] Normal free:690748kB min:5756kB low:9792kB high:13828kB reserved_highatomic:4096KB active_anon:564772kB inactive_anon:645456kB active_file:64060kB inactive_file:89096kB unevictable:0kB writepending:772kB present:4194304kB managed:4036540kB mlocked:0kB pagetables:34452kB bounce:0kB free_pcp:2732kB local_pcp:300kB free_cma:0kB
[2739068.437464] lowmem_reserve[]: 0 0 0 0
[2739068.437468] DMA: 48*4kB (UEC) 28*8kB (UEC) 19*16kB (EC) 173*32kB (UEC) 12*64kB (C) 12*128kB (C) 9*256kB (C) 8*512kB (C) 7*1024kB (C) 6*2048kB (C) 52*4096kB (C) = 247408kB
[2739068.437485] Normal: 38713*4kB (UMEH) 33912*8kB (UMEH) 14447*16kB (UMEH) 1038*32kB (UMEH) 4*64kB (H) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 690772kB
from ffmpeg-rockchip.
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)
The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.
Try reducing the number of concurrent video streams, and setting :async_depth=0
for scale_rkrga
may also help.
from ffmpeg-rockchip.
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)
The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.
Try reducing the number of concurrent video streams, and setting
:async_depth=0
forscale_rkrga
may also help.
RGA2 had this problem for a while as far as I know. Who's responsible for it? Rockchip?
from ffmpeg-rockchip.
ffmpeg: page allocation failure: order:0, mode:0x140dc6(GFP_HIGHUSER|GFP_DMA32|__GFP_COMP|__GFP_ZERO)
The DMA32 address requested by ffmpeg has been exhausted, so it automatically falls back to the DMA64 address. And RGA2 only supports DMA32, so it cannot use this memory.
Try reducing the number of concurrent video streams, and setting:async_depth=0
forscale_rkrga
may also help.RGA2 had this problem for a while as far as I know. Who's responsible for it? Rockchip?
This is a hardware limitation and is determined by the hardware designer. So yes rockchip.
RGA3 does not have this limitation but it cannot output YUV420P, you can switch to another format and use RGA3 instead.
from ffmpeg-rockchip.
Related Issues (20)
- Using with Photoprism HOT 1
- use scale_rkrga filter error in rk3588(ubuntu22.02 desktop) HOT 2
- Questions about cross-compilation HOT 4
- use filter scale_rkrga failed in rk3588(ubuntu22.02 desktop) HOT 1
- 使用av_read_frame进行rtsp拉流阻塞的问题 HOT 2
- crashes - various errors HOT 4
- Compile into static form HOT 1
- Error native compilation in Armbian 5.10.160-legacy-rk35xx HOT 1
- 当摄像头设备分辨率为1920x1080时,tbr帧率识别错误? HOT 1
- undefined reference to ff_h264_* HOT 4
- Segmentation fault: mpp_buffer_group_init HOT 7
- The problem of Chinese garbled code in drawtext HOT 1
- 当前支持rk3528处理器吗? HOT 3
- SIG11 when running ffmpeg HOT 4
- How to get buffer from drm_prime? HOT 3
- h264_rkmpp 接收 rawvideo 灰度图数据失败。Failed to get key input frame from packet meta: -1 HOT 2
- RK3588测速问题 HOT 2
- (Cannot open video device /dev/video0: No such device) HOT 12
- The encoder of rkmpp is not working HOT 2
- segfault with h,264 encode HOT 4
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 ffmpeg-rockchip.