Kutulutsidwa koyamba kwa libcamera, stack yothandizira kamera pa Linux

Pambuyo pazaka zinayi zachitukuko, kutulutsidwa koyamba kwa pulojekiti ya libcamera (0.0.1) kunapangidwa, ndikupereka pulogalamu yogwiritsira ntchito makamera a kanema, makamera ndi makina a TV ku Linux, Android ndi ChromeOS, yomwe ikupitirizabe chitukuko cha V4L2 API. ndipo pamapeto pake adzalowa m'malo mwake. Popeza API ya laibulaleyi ikusinthabe ndipo siyinakhazikitsidwebe, pulojekitiyi yapangidwa mpaka pano popanda kutulutsa nthambi zamtundu uliwonse pogwiritsa ntchito njira yopitilira chitukuko. Poyankha kufunikira kwa magawo kuti azitsatira zosintha za API zomwe zimakhudza kugwirizanitsa, komanso kufewetsa kutumiza kwa malaibulale m'maphukusi, lingaliro tsopano lapangidwa kuti nthawi ndi nthawi zitulutse zotulutsa zomwe zikuwonetsa kuchuluka kwa kusintha kwa ABI ndi API. Khodi ya polojekitiyi imalembedwa mu C ++ ndikugawidwa pansi pa layisensi ya LGPLv2.1.

Pulojekitiyi ikupangidwa ndi opanga ma multimedia subsystems a Linux kernel pamodzi ndi opanga makamera ena kuti athetse vutoli ndi Linux thandizo la makamera a mafoni a m'manja ndi zida zophatikizika zomwe zimamangidwa ndi madalaivala eni ake. API V4L2, yomwe ikupezeka kale mu Linux kernel, idapangidwa nthawi ina kuti igwire ntchito ndi makamera amtundu wosiyana wapaintaneti ndipo idasinthidwa bwino ndi zomwe zachitika posachedwa pakusuntha magwiridwe antchito a MCU pamapewa a CPU.

Mosiyana ndi makamera achikhalidwe, momwe ntchito zoyambira zojambula zimachitikira pa purosesa yapadera yomangidwa mu kamera (MCU), mu zida zophatikizika, kuti muchepetse mtengo, ntchitozi zimachitika pamapewa a CPU yayikulu ndipo zimafunikira dalaivala wovuta yemwe zikuphatikizapo zinthu zomwe sizili zotseguka. Monga gawo la pulojekiti ya libcamera, othandizira mapulogalamu otseguka ndi opanga ma hardware adayesa kupanga njira yothetsera vuto lomwe, kumbali imodzi, limakwaniritsa zosowa za opanga mapulogalamu otseguka, ndipo linalo, limalola kuteteza chidziwitso cha opanga makamera.

Kuchuluka komwe kumaperekedwa ndi laibulale ya libcamera kumakhazikitsidwa kwathunthu pamalo ogwiritsira ntchito. Kuti zitsimikizire kuti zimagwirizana ndi malo omwe alipo ndi mapulogalamu, zigawo zofananira zimaperekedwa kwa V4L API, Gstreamer ndi Android Camera HAL. Zida za eni ake za kamera iliyonse yolumikizana ndi zida zidapangidwa ngati ma module omwe amayenda mosiyanasiyana ndikulumikizana ndi laibulale kudzera pa IPC. Ma modules alibe mwayi wopita ku chipangizochi ndikupeza zida kudzera pa API yapakatikati, zopempha zomwe zimafufuzidwa, zosefedwa komanso zoperewera kuti zitheke kugwira ntchito zofunikira kuti ziwongolere kamera.

Laibulale imaperekanso mwayi wogwiritsa ntchito ma aligorivimu pokonza ndikusintha mawonekedwe azithunzi ndi makanema (kusintha koyera, kuchepetsa phokoso, kukhazikika kwamavidiyo, autofocus, kusankha kowonekera, ndi zina), zomwe zitha kulumikizidwa mwanjira yama library akunja otseguka kapena eni ake. akutali modules. API imapereka mwayi wopeza zinthu monga kudziwa momwe amagwirira ntchito makamera akunja ndi omangidwa, pogwiritsa ntchito mbiri yazida, kusamalira kugwirizana kwa kamera ndi zochitika zochotsa, kuyang'anira kujambula kwa kamera pamlingo wa chimango, ndikugwirizanitsa zithunzi ndi flash. Ndizotheka kugwira ntchito padera ndi makamera angapo mudongosolo ndikukonzekera kujambulidwa kwamavidiyo angapo kuchokera ku kamera imodzi (mwachitsanzo, imodzi yokhala ndi malingaliro otsika pamisonkhano yamavidiyo, ndi ina yokhala ndi malingaliro apamwamba pakujambulira zakale ku disk).

Source: opennet.ru

Kuwonjezera ndemanga