Нашри аввалини libcamera, стек барои дастгирии камера дар Linux

Пас аз чаҳор соли рушд, версияи аввалини лоиҳаи libcamera (0.0.1) ташкил карда шуд, ки стеки нармафзорро барои кор бо камераҳои видеоӣ, камераҳо ва тюнерҳои телевизионӣ дар Linux, Android ва ChromeOS пешниҳод мекунад, ки рушди API V4L2-ро идома медиҳад. ва окибат онро иваз мекунад. Азбаски API-и китобхона ҳоло ҳам тағйир меёбад ва то ҳол ба эътидол наомадааст, лоиҳа то ҳол бидуни шохаҳои релизҳои инфиродӣ бо истифода аз модели рушди пайваста таҳия шудааст. Дар посух ба зарурати тақсимот барои пайгирӣ кардани тағиротҳои API, ки ба мутобиқат таъсир мерасонанд ва барои содда кардани интиқоли китобхонаҳо дар бастаҳо, ҳоло тасмим гирифта шудааст, ки давра ба давра релизҳоро инъикос кунад, ки ҳаҷми тағироти ABI ва API-ро инъикос мекунад. Рамзи лоиҳа дар C++ навишта шудааст ва таҳти иҷозатномаи LGPLv2.1 паҳн карда мешавад.

Лоиҳа аз ҷониби таҳиягарони зерсистемаҳои мултимедиявии ядрои Linux дар якҷоягӣ бо баъзе истеҳсолкунандагони камера бо мақсади ба эътидол овардани вазъият бо дастгирии Linux барои камераҳо барои смартфонҳо ва дастгоҳҳои воридшуда, ки ба драйверҳои хусусӣ алоқаманданд, таҳия карда мешаванд. API V4L2, ки аллакай дар ядрои Linux мавҷуд аст, дар як вақт барои кор бо веб-камераҳои алоҳидаи анъанавӣ сохта шуда буд ва ба тамоюли охирини интиқоли функсияи MCU ба дӯши CPU ба таври суст мутобиқ карда шудааст.

Баръакси камераҳои анъанавӣ, ки дар онҳо амалиёти ибтидоии коркарди тасвир дар протсессори махсусгардонидашудаи дар камера (MCU) сохташуда дар дастгоҳҳои дарунсохташуда барои кам кардани хароҷот иҷро карда мешавад, ин вазифаҳо дар дӯши CPU-и асосӣ иҷро карда мешаванд ва драйвери мураккаберо талаб мекунанд, ки ҷузъҳои литсензионии ғайриманбаи кушодаро дар бар мегирад. Дар доираи лоиҳаи libcamera, ҷонибдорони нармафзори кушодаасос ва истеҳсолкунандагони сахтафзор кӯшиш карданд, ки ҳалли созишро эҷод кунанд, ки аз як тараф эҳтиёҷоти таҳиягарони нармафзори кушодаасосро қонеъ гардонад ва аз тарафи дигар, имкон медиҳад, ки моликияти зеҳнии истеҳсолкунандагони камераро ҳифз кунад.

Стеке, ки китобхонаи libcamera пешниҳод мекунад, комилан дар фазои корбар амалӣ карда мешавад. Барои таъмини мутобиқат бо муҳитҳои нармафзор ва барномаҳои мавҷуда, қабатҳои мутобиқат барои API V4L, Gstreamer ва Android Camera HAL пешбинӣ шудаанд. Ҷузъҳои хусусии ҳамкорӣ бо таҷҳизоте, ки ба ҳар як камера хос аст, ҳамчун модулҳое тарҳрезӣ шудаанд, ки дар равандҳои алоҳида иҷро мешаванд ва бо китобхона тавассути IPC ҳамкорӣ мекунанд. Модулҳо ба дастгоҳ дастрасии мустақим надоранд ва ба таҷҳизот тавассути API фосилавӣ дастрасӣ доранд, дархостҳо тавассути онҳо тафтиш, филтр карда мешаванд ва танҳо бо дастрасӣ ба функсияҳои зарурӣ барои назорати камера маҳдуд мешаванд.

Китобхона инчунин дастрасиро ба алгоритмҳои коркард ва баланд бардоштани сифати тасвирҳо ва видеоҳо (танзими тавозуни сафед, паст кардани садо, мӯътадилсозии видео, автофокус, интихоби экспозитсия ва ғайра) таъмин мекунад, ки метавонанд дар шакли китобхонаҳои кушоди беруна ё хусусӣ пайваст карда шаванд. модулҳои ҷудошуда. API дастрасӣ ба хусусиятҳоро ба монанди муайян кардани функсияҳои камераҳои берунӣ ва дарунсохт, истифодаи профилҳои дастгоҳ, коркарди пайвасти камера ва рӯйдодҳои ҷудошавӣ, идоракунии сабти маълумоти камера дар сатҳи чаҳорчӯбаи инфиродӣ ва ҳамоҳангсозии тасвирҳо бо флеш таъмин мекунад. Бо якчанд камера дар система алохида кор кардан мумкин аст ва дар як вакт сабт кардани якчанд резиши видеоро аз як камера ташкил кардан мумкин аст (масалан, яке барои видеоконфронс бо карори паст ва дигаре барои сабти архив ба диск).

Манбаъ: opennet.ru

Илова Эзоҳ