嵌入式linux相机 转换模块
convert_manager.c
#include <config.h>
#include <convert_manager.h>
#include <string.h>static PT_VideoConvert g_ptVideoConvertHead = NULL;/*********************************************************************** 函数名称: RegisterVideoConvert* 功能描述: 注册"字体模块", 所谓字体模块就是取出字符位图的方法* 输入参数: ptVideoConvert - 一个结构体,内含"取出字符位图"的操作函数* 输出参数: 无* 返 回 值: 0 - 成功, 其他值 - 失败* 修改日期 版本号 修改人 修改内容* -----------------------------------------------* 2013/02/08 V1.0 韦东山 创建***********************************************************************///构造结构体,并形成链表
int RegisterVideoConvert(PT_VideoConvert ptVideoConvert)
{PT_VideoConvert ptTmp;if (!g_ptVideoConvertHead){g_ptVideoConvertHead = ptVideoConvert;ptVideoConvert->ptNext = NULL;}else{ptTmp = g_ptVideoConvertHead;while (ptTmp->ptNext){ptTmp = ptTmp->ptNext;}ptTmp->ptNext = ptVideoConvert;ptVideoConvert->ptNext = NULL;}return 0;
}/*********************************************************************** 函数名称: ShowVideoConvert* 功能描述: 显示本程序能支持的"字体模块"* 输入参数: 无* 输出参数: 无* 返 回 值: 无* 修改日期 版本号 修改人 修改内容* -----------------------------------------------* 2013/02/08 V1.0 韦东山 创建***********************************************************************///显示一个结构体的name成员
void ShowVideoConvert(void)
{int i = 0;PT_VideoConvert ptTmp = g_ptVideoConvertHead;while (ptTmp){printf("%02d %s\n", i++, ptTmp->name);ptTmp = ptTmp->ptNext;}
}/*********************************************************************** 函数名称: GetVideoConvert* 功能描述: 根据名字取出指定的"字体模块"* 输入参数: pcName - 名字* 输出参数: 无* 返 回 值: NULL - 失败,没有指定的模块, * 非NULL - 字体模块的PT_VideoConvert结构体指针* 修改日期 版本号 修改人 修改内容* -----------------------------------------------* 2013/02/08 V1.0 韦东山 创建***********************************************************************///根据结构的name来得到结构体
PT_VideoConvert GetVideoConvert(char *pcName)
{PT_VideoConvert ptTmp = g_ptVideoConvertHead;while (ptTmp){if (strcmp(ptTmp->name, pcName) == 0){return ptTmp;}ptTmp = ptTmp->ptNext;}return NULL;
}/*********************************************************************** 函数名称: FontsInit* 功能描述: 调用各个字体模块的初始化函数* 输入参数: 无* 输出参数: 无* 返 回 值: 0 - 成功, 其他值 - 失败* 修改日期 版本号 修改人 修改内容* -----------------------------------------------* 2013/02/08 V1.0 韦东山 创建***********************************************************************///各个转化模块初始化
int VideoConvertInit(void)
{int iError;iError = Yuv2RgbInit();iError |= Mjpeg2RgbInit();iError |= Rgb2RgbInit();return iError;
}
convert_manager.h
#ifndef _CONVERT_MANAGER_H
#define _CONVERT_MANAGER_H#include <config.h>
#include <video_manager.h>typedef struct VideoConvert {int (*isSupport)(int iPixelFormatIn, int iPixelFormatOut); // 看输入像素格式 是否支持 转化成 输出像素格式int (*Convert)(PT_VideoBuf ptVideoBufIn, PT_VideoBuf ptVideoBufOut); //输入像素buf 转换成 输出像素buf int (*ConvertExit)(PT_VideoBuf ptVideoBufOut);//输出像素buf在 convert函数中申请内存,用完要释放掉
}T_VideoConvert, *PT_VideoConvert;#endif /* _CONVERT_MANAGER_H */
相关文章:
嵌入式linux相机 转换模块
convert_manager.c #include <config.h> #include <convert_manager.h> #include <string.h>static PT_VideoConvert g_ptVideoConvertHead NULL;/*********************************************************************** 函数名称: Register…...
【自学安全防御】二、防火墙NAT智能选路综合实验
任务要求: (衔接上一个实验所以从第七点开始,但与上一个实验关系不大) 7,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 8,分公司设备可以通过总…...
【Android】传给后端的Url地址被转码问题处理
一、问题 为什么使用Gson().toJson的时候,字符串中的会被转成\u003d 在 Gson 中,默认情况下会对某些特殊字符进行 HTML 转义,以确保生成的 JSON 字符串在 HTML 中是安全的。因此,字符 会被转义为 \u003d。你可以通过禁用 HTML 转…...
1.厦门面试
1.Vue的生命周期阶段 vue生命周期分为四个阶段 第一阶段(创建阶段):beforeCreate,created 第二阶段(挂载阶段):beforeMount(render),mounted 第三阶段&#…...
设计模式使用场景实现示例及优缺点(行为型模式——状态模式)
在一个遥远的国度中,有一个被称为“变幻之城”的神奇城堡。这座城堡有一种特殊的魔法,能够随着王国的需求改变自己的形态和功能。这种神奇的变化是由一个古老的机制控制的,那就是传说中的“状态宝石”。 在变幻之城中,有四颗宝石&…...
抖音短视频seo矩阵系统源码(搭建技术开发分享)
#抖音矩阵系统源码开发 #短视频矩阵系统源码开发 #短视频seo源码开发 一、 抖音短视频seo矩阵系统源码开发,需要掌握以下技术: 网络编程:能够使用Python、Java或其他编程语言进行网络编程,比如使用爬虫技术从抖音平台获取数据。…...
基于 asp.net家庭财务管理系统设计与实现
博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用感兴趣的可以先…...
allure_pytest:AttributeError: ‘str‘ object has no attribute ‘iter_parents‘
踩坑记录 问题描述: 接口自动化测试时出现报错,报错文件是allure_pytest库 问题分析: 自动化测试框架是比较成熟的代码,报错也不是自己写的文件,而是第三方库,首先推测是allure_pytest和某些库有版本不兼…...
C语言 反转链表
题目链接:https://leetcode.cn/problems/reverse-linked-list/description/?envTypestudy-plan-v2&envIdselected-coding-interview 完整代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/// 反转链表…...
MFC CRectTracker 类用法详解
CRectTracker 类并非 Microsoft Foundation Class (MFC) 库中应用很广泛的一个类,一般教科书中很少有提到。在编程中如果需编写选择框绘制以及选择框大小调整、移动等程序时,用CRectTracker 类就会做到事半而功倍。下面详细介绍MFC CRectTracker 类。 M…...
好玩的调度技术-场景编辑器
好玩的调度技术-场景编辑器 文章目录 好玩的调度技术-场景编辑器前言一、演示一、代码总结好玩系列 前言 这两天写前端写上瘾了,顺手做了个好玩的东西,好玩系列也好久没更新,正好作为素材写一篇文章,我真的觉得蛮好玩的ÿ…...
提高自动化测试脚本编写效率 5大关键注意事项
提高自动化测试脚本编写效率能加速测试周期,减少人工错误,提升软件质量,促进项目按时交付,增强团队生产力和项目成功率。而自动化测试脚本编写效率低下,往往会导致测试周期延长,增加项目成本,延…...
护眼落地灯哪个更护眼?2024年度最值得入手的5款护眼大路灯推荐
落地灯和台灯哪个更护眼?之所以我们眼睛经常酸痛,很大部分的原因是因为我们长时间在不良光线下,将注意力集中在屏幕或书本上会导致眼睛肌肉过度使用,引发疲劳和酸痛。但也不排除不正确的坐姿或者工作环境缺乏适当的照明引起的&…...
DP讨论——适配器、桥接、代理、装饰器模式通用理解
学而时习之,温故而知新。 共性 适配器、桥接、代理和装饰器模式,实现上基本没啥区别,怎么区分?只能从上下文理解,看目的是啥。 它们,我左看上看下看右看,发现理解可以这么简单:都是A类调用B/…...
Apache AGE的MATCH子句
MATCH子句允许您在数据库中指定查询将搜索的模式。这是检索数据以在查询中使用的主要方法。 通常在MATCH子句之后会跟随一个WHERE子句,以添加用户定义的限制条件到匹配的模式中,以操纵返回的数据集。谓词是模式描述的一部分,不应被视为仅在匹…...
Netty Websocket
一、WebSocket 协议概述 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许服务端主动向客户端推送数据,从而实现了实时通信。WebSocket 建立在 HTTP 之上,但与 HTTP 的轮询(Polling)和长轮询(Long Pol…...
用户注册业务逻辑、接口设计和实现、前端逻辑
一、用户注册业务逻辑分析 二、用户注册接口设计和定义 2.1. 设计接口基本思路 对于接口的设计,我们要根据具体的业务逻辑,设计出适合业务逻辑的接口。设计接口的思路: 分析要实现的业务逻辑: 明确在这个业务中涉及到几个相关子…...
ubuntu搭建harbor私仓
1、环境准备 链接: https://pan.baidu.com/s/1q4XBWPd8WdyEn4l253mpUw 提取码: 7ekx --来自百度网盘超级会员v2的分享 准备一台Ubuntu 机器:192.168.124.165 将上面两个文件考入Ubuntu上面 2、安装harbor 安装Docker Harbor仓库以容器方式运行,需要先安装好docker,参考:…...
深层神经网络示例
维度说明: A[L]、Z[L]:(本层神经元个数、样本数) W[L]:(本层神经元个数、上层神经元个数) b[L]:(本层神经元个数、1) dZ[L]:dA[L] * g’A…...
vue中获取剪切板中的内容
目录 1.说明 2.示例 3.总结 1.说明 在系统中的画面或者时外部文件中进行拷贝处理后,在页面中可以获取剪切板的内容。 2.示例 方式①(直接获取) // 异步函数获取剪切板内容 async function getClipboardContent(ev: any) {try {ev.preventDefault()const clip…...
【实战】VSCode插件离线安装全攻略:从下载到部署
1. 为什么需要离线安装VSCode插件 作为一名在开发一线摸爬滚打多年的老码农,我遇到过太多因为网络问题导致插件安装失败的场景。比如去年在某大型制造企业的工厂MES系统升级项目中,开发环境完全隔离外网,但团队又急需使用GitLens和Python插件…...
Pandas API on Spark 配置选项系统、默认索引与性能调优
1. 什么是 Pandas API on Spark 的选项系统 Pandas API on Spark 提供了一个选项系统,用来定制运行时行为。最常见的是显示类选项,比如控制最大展示行数,但它也支持影响计算行为、索引生成方式、绘图后端等。选项名采用“点式命名”ÿ…...
实战指南 | TSMaster 的 CAN UDS 诊断自动化流程与 BootLoader 刷写详解
1. TSMaster诊断控制台深度解析 诊断控制台是TSMaster进行UDS诊断的核心操作界面,相当于工程师与ECU对话的"翻译器"。我第一次接触这个界面时,被它清晰的四分区设计惊艳到了——就像汽车仪表盘把转速、车速、油量分区域显示一样直观。 服务命令…...
OpenClaw+GLM-4.7-Flash:自动化客户咨询响应系统
OpenClawGLM-4.7-Flash:自动化客户咨询响应系统 1. 为什么选择这个技术组合 去年夏天,我接手了一个小型电商项目的客服系统改造需求。客户希望在不增加人力成本的情况下,实现7*24小时的初步咨询响应。经过几轮技术选型,最终选择…...
大语言模型,视觉模型,全模态模型,语音模型和向量模型的区别和使用
1. 大语言模型(Large Language Model, LLM)定义:以文本为输入,生成文本的模型。特点:输入输出都是自然语言(或包含少量结构化的 prompt)。擅长对话、写作、推理、代码生成等任务。在 LangChain …...
雪女-斗罗大陆-造相Z-Turbo助力AI编程:自动生成代码片段与函数注释
雪女-斗罗大陆-造相Z-Turbo助力AI编程:自动生成代码片段与函数注释 作为一名写了十几年代码的老兵,我经历过从记事本写代码到现代IDE的整个进化史。这些年,各种提升效率的工具层出不穷,但“写代码”这件事的核心——将想法转化为…...
SQL注入的分类靶场实践
SQL注入的分类靶场实践 前言 SQL 注入(SQL Injection)是一种常见且危险的 Web 安全漏洞,攻击者通过在输入字段中插入恶意 SQL 代码,能够绕过应用程序的验证机制,直接操纵数据库。本文将介绍 SQL 注入的分类ÿ…...
Apache-Guacamole实战:用Docker三分钟搞定Windows11远程控制环境搭建
Apache-Guacamole实战:三分钟Docker部署Windows11远程控制环境 远程办公和跨平台协作已成为现代开发者的日常需求。想象一下这样的场景:你正在咖啡馆用MacBook调试代码,突然需要访问办公室的Windows11开发环境;或是团队需要共享一…...
三步打造清爽Mac菜单栏:Dozer终极隐藏方案
三步打造清爽Mac菜单栏:Dozer终极隐藏方案 【免费下载链接】Dozer Hide menu bar icons on macOS 项目地址: https://gitcode.com/gh_mirrors/do/Dozer 还在为Mac菜单栏上拥挤不堪的图标感到困扰吗?想要一个简洁高效的工作界面?Dozer正…...
互联网舆情分析系统:基于Nanbeige 4.1-3B的情感与主题挖掘
互联网舆情分析系统:基于Nanbeige 4.1-3B的情感与主题挖掘 最近几年,大家有没有感觉网上的声音越来越复杂?一个热点出来,瞬间就是成千上万条评论,有支持的,有反对的,有理性分析的,也…...
