MTK Camera相關的Makefile Option詳解

来源:https://www.cnblogs.com/16rd/archive/2019/04/19/10738576.html
-Advertisement-
Play Games

列舉了所有Camera相關的MakefileOption,並對其功能含義和OptionValues做了詳細的解釋。[KEYWORD]Others[SOLUTION]YUVCAM_INTERPOLATION#Description:#決定是否需要插值以及用什麼方式進行插值(所謂插值就是拍照的照片比se ...


列舉了所有Camera相關的MakefileOption,並對其功能含義和OptionValues做了詳細的解釋。
[KEYWORD]
Others
[SOLUTION]
YUVCAM_INTERPOLATION
#Description:
#決定是否需要插值以及用什麼方式進行插值(所謂插值就是拍照的照片比sensor實際的像素還要大,如Sensor是2M的,但實際上拍出的照片是3M的)。
#OptionValues:
#SW:軟體(即Sensor進行CRZ之後encode成jpeg階段進行軟體向上一級插值)向上插值一級,這個巨集打開後,會影響到buffer的分配以及菜單的顯示,SW的方式優點是省memory,缺點是速度比HW要慢。
#HW硬體(即使用CaptureResize的ScaleUp功能)向上插值一級,該巨集打開後,會影響到buffer的分配以及菜單的顯示
#NONE:sensor不進行插值。
註:這個巨集打開只能實現向上插值一級,並且某些平臺只能軟體插值,這個巨集不打開,手動進行插值也可以,當需要向上插值多級時,需要改變某些巨集的定義並添加菜單。
CONTOUR_IMPROVEMENT_support
#Description:
#決定是否打開Dithering的功能,為瞭解決由於RGB888或YUV422轉換為RGB565造成的ColorLost導致圖像一圈一圈的現象(也叫ColorBanding或牛頓環),主要是Improve相機預覽時的效果。
#OptionValues:
#TRUE:往畫面中隨機插入一些噪點,會降低一點清晰度,但是能有效改善ColorBanding現象,LCM的Gamma推薦使用Gamma2.2.
#false如果光暈現象不明顯,可以選擇關閉此巨集
註:在某些平臺上不能將此巨集和facedetect同時打開,是因為CPU的限制,都打開會影響Performance,目前只有MT6235&MT6253才需要打開這個巨集,其它平臺CameraPreview使用YUV422的格式,不會有Contour的現象。
SENSOR_ROTATE
#Description:
#該巨集決定preview的時候按照sensor的模組輸出還是需要進行旋轉。
Rotate:preview的layer作rotate,在11A、11B前只有0度和90度生效。在11A、11B後與Horizontal_camera配合使用
度數為順時針的度數
#OptionValues:
#SENSOR_ROTATE_0不做旋轉
#SENSOR_ROTATE_90順時針旋轉90度
#SENSOR_ROTATE_180順時針旋轉180度
#SENSOR_ROTATE_270順時針旋轉270度
註:11A之前的版本只有0度和90度的才有效,其他方向的無效。11A,11B之後的版本橫裝的sensor打開橫拍模式的巨集時同時要打開rotate90度
JPEG_SENSOR_SUPPORT
#Description:
#該巨集決定是否支持JPEGsensor
Jpegsensor:拍照時sensor吐出的數據是jpeg格式的,但preview的不是jpeg數據,一般是YUV的。
Jpegsenor拍照時的數據量很小(省Memory),幀率可以比較大,但前提是該sensor有jpegencode這
個模塊,像MT6255平臺最大可以支持3M的YUVSensor,若要支持5M的Sensor,則需要使用
JPEGSensor。
#OptionValues:
#TRUE:當前選擇的是jpegsensor
#FALSE:當前選擇的不是jpegsensor
註:目前有MT6276&MT6255可以支持jpegsensor。
FLASHLIGHT_MODULE
#Description:
#閃光燈模組和sensor模組類似,這個巨集包了閃光燈模組的代碼,不同的閃光燈模組需要不同的
driver驅動,需要定義巨集變數來控制,這個Option只有使用XENONFlash(氙氣閃光燈的時候才需要
,一般的LED閃光燈該Option設置為NONE)
#OptionValues:
#IMCR3603_S010A0:跑該模組的driver
#NONE:沒有flashlight模塊
註:
ISO_PRIORITY_MODE_SUPPORT
#Description:
#這個巨集只有在Camera/Video分開的版本里有作用,在Camcorder的版本里不使用這個巨集了,如果設
置這個Option為TRUE,那麼在OptionMenu中將會出現ISOAuto,ISO100,ISO200,ISO400等這樣些菜單
。而在Camcorder的代碼中已經改成從SensorDriver去Query當前Sensor支持的ISO能力。
#OptionValues:
#TRUE:
#FALSE:
ISP_SUPPORT
#Description:
#ISP(ImageSignalProcessing)圖像信號處理。主要用來對前端圖像感測器輸出信號處理的單元,以
匹配不同廠商的圖象感測器。
#OptionValues:
#TRUE:表示BB有ISP模塊處理數據
#FALSE:BB沒有ISP模塊,不支持圖像信號處理
註:當需要Camera功能的時候,這個巨集都是設為TRUE
MSHUTTER_SUPPORT
#Description:
#快門英文名稱為Shutter,快門是相機上控制感光片有效曝光時間的一種裝置。MSHUTTER是機械快

#OptionValues:
#TRUE:使用的是MSHUTTER
#FALSE:使用的是電子shutter
註:因為我們使用的都是CMOSsensor,所以這個巨集都是FALSE
SENSOR_LOCATION
#Description:
#Sensor一般可以裝在後蓋上,也可以裝在前蓋上,或者翻蓋手機的裡面,設置這個巨集會影響前面的
SENSOR_ROTATE最終生效的值。(會對應的做Mirror或Flip)
#OptionValues:
#SENSOR_ON_:
#SENSOR_ON_CLAM:
#SENSOR_INSIDE_CLAM
EXIF_SUPPORT
#Description:
#用來打開和關閉EXIF功能,EXIF是ExchangeableImageFileFormat的縮寫,是數位相機的一種特殊
文件格式。拍照完成後可以將快門速度,曝光時間等信息集成到圖像文件中,目前支持的版本是
Exifversion2.2.
#OptionValues:
#TRUE:打開
#FALSE:關閉
CAMCORDER_SUPPORT
#Description:
#該巨集用來控制打開攝錄像機應用,如果打開則關閉camera和videorecorder,其值有4種:FULL、
STANDAND、SLIM、CUSTOM、NONE,不同的值表示camcorder所支持的拍照模式不一樣。
#OptionValues:
#FULL:說明camcorder支持的功能比較全,包括addframe、bss、burstshot、ebs、panaroma,HDR等
所有的拍照模式都支持。
#STANDARD:支持addframe,bss。
#SLIM:只支持normal和contshot。
#CUSTOM:預設支持addframe,burstshot,ebs,HDR;如果您想自己選擇實現哪幾個功能,可以把值賦
為CUSTOM,它所支持的功能是可以去客制化的。
#NONE:關閉camcorder應用。
CAMCORDER_FACE_DETECTION_MODE_SUPPORT
#Description:
#用來打開或關閉camcorder應用中的人臉檢測功能。
#OptionValues:
#TRUE:打開
#FALSE:關閉
CAMCORDER_SMILE_SHUTTER_MODE_SUPPORT
#Description:
#用來打開或關閉camcorder應用中的笑臉拍攝功能。
#OptionValues:
#TRUE:打開
#FALSE:關閉
PANORAMA_VIEW_SUPPORT
#Description:
#用來打開或關閉camcorder應用中的全景拍照功能,全景拍即拍三張照片再合成一張寬畫幅的照片

#OptionValues:
#TRUE:打開
#FALSE:關閉
JPG_DECODE
#Description:
#用來打開或關閉jpegDecorder,會在Option.mak里根據PlatformHW的Capability來決定是使用HW還
是SW的Codec。
#OptionValues:
#TRUE:打開
#FALSE:關閉
JPG_ENCODE
#Description:
#用來打開或關閉jpegEncorder,會在Option.mak里根據PlatformHW的Capability來決定是使用HW還
是SW的Codec。
#OptionValues:
#TRUE:打開
#FALSE:關閉
CFG_MMI_CAMERA_RECORDER_ONE_KEY_TOGGLE
#Description:
#用來打開或關閉camera和recorder間的一鍵切換功能。
#OptionValues:
#__ON__:打開
#__OFF__:關閉
AF_AUXI_LED_SUPPORT
#Description:這個是AF輔助對焦燈的功能(因為環境很暗的時候找不到EDGE,所以沒法實現對焦,需要將物體照亮才行),可以使用LED燈來作為AF的輔助對焦燈,這個在Lowlight的環境會自動打開,亮的環境不會打開。
#OptionValues:
TRUE:支持自動對焦
FALSE:不支持自動對焦
AF_SUPPORT
#Description:
#決定是否採用自動對焦功能
TRUE:支持自動對焦
FALSE:不支持自動對焦
BACKUP_SENSOR_SUPPORT
#Description:
#決定是否支持備用型號sensor,即同一個軟體包可以支持不同的Sensor,當更換了Sensor之後,不
需要重新download,但需要重新FormatFAT(因為不同Sensor需要Load不同的Parameter)。
目前支持Backup一顆Sensor。
TRUE:支持
FALSE:不支持
DUAL_CAMERA_SUPPORT
#Description:
#決定是否支持雙camerasensor,一般在3G的版本裡面因為會有前置和後置兩顆Sensor,都會設置為
TRUE。
TRUE:支持
FALSE:不支持
CMOS_SENSOR
#Description:
#對應camerasensor的型號,若該Sensor型號是以SERIAL結尾,則說明這是一顆SerialSensor,會在
Option.mak中定義__SERIAL_SENSOR_SUPPORT__的巨集
CMOS_SENSOR=(sensor型號)
CMOS_SENSOR_BAK1
#Description:
#主sensor的備用sensor
NONE:不支持
(OTHER:sensor型號):子sensor的型號
SENSOR_TYPE
#Description:
#支持的主camerasensor的類型
YUV:YUVSENSOR,除了MT6251之外的所有BB都支持。
對應的SensorDriver位於MCU\custom\drv\yuv_sensor\xxx\*.*
RAW:RAWSENSOR,目前有MT6236/MT6268平臺可以支持
對應的SensorDriver位於:mcu\custom\drv\image_sensor\xxx\*.*
DIRECT:用於MTK平臺較老的沒有ISP的basebandMT6223C,其它平臺都不支持。
NONE:不支持camera
CMOS_SENSOR_SUB
#Description:
#對應子sensor的型號
CMOS_SENSOR_SUB=(子sensor型號)
CMOS_SENSOR_SUB_BAK1
#Description:
#子sensor的備用型號
NONE:不支持
(OTHER:sensor型號):備用子sensor的型號
SENSOR_SUB_ROTATE
#Description:
#子sensor的旋轉角度
SENSOR_ROTATE_0:子sensor不作旋轉
SENSOR_ROTATE_180:子sensor對應的畫面旋轉180度
SENSOR_TYPE_SUB
#子sensor的類型
YUV:子sensor類型為YUVSENSOR
RAW:子sensor類型為RAWSENSOR
NONE:不支持子camera
CAPTURE_SCENARIO
[DESCRIPTION]
#決定Capture的時候是走Onthefly還是Offline的方式。
OffLine概念:即Sensor輸出的數據會先Dump到Memory裡面再進行處理,以提高拍照幀率。
OntheFly概念:Sensor輸出的數據直接以Pipeline的方式給BB進行處理。
[OptionValues]
#OFFLINE:因為DigitalZoom的時候,Resizer需要更多的時間來處理,若以Pipeline(Onthefly)的
方式,則需要降低Sensor輸出的幀率,為了提高Capture的幀率(可以減小ShutterDelay)從而引入
了這種拍照模式。
#STANDARD:沒有DigitalZoom(即1X)的時候走Onthefly的流程(用以提高Capture幀率),當
Zoom倍數不為0的時候走OffLine的流程(從而Capture不需要降你幀率)。
#ON_THE_FLY:YUVSensor只可以使用Onthefly的流程,RawSensor,這種拍照流程都可以設置。
FLASHLIGHT_TYPE
[DESCRIPTION]
#設置flashlight的類型。根據有無FlashLED以及FlashLED的操作模式可以分為
LED_ONOFF_SUPPORT、LED_FLASHLIGHT_SUPPORT和NONE三種。
[OptionValues]
#LED_ONOFF_SUPPORT:如果FlashLED的操作模式為Torchmode,則FLASHLIGHT_TYPE巨集設為
LED_ONOFF_SUPPORT。在Torchmode下,不支持峰值電流或峰值電流的時間較短,補光效果較差,常
應用於手電筒筒。並且該模式下,用UI上的LED菜單來控制LED,當設置為on時,LED會一直保持開的狀
態直至設置為off。
#LED_FLASHLIGHT_SUPPORT:如果FlashLED的操作模式為Flashmode,則FLASHLIGHT_TYPE巨集設為
LED_FLASHLIGHT_SUPPORT。在Flashmode下,支持峰值電流並且峰值電流的時間較長,補光效果較好
,常應用於閃光燈。並且該模式下,用UI和演算法共同控制LED的開關,可以實現先預閃再主閃的功能
(類似相機的做法),閃兩次。
#NONE:不支持FLASHLIGHT。
HORIZONTAL_CAMERA
[DESCRIPTION]
#決定是否打開horizontalcamera功能,若設置為TRUE,定義它為全局編譯巨集。
[OptionValues]
#TRUE:Camera或者Camcorder用水平的UI界面。當設置為TRUE時,
11A(含)之後該巨集只控制UI的部分,需要與SensorRotate配合才能將preview畫面旋轉。
10A(含)之前的版本打開橫拍的功能只需要設置該巨集為TRUE即可。
#FALSE:camera或者camcorder用豎直的UI界面。
LENS_MODULE
[DESCRIPTION]
#設定主camera的lensmodule。它的值要麼為NA,即特定的lensmodule,要麼為NONE。如果它的值從NA變為NONE,則AF_SUPPORT必須設置為FALSE;若它的值從NONE變為NA,則AF_SUPPORT必須設置為TRUE。
[OptionValues]
#NA:特定的lensmodule。對於RAWsensor,外掛lensmodule,需要正確設置。
#NONE:不支持LENS_MODULE。對於YUVsensor,集成了AF功能,不需要lensmodule.
LENS_MODULE_BAK1
[DESCRIPTION]
#設置主備用camera的lensmodule。它的值要麼為NA,即特定的lensmodule,要麼為NONE。如果它的值從NA變為NONE,則AF_SUPPORT必須設置為FALSE;若它的值從NONE變為NA,則AF_SUPPORT必須設置為TRUE。
[OptionValues]
#NA:特定的lensmodule。對於RAWsensor,外掛lensmodule,需要正確設置。
#NONE:不支持LENS_MODULE。對於YUVsensor,集成了AF功能,不需要lensmodule
WEBCAM_SUPPORT
[DESCRIPTION]
#決定是否打開webcam(網路攝像頭)這個功能,會使用MotionJPEG的方式,即BB端會將Sensor過來的每幀數據都Encode成JPEG,再將些JPEG數據透過USBCable傳到PC端進行Decode,若設置為TRUE,定義它為全局編譯巨集
[OptionValues]
#TRUE:打開webcam功能。
#FALSE:不打開webcam功能。
YUVCAM_ENCODE_DIRECT_WRITE_FILE
[DESCRIPTION]
#決定YUVCAM編碼時,是邊編碼邊寫到文件中,還是編碼完成以後再寫到文件中去。
[OptionValues]
#TRUE:YUVCAM編碼時,邊編碼邊寫到文件中,可以節省memory,但缺點是速度慢。
#FALSE:YUVCAM編碼時,編碼完成以後再寫到文件中。一般都將
YUVCAM_ENCODE_DIRECT_WRITE_FILE設置為FALSE。

來源:http://bbs.16rd.com/thread-470246-1-1.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.安裝準備: Windows系統環境: 安裝:SQLiteExpert 及 官網的SQLite tool 我們要用到其中的SQLite.exe 地址:https://www.sqlite.org/download.html 2.新建資料庫 打開cmd:鍵入以下命令:D:\sqlite-tools- ...
  • [20190419]shared latch spin count 2.txt--//上午測試shared latch XX模式的情況,鏈接:http://blog.itpub.net/267265/viewspace-2641902/--//繼續測試其它情況.--//鏈接:http://andre ...
  • [20190419]shared latch spin count.txt--//昨天測試exclusive latch spin count = 20000(預設).--//今天測試shared latch spin count的情況,看了一些文章測試等於2 *_spin_count.--//有了 ...
  • Iscsi常用命令(我通過openfiler實現iscsi存儲) # iscsiadm -m discovery -t st -p IP:port //發現iSCSI存儲 # iscsiadm -m node -o delete -T TARGET -p IP:port //刪除iSCSI發現記錄 ...
  • [20190418]exclusive latch spin count.txt--//昨天測試"process allocation" latch,主要這個latch與其它拴鎖spin方式有點不同,但是預設都是spin 20000.如何驗證一直是困擾我的問題.--//而且現在的模式是spin 一定 ...
  • 為什麼要表連接進行查詢? 查詢部門名稱為SALES的員工信息 如何進行表的連接查詢? 兩種方式:Sql 1992 和sql1999 sql1992sql分類 1.笛卡爾積 (表乘表) 2.等值連接 表的連接條件使用“=” 3.非等值連接 表的連接條件使用“>、>=、 <、<=、!=、any等” 4. ...
  • 目錄 Windows下安裝與配置 下載 安裝 驗證安裝 配置服務 測試 Linux下安裝與配置 準備工作 安裝 驗證與測試 Macox下安裝與配置 準備工作 安裝 驗證與測試 下載 安裝 驗證安裝 配置服務 測試 準備工作 安裝 驗證與測試 準備工作 安裝 驗證與測試 Redis 在 Windows ...
  • 本文同步至http://javaexception.com/archives/30 問題: 之前的一個開源項目碰到了一個問題,Fix CertPathValidatorException: Trust anchor for certification path not found. 問題在於自建後臺 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...