Itusilẹ akọkọ ti libcamera, akopọ fun atilẹyin kamẹra lori Lainos

Lẹhin ọdun mẹrin ti idagbasoke, itusilẹ akọkọ ti iṣẹ libcamera (0.0.1) ni a ṣẹda, ti o funni ni akopọ sọfitiwia fun ṣiṣẹ pẹlu awọn kamẹra fidio, awọn kamẹra ati awọn tuners TV ni Linux, Android ati ChromeOS, eyiti o tẹsiwaju idagbasoke ti V4L2 API ati ki o yoo bajẹ ropo o. Niwọn bi API ti ile-ikawe naa ti n yipada ati pe ko tii ni iduroṣinṣin ni kikun, iṣẹ akanṣe naa ti ni idagbasoke laisi ẹka awọn idasilẹ olukuluku nipa lilo awoṣe idagbasoke ilọsiwaju. Ni idahun si iwulo fun awọn ipinpinpin lati tọju abala awọn iyipada API ti o ni ipa ibamu, ati lati ṣe irọrun ifijiṣẹ ti awọn ile-ikawe ni awọn idii, ipinnu ti ṣe ni bayi lati ṣe awọn idasilẹ lorekore ti n ṣe afihan iwọn ti ABI ati awọn iyipada API. Koodu ise agbese ti kọ sinu C ++ ati pinpin labẹ iwe-aṣẹ LGPLv2.1.

Ise agbese na ni idagbasoke nipasẹ awọn olupilẹṣẹ ti awọn ọna ṣiṣe multimedia ti ekuro Linux pẹlu diẹ ninu awọn aṣelọpọ kamẹra lati le ṣe deede ipo naa pẹlu atilẹyin Linux fun awọn kamẹra fun awọn fonutologbolori ati awọn ẹrọ ifibọ ti o so mọ awọn awakọ ohun-ini. API V4L2, ti wa tẹlẹ ninu ekuro Linux, jẹ ni akoko kan ti a ṣẹda lati ṣiṣẹ pẹlu awọn kamẹra wẹẹbu lọtọ ti aṣa ati pe ko ni ibamu si aṣa aipẹ ti gbigbe iṣẹ MCU sori awọn ejika Sipiyu.

Ko dabi awọn kamẹra ibile, ninu eyiti awọn iṣẹ ṣiṣe aworan akọkọ ti ṣe lori ero isise amọja ti a ṣe sinu kamẹra (MCU), ninu awọn ẹrọ ti a fi sii, lati dinku idiyele, awọn iṣẹ wọnyi ni a ṣe lori awọn ejika ti Sipiyu akọkọ ati nilo awakọ eka kan. pẹlu awọn paati iwe-aṣẹ ti kii-ṣii. Gẹgẹbi apakan ti iṣẹ akanṣe libcamera, awọn olufojusi sọfitiwia orisun ṣiṣi ati awọn aṣelọpọ ohun elo gbiyanju lati ṣẹda ojutu adehun kan ti, ni apa kan, ni itẹlọrun awọn iwulo ti awọn olupilẹṣẹ sọfitiwia orisun ṣiṣi, ati ni ekeji, ngbanilaaye aabo ohun-ini ọgbọn ti awọn olupese kamẹra.

Awọn akopọ ti a funni nipasẹ ile-ikawe libcamera jẹ imuse patapata ni aaye olumulo. Lati rii daju ibamu pẹlu awọn agbegbe sọfitiwia ti o wa ati awọn ohun elo, awọn fẹlẹfẹlẹ ibamu ti pese fun V4L API, Gstreamer ati Android Camera HAL. Awọn paati ohun-ini kan pato si kamẹra kọọkan fun ibaraenisepo pẹlu ohun elo jẹ apẹrẹ bi awọn modulu ti o ṣiṣẹ ni awọn ilana lọtọ ati ṣe ajọṣepọ pẹlu ile-ikawe nipasẹ IPC. Awọn modulu ko ni iraye si taara si ẹrọ ati wọle si ohun elo nipasẹ API agbedemeji, awọn ibeere nipasẹ eyiti a ti ṣayẹwo, yo ati ni opin si iraye si iṣẹ ṣiṣe pataki lati ṣakoso kamẹra.

Ile-ikawe naa tun pese iraye si awọn algoridimu fun sisẹ ati imudara didara awọn aworan ati awọn fidio (atunṣe iwọntunwọnsi funfun, idinku ariwo, imuduro fidio, idojukọ aifọwọyi, yiyan ifihan, ati bẹbẹ lọ), eyiti o le sopọ ni irisi awọn ile-ikawe ita gbangba tabi ti ohun-ini. sọtọ modulu. API n pese iraye si awọn ẹya bii ṣiṣe ipinnu iṣẹ ṣiṣe ti ita ati awọn kamẹra ti a ṣe sinu, lilo awọn profaili ẹrọ, mimu asopọ kamẹra ati awọn iṣẹlẹ gige kuro, iṣakoso gbigba data kamẹra ni ipele fireemu kọọkan, ati mimuuṣiṣẹpọ awọn aworan pẹlu filasi. O ṣee ṣe lati ṣiṣẹ lọtọ pẹlu awọn kamẹra pupọ ninu eto ati ṣeto igbasilẹ nigbakanna ti ọpọlọpọ awọn ṣiṣan fidio lati kamẹra kan (fun apẹẹrẹ, ọkan pẹlu ipinnu kekere fun apejọ fidio, ati omiiran pẹlu ipinnu giga fun gbigbasilẹ archival si disk).

orisun: opennet.ru

Fi ọrọìwòye kun