嵌入式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 */

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/46177.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/46177.shtml
英文地址,請注明出處:http://en.pswp.cn/web/46177.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

異常檢測在機器學習中的重要性

異常檢測在機器學習中的重要性 在機器學習領域&#xff0c;異常檢測&#xff08;Anomaly Detection&#xff09;是一種識別數據集中異常或不尋常模式的任務。這些異常點可能代表錯誤、噪聲、或更有趣的是&#xff0c;它們可能揭示了某些異常行為或新現象。異常檢測在許多領域都…

LabVIEW Communications LTE Application Framework 讀書筆記

目錄 硬件要求一臺設備2臺USRPUSRP-2974 示例項目的組件文件夾結構DL Host.gcompeNodeB Host.gcompUE Host.gcompBuildsCommonUSRP RIOLTE 操作模式DLeNodeBUE 項目組件單機雙機UDP readUDP writeMAC TXMAC RXDL TX PHYDL RX PHYUL TX PHYUL RX PHYSINR calculationRate adapta…

Vue + litegraph.js 實現藍圖功能

Vue3 litegraph.js 實現藍圖功能 litegraph.js [github](https://github.com/jagenjo/litegraph.js) [demo](https://tamats.com/projects/litegraph/editor/)vue - html <canvas id"mycanvas" width"1524" height"720" style"border…

PostgreSQL數據庫從入門到精通系列之九:PostgreSQL數據庫13版本和PostgreSQL數據庫14版本功能特性

PostgreSQL數據庫從入門到精通系列之九:PostgreSQL數據庫13版本和PostgreSQL數據庫14版本功能特性 一、PostgreSQL數據庫版本13新功能和特性二、PostgreSQL13相比于PostgreSQL12功能改進三、PostgreSQL數據庫14版本新功能和特性一、PostgreSQL數據庫版本13新功能和特性 Postg…

R語言優雅的把數據基線表(表一)導出到word

基線表&#xff08;Baseline Table&#xff09;是醫學研究中常用的一種數據表格&#xff0c;用于在研究開始時呈現參與者的初始特征和狀態。這些特征通常包括人口統計學數據、健康狀況和疾病史、臨床指標、實驗室檢測、生活方式、社會經濟等。 本人在既往文章《scitb包1.6版本發…

無人機之機型區別與應用領域

一、多旋翼無人機 特點&#xff1a;多旋翼無人機依靠產生升力以平衡飛行器的重力&#xff0c;通過改變每個旋翼的轉速來控制飛行姿態&#xff0c;能夠懸停和垂直起降。他們具備體積小、重量輕、噪音小、隱蔽性好的特點&#xff0c;操作靈活且易于維護。 應用&#xff1a;多旋…

Springboot Excel 導出工具 -- EasyPoi 簡介

EasyPoi是一款基于 Apache POI 的高效 Java 工具庫&#xff0c;專為簡化 Excel 和 Word 文檔的操作而設計。以下是對 EasyPoi 的詳細介紹&#xff1a; 一、概述 名稱&#xff1a;EasyPoi類型&#xff1a;Java 庫功能&#xff1a;簡化 Excel 和 Word 文檔的操作&#xff0c;包…

uni-app:文字豎直排列,并且在父級view中水平豎直對齊

一、效果 二、代碼 <template><view class"parent"><text class"child">這是豎直排列的文字</text></view> </template> <script>export default {data() {return {}},methods: {},}; </script> <sty…

Vue 實現文章錨點定位,頂欄遮住了錨點,使用scrollTo代替scrollIntoView設置偏移量

在Vue中實現文章錨點功能&#xff0c;可以通過監聽滾動事件來更新當前錨點的狀態。以下是一個簡單的示例&#xff1a; <template><div><div :id"anchor- index" v-for"(section, index) in sections" :key"index">{{ sectio…

React和Vue.js的相似性和差異性是什么?

React 和 Vue.js 都是流行的前端 JavaScript 框架&#xff0c;它們有一些相似性和差異性&#xff1a; 相似性&#xff1a; 組件化&#xff1a;React 和 Vue.js 都支持組件化開發&#xff0c;允許開發者將界面拆分為獨立的組件&#xff0c;提高代碼的復用性和可維護性。…

學習小記-Kafka相較于其他MQ有啥優勢?

Kafka 相比于 RocketMQ 有以下幾個優勢&#xff1a; 1. 高吞吐量和低延遲&#xff1a; Kafka 以其出色的 I/O 性能和分布式架構設計&#xff0c;能夠實現極高的吞吐量&#xff0c;每秒數百萬的消息處理能力&#xff0c;適合大規模數據流處理。同時&#xff0c;Kafka 設計為…

pycharm2020 相比pycarm2017更新內容

PyCharm 是 JetBrains 開發的一款流行的 Python 集成開發環境&#xff08;IDE&#xff09;。從 2017 版到 2020 版&#xff0c;PyCharm 進行了多個版本的更新&#xff0c;添加了許多新功能和改進。以下是一些主要的更新內容和改進&#xff1a; PyCharm 2018 和 2019 的主要更新…

vault安裝手冊

標準配置文件 ui true cluster_addr "https://127.0.0.1:8201" api_addr "https://127.0.0.1:8200" disable_mlock truestorage "raft" {path "/path/to/raft/data"node_id "raft_node_id" }listen…

Ubuntu 24.04安裝Jellyfin媒體服務器圖解教程

使用 Jellyfin 等開源軟件創建媒體服務器肯定能幫助您管理和跨各種設備傳輸媒體集合。當你有一個封閉社區時&#xff0c;這尤其有用。 什么是 Jellyfin 媒體服務器&#xff1f; Jellyfin 媒體服務器&#xff0c;顧名思義&#xff0c;是一款開源軟件&#xff0c;允許用戶使用本…

網絡抓包工具tcpdump的使用

tcpdump tcpdump命令是基于unix系統的命令行的數據報嗅探工具&#xff0c;可以抓取流動在網卡上的數據包&#xff0c;熟悉 tcpdump 的使用能夠幫助你分析調試網絡數據。 原理 linux抓包是通過注冊一種虛擬的底層網絡協議來完成對網絡報文&#xff08;準確的是網絡設備&#xf…

鼠標的發明和鼠標“變形記”

注&#xff1a;機翻&#xff0c;未校對。 Who Invented the Computer Mouse? 誰發明了電腦鼠標&#xff1f; It was technology visionary and inventor Douglas Engelbart (January 30, 1925 – July 2, 2013) who revolutionized the way computers worked, turning it fr…

Flink源碼學習資料

Flink系列文檔腦圖 由于源碼分析系列文檔較多&#xff0c;本人繪制了Flink文檔腦圖。和下面的文檔目錄對應。各位讀者可以選擇自己感興趣的模塊閱讀并參與討論。 此腦圖不定期更新中…… 文章目錄 以下是本人Flink 源碼分析系列文檔目錄&#xff0c;歡迎大家查閱和參與討論。…

偽元素::before :: after的用法?

::before 和 ::after 是 CSS 偽元素&#xff0c;用于在元素內容的前面或后面插入內容。這些偽元素不會改變文檔的實際內容&#xff0c;但可以用來添加裝飾性元素或文本。以下是它們的用法和一些常見示例。 基本用法 ::before ::before 偽元素用于在元素的內容之前插入內容。 …

【簡潔明了】調節大模型的prompt的方法【帶案例】

簡明調節大模型的prompt的方法【簡潔明了帶案例】 1. 明確任務目標2. 提供上下文3. 指定格式4. 限制輸出長度5. 使用示例6. 逐步引導7. 提供反面例子8. 使用CoT思維鏈9. 反復試驗和調整方法九解釋&#xff1a;喬哈里窗檢視 最后 因為網上給出的調節prompt都 過于詳細&#xff…

用 WireShark 抓住 TCP

Wireshark 是幫助我們分析網絡請求的利器&#xff0c;建議每個同學都裝一個。我們先用 Wireshark 抓取一個完整的連接建立、發送數據、斷開連接的過程。 簡單的介紹一下操作流程。 1、首先打開 Wireshark&#xff0c;在歡迎界面會列出當前機器上的所有網口、虛機網口等可以抓取…