Android11 USB Camera会出现预览绿屏问题
目录
一、问题描述
二、问题原因
三、解决方法
一、问题描述
DDR容量是4G及以上的机器,USB Camera会出现预览绿屏问题。
串口中会刷如下log:

二、问题原因
RGA2使用超过4G内存会异常,导致USB Camera调用rga相关操作报错,从而预览绿屏
三、解决方法
限制USB Camera 预览buf及中间buf申请内存在4G以内。
详见patch:
From 8eebf07d39c069422e8b6eed8b414c3fa21e2c5a Mon Sep 17 00:00:00 2001
From: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Date: Tue, 8 Aug 2023 19:00:29 +0800
Subject: [PATCH] usb camera: gralloc alloc buf in 4G for camera useChange-Id: I59410a65057d7ebb2831cea6a97b48c64cd8d7d2
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
---camera/device/3.4/default/ExternalCameraDeviceSession.cpp | 3 ++-camera/device/3.4/default/ExternalCameraGralloc4.cpp | 3 ++-.../include/ext_device_v3_4_impl/ExternalCameraGralloc4.h | 1 +3 files changed, 5 insertions(+), 2 deletions(-)mode change 100755 => 100644 camera/device/3.4/default/ExternalCameraGralloc4.cppmode change 100755 => 100644 camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraGralloc4.hdiff --git a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
index e2ab4fa2f..3e625f9a1 100644
--- a/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
+++ b/camera/device/3.4/default/ExternalCameraDeviceSession.cpp
@@ -3493,9 +3493,10 @@ Status ExternalCameraDeviceSession::configureStreams(GRALLOC_USAGE_HW_VIDEO_ENCODER |GRALLOC_USAGE_HW_CAMERA_WRITE |RK_GRALLOC_USAGE_SPECIFY_STRIDE|
- GRALLOC_USAGE_PRIVATE_1;
+ GRALLOC_USAGE_PRIVATE_1 | RK_GRALLOC_USAGE_WITHIN_4G;out->streams[i].v3_2.consumerUsage = 0;out->streams[i].v3_2.maxBuffers = mV4L2BufferCount;
+ ALOGD("allocate RK_GRALLOC_USAGE_WITHIN_4G");switch (config.streams[i].format) {case PixelFormat::BLOB:
diff --git a/camera/device/3.4/default/ExternalCameraGralloc4.cpp b/camera/device/3.4/default/ExternalCameraGralloc4.cpp
old mode 100755
new mode 100644
index 8f233243f..462b7a3b2
--- a/camera/device/3.4/default/ExternalCameraGralloc4.cpp
+++ b/camera/device/3.4/default/ExternalCameraGralloc4.cpp
@@ -130,7 +130,8 @@ static inline void sBufferDescriptorInfo(std::string name, uint32_t width, uint3outDescriptorInfo->height = height;outDescriptorInfo->layerCount = layerCount;outDescriptorInfo->format = static_cast<hardware::graphics::common::V1_2::PixelFormat>(format);
- outDescriptorInfo->usage = usage;
+ outDescriptorInfo->usage = RK_GRALLOC_USAGE_WITHIN_4G|usage;
+ ALOGD("%s:alloc RGA buf in 4G!\n", __FUNCTION__);outDescriptorInfo->reservedSize = 0;}diff --git a/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraGralloc4.h b/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraGralloc4.h
old mode 100755
new mode 100644
index e79774ff9..4d730206d
--- a/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraGralloc4.h
+++ b/camera/device/3.4/default/include/ext_device_v3_4_impl/ExternalCameraGralloc4.h
@@ -36,6 +36,7 @@//#include <base/synchronization/lock.h>//#include <ui/PixelFormat.h>
+#define RK_GRALLOC_USAGE_WITHIN_4G (1ULL << 56)#define LOGD(msg,...) ALOGD("@%s(%d): " msg ,__FUNCTION__,__LINE__,##__VA_ARGS__)#define LOGE(msg,...) ALOGE("@%s(%d): " msg ,__FUNCTION__,__LINE__,##__VA_ARGS__)
--
2.25.1
相关文章:
Android11 USB Camera会出现预览绿屏问题
目录 一、问题描述 二、问题原因 三、解决方法 一、问题描述 DDR容量是4G及以上的机器,USB Camera会出现预览绿屏问题。 串口中会刷如下log: 二、问题原因 RGA2使用超过4G内存会异常,导致USB Camera调用rga相关操作报错,从而预览绿屏 三…...
Mongodb 获取集合(collection)的统计信息
在MongoDB中,获取指定集合(collection)的统计信息可以通过执行collStats命令来实现。这个命令提供了关于集合的详细信息,包括: 集合的大小索引的大小和数量文档的数量存储空间的使用情况各种统计数据,如平…...
Java中的集合(1)——List、Map和Set
Java标准库自带的java.util包提供了集合类:Collection,它是除Map外所有其他集合类的根接口。Java的java.util包中提供了以下三种类型的集合: List:一种有序列表的集合,例如,按索引排列的Student的List&…...
MySQL8.0主从同步报ERROR 13121错误解决方法
由于平台虚拟机宿主机迁移,导致一套MySQL主从库从节点故障,从节点服务终止,在服务启动后,恢复从节点同步服务,发现了如下报错: mysql> show slave status\G; *************************** 1. row *****…...
【论文阅读】03-Diffusion Models and Representation Learning: A Survey
Abstract(摘要) 扩散模型是各种视觉任务中流行的生成建模方法,引起了人们的广泛关注它们可以被认为是 自监督学习方法【通过数据本身的结构和特征来训练模型,而不是依赖外部标签】 的一个独特实例,因为它们独立于标签注…...
【深度学习】RNN的简单实现
目录 1.RNNCell 2.RNN 3.RNN_Embedding 1.RNNCell import torchinput_size 4 hidden_size 4 batch_size 1idx2char [e, h, l, o] x_data [1, 0, 2, 2, 3] # 输入:hello y_data [3, 1, 2, 3, 2] # 期待:ohlol# 独热向量 one_hot_lookup [[1, …...
每次请求时,检查 JWT Token的有效期并决定是否需要刷新
为了在每次请求时检查 access_token 的有效期,并在过期时自动刷新,可以通过以下步骤实现: 1. 解析 JWT Token 获取过期时间 JWT token 的有效期是编码在 token 本身的,你可以通过解析 token 来获取它的到期时间。JWT token 是由…...
AI大模型开发架构设计(13)——LLM大模型的向量数据库应用实战
文章目录 LLM大模型的向量数据库应用实战1 大模型的局限性大模型的4点局限性大模型的4点局限性的改进实践方法 2 向量数据库使用场景以及改建大模型向量数据库向量数据库选型知识库文档检索增强(Retrieval Augmented Generation) 3 向量数据库应用技术架构剖析向量数据库应用技…...
WPF中Grid、StackPanel、Canvas、WrapPanel常用属性
Grid常用属性 Grid 控件在 WPF 中非常强大,它提供了多种属性来定义行和列的布局。以下是一些常用的 Grid 属性: RowDefinitions 和 ColumnDefinitions: Grid 控件使用 RowDefinitions 和 ColumnDefinitions 来定义行和列的集合。每个 RowDef…...
【芙丽芳丝净润洗面霜和雅漾舒护活泉喷雾
1. 洁面产品: - 芙丽芳丝净润洗面霜:氨基酸洗面奶的经典产品,成分温和,不含酒精、香料等刺激性成分。泡沫丰富细腻,能够有效清洁皮肤的同时,不会过度剥夺皮肤的油脂,洗后皮肤不紧绷,…...
ubuntu更新Cmake
CMake 先验知识创建软链接如何删除符号链接如何找出失效链接并将其删除PATH 优先级查看当前CMake命令的位置 高版本 CMake 安装参考 先验知识 创建软链接 ln -s <path to the file/folder to be linked> <the path of the link to be created>ln 是链接命令&…...
CMOS晶体管的串联与并联
CMOS晶体管的串联与并联 前言 对于mos管的串联和并联,一直没有整明白,特别是设计到EDA软件中,关于MOS的M和F参数,就更困惑了,今天看了许多资料以及在EDA软件上验证了电路结构与版图的对应关系,总算有点收…...
从IT高管到看门大爷:53岁我的职场华丽转身
该文讲述了一位1971年出生的男士,在53岁时因日企撤资而失业。他曾是IT技术员,后晋升为IT高管兼工会主席,但失业后数百份简历石沉大海,面试也因年龄被取消。他意识到年龄是求职的障碍,开始调整心态,降低期望…...
Redis入门到精通(三):入门Redis看这一篇就够了
文章目录 Redis分布式锁的实现原理Redis实现分布式锁如何合理的控制锁的有效时常?**redisson实现的分布式锁**redisson实现的如何保证主从一致性 Redis的集群方案1.主从复制主从数据的同步原理全量同步增量同步 2.哨兵模式Redis的集群脑裂是什么?3.分片集…...
IP基本原理
IP的定义 当前唯一的网络层协议标准定义数据网络层的封装方式、编址方法 MTU 最大传输单元接口收发数据支持的单个包的最大长度不同二层链路类型的接口的MTU不一致。以太网接口默认MTU1500Byte。PPPoE接口默认MTU1480Byte。 IP头部封装格式 IP 头部长度不固定,2…...
数据分析题面试题系列2
一.如何估算星巴克一天的营业额 a.需求澄清:区域?节假日?产品范围? b.收入销售杯数*单价(营业时间*每小时产能*每小时产能利用率)*平均单价 Hypo该星巴克门店的营业时间为12小时(取整&#x…...
uniapp 单表、多级动态表单添加validateFunction自定义规则
uniapp 多级动态表单添加自定义规则 在uniapp制作小程序时,当涉及到需要设置validateFunction的校验规则时。可能遇到的问题 1、validateFunction不生效,没有触发 2、多层级表单怎么添加validateFunction自定义校验规则 本文将以单表单校验和多表单校…...
FPGA高端图像处理培训第一期,提供工程源码+视频教程+FPGA开发板
目录 1、FPGA图像处理培训现状分析2、本FPGA图像处理培训优势亮点架构全起点高实用性强项目应用级别细节恐怖工程源码清晰 3、本FPGA图像处理培训内容介绍图像处理基本框架图像前处理框架图像中处理框架图像前中处理框架图像后处理框架图像中后处理框架图像处理仿真框架视频教程…...
顺序表的实现(数据结构)——C语言
目录 1.结构与概念 2.分类 3 动态顺序表的实现 SeqList.h SeqList.c 创建SLInit: 尾插SLPushBack以及SLCheak(检查空间是否足够): 头插SLPushFront: 尾删SLPopBack 头删SLPopFront 查找指定元素SLFind 指定…...
【VUE】Vue中 computed计算属性和watch侦听器的区别
核心功能不同 computed 是一个计算属性,其核心功能是基于已有的数据属性计算得出新的属性值。当某个依赖的数据发生变化时,computed 会自动重新计算并更新自己的值。因此,可以将 computed 看做是一种“派生状态”。 watch 是一个观察者函数&…...
RK3568平台开发系列讲解:注册 platform 驱动过程详解
🚀返回专栏总目录 文章目录 一、注册 platform 驱动 二、probe函数 三、platform_driver 结构体 一、注册 platform 驱动 platform_driver_register 函数用于在 Linux 内核中注册一个平台驱动程序。 下面是对该函数的详细介绍: 该函数在内核源码目录下的“/include/linux/p…...
React组件生命周期终极指南:30-seconds-of-react中useEffect的进阶用法
React组件生命周期终极指南:30-seconds-of-react中useEffect的进阶用法 【免费下载链接】30-seconds-of-react Short React code snippets for all your development needs 项目地址: https://gitcode.com/gh_mirrors/30/30-seconds-of-react 掌握React组件生…...
如何快速诊断Windows热键冲突:Hotkey Detective终极指南
如何快速诊断Windows热键冲突:Hotkey Detective终极指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否…...
从Vue 2老项目平滑升级到Vue 3,我踩过的坑和最佳迁移路径总结
从Vue 2老项目平滑升级到Vue 3,我踩过的坑和最佳迁移路径总结 去年接手了一个运行三年的电商后台系统,技术栈停留在Vue 2.6 Vuex Webpack的组合。随着业务复杂度提升,性能瓶颈和开发效率问题日益凸显。经过三个月渐进式迁移,最终…...
Airplay2-Win:Windows系统终极AirPlay 2投屏解决方案
Airplay2-Win:Windows系统终极AirPlay 2投屏解决方案 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 还在为Windows电脑无法接收iPhone或iPad投屏而烦恼吗?Airplay2-Win正是解决…...
5个关键技术点解析:AirPodsDesktop如何实现Windows/Linux平台的完美AirPods体验
5个关键技术点解析:AirPodsDesktop如何实现Windows/Linux平台的完美AirPods体验 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPods…...
OpenClaw飞书机器人配置:Qwen3.5-9B多轮对话实战
OpenClaw飞书机器人配置:Qwen3.5-9B多轮对话实战 1. 为什么选择OpenClaw飞书Qwen3.5-9B组合 去年我接手了一个小团队的内部效率优化项目,需要在不增加人力的情况下提升日常事务处理速度。经过几轮技术选型,最终选择了OpenClaw作为自动化核心…...
为什么Webi-installers是开发者的必备神器?10个理由告诉你答案
为什么Webi-installers是开发者的必备神器?10个理由告诉你答案 【免费下载链接】webi-installers Primary and community-submitted packages for webinstall.dev 项目地址: https://gitcode.com/gh_mirrors/we/webi-installers Webi-installers是一个革命性…...
ncmdump:破解NCM加密格式,音乐爱好者的格式自由解决方案
ncmdump:破解NCM加密格式,音乐爱好者的格式自由解决方案 【免费下载链接】ncmdump ncmdump - 网易云音乐NCM转换 项目地址: https://gitcode.com/gh_mirrors/ncmdu/ncmdump 问题场景:当你下载的音乐被"锁"在特定设备 你是否…...
webpack优化:Vue配置compression-webpack-plugin实现gzip压缩
需求实现 1.安装依赖 npm i -D compression-webpack-plugin6.1.12.修改vue .config.js配置 const CompressionPlugin require(compression-webpack-plugin) // gzip 相关 const isGZIP process.env.VUE_APP_GZIP ONmodule.exports {configureWebpack(config) {if (isGZ…...
