Fyrsta útgáfan af libcamera, stafla fyrir myndavélastuðning á Linux

Eftir fjögurra ára þróun var fyrsta útgáfan af libcamera verkefninu (0.0.1) mynduð, sem býður upp á hugbúnaðarstafla til að vinna með myndbandsmyndavélum, myndavélum og sjónvarpsstöðvum í Linux, Android og ChromeOS, sem heldur áfram þróun V4L2 API. og mun að lokum skipta um það. Þar sem API bókasafnsins er enn að breytast og hefur ekki enn verið að fullu stöðugt, hefur verkefnið hingað til þróast án þess að greina einstakar útgáfur með því að nota stöðugt þróunarlíkan. Til að bregðast við þörfinni fyrir dreifingar til að halda utan um API breytingar sem hafa áhrif á eindrægni, og til að einfalda afhendingu bókasöfna í pakka, hefur nú verið tekin ákvörðun um að búa til útgáfur reglulega sem endurspegla umfang ABI og API breytinga. Verkefniskóðinn er skrifaður í C++ og dreift undir LGPLv2.1 leyfinu.

Verkefnið er þróað af hönnuðum margmiðlunar undirkerfa Linux kjarnans ásamt nokkrum myndavélaframleiðendum í því skyni að staðla ástandið með Linux stuðningi fyrir myndavélar fyrir snjallsíma og innbyggð tæki sem eru bundin við sérrekla. API V4L2, sem þegar er fáanlegt í Linux kjarnanum, var á sínum tíma búið til til að vinna með hefðbundnum aðskildum vefmyndavélum og er illa lagað að nýlegri þróun að færa MCU virkni yfir á herðar örgjörvans.

Ólíkt hefðbundnum myndavélum, þar sem frummyndvinnsluaðgerðir eru framkvæmdar á sérhæfðum örgjörva sem er innbyggður í myndavélina (MCU), í innbyggðum tækjum, til að draga úr kostnaði, eru þessar aðgerðir framkvæmdar á öxlum aðal örgjörvans og krefjast flókins ökumanns sem inniheldur íhluti sem ekki eru opinn uppspretta leyfisskyldir. Sem hluti af libcamera verkefninu reyndu talsmenn opins hugbúnaðar og vélbúnaðarframleiðendur að búa til málamiðlunarlausn sem annars vegar uppfyllir þarfir opins hugbúnaðarframleiðenda og hins vegar gerir það kleift að vernda hugverk myndavélaframleiðenda.

Staflan sem libcamera bókasafnið býður upp á er að öllu leyti útfærður í notendarými. Til að tryggja eindrægni við núverandi hugbúnaðarumhverfi og forrit eru samhæfislög fyrir V4L API, Gstreamer og Android Camera HAL. Séríhlutir sem eru sérstakir fyrir hverja myndavél til að hafa samskipti við búnað eru hannaðar sem einingar sem keyra í aðskildum ferlum og hafa samskipti við bókasafnið í gegnum IPC. Einingar hafa ekki beinan aðgang að tækinu og fá aðgang að búnaðinum í gegnum millistig API, þar sem beiðnir eru athugaðar, síaðar og takmarkaðar við aðeins aðgang að þeirri virkni sem nauðsynleg er til að stjórna myndavélinni.

Safnið veitir einnig aðgang að reikniritum til að vinna úr og bæta gæði mynda og myndbanda (hvítjöfnunarstilling, suðminnkun, myndbandsstöðugleiki, sjálfvirkur fókus, val á lýsingu o.s.frv.), sem hægt er að tengja í formi opinna ytri bókasöfna eða séreignar. einangraðar einingar. Forritaskilin veita aðgang að eiginleikum eins og að ákvarða virkni núverandi ytri og innbyggðra myndavéla, nota tækjasnið, meðhöndla myndavélatengingar og aftengingaratburði, stjórna myndavélargagnaupptöku á einstökum rammastigi og samstilla myndir með flassi. Það er hægt að vinna sérstaklega með nokkrar myndavélar í kerfinu og skipuleggja samtímis töku nokkurra myndbandsstrauma úr einni myndavél (td einn með lágri upplausn fyrir myndbandsfundi og aðra með hárri upplausn fyrir geymsluupptöku á disk).

Heimild: opennet.ru

Bæta við athugasemd