ʻO ka hoʻokuʻu mua ʻana o libcamera, kahi waihona no ke kākoʻo kamera ma Linux

Ma hope o ʻehā mau makahiki o ka hoʻomohala ʻana, ua hoʻokumu ʻia ka hoʻokuʻu mua ʻana o ka papahana libcamera (0.0.1), e hāʻawi ana i kahi lako polokalamu no ka hana ʻana me nā kiʻi wikiō, nā kāmela a me nā TV tuners ma Linux, Android a me ChromeOS, e hoʻomau nei i ka hoʻomohala ʻana o ka V4L2 API. a e pani hou ia. Ma muli o ka loli ʻana o ka API o ka waihona a ʻaʻole i hoʻokūpaʻa piha ʻia, ua hoʻomohala ʻia ka papahana me ka ʻole o ka hoʻokuʻu ʻana i kēlā me kēia me ka hoʻohana ʻana i kahi kumu hoʻomohala mau. I ka pane ʻana i ka pono o ka hāʻawi ʻana no ka mālama ʻana i nā loli API e pili ana i ka hoʻohālikelike ʻana, a no ka maʻalahi o ka lawe ʻana i nā hale waihona puke i loko o nā pūʻolo, ua hoʻoholo i kēia manawa e hoʻopuka i nā hoʻokuʻu e hōʻike ana i ka nui o nā loli ABI a me API. Ua kākau ʻia ke code papahana ma C++ a māhele ʻia ma lalo o ka laikini LGPLv2.1.

Ke kūkulu ʻia nei ka papahana e nā mea hoʻomohala o nā subsystem multimedia o ka Linux kernel me kekahi mau mea hana kāmela i mea e hoʻomaʻamaʻa i ke kūlana me ke kākoʻo Linux no nā kāmela no nā kelepona a me nā mea i hoʻopili ʻia i hoʻopaʻa ʻia i nā mea hoʻokele proprietary. ʻO API V4L2, i loaʻa i ka Linux kernel, i hana ʻia i ka manawa hoʻokahi e hana me nā kāmela pūnaewele kaʻawale a ʻaʻole kūpono ʻia i ke ʻano hou o ka neʻe ʻana i ka hana MCU ma nā poʻohiwi o ka CPU.

ʻAʻole like me nā kāmela kahiko, kahi e hana ʻia ai nā hana hoʻoili kiʻi mua ma kahi kaʻina hana kūikawā i kūkulu ʻia i loko o ke kāmela (MCU), i nā mea i hoʻopili ʻia, e hōʻemi i ke kumukūʻai, lawe ʻia kēia mau hana ma nā poʻohiwi o ka CPU nui a koi i kahi mea hoʻokele paʻakikī. loaʻa nā ʻāpana laikini ʻole i wehe ʻia. Ma keʻano he māhele o ka papahana libcamera, ua ho'āʻo nā mea kākoʻo polokalamu open source a me nā mea hana lako e hana i ka hopena kuʻikahi, ma kekahiʻaoʻao, e hoʻokō i nā pono o nā mea hoʻomohala polokalamu open source, a ma kekahi, e hiki ai ke pale i ka waiwai naʻauao o nā mea hana kamera.

Hoʻokomo piha ʻia ka waihona i hāʻawi ʻia e ka waihona libcamera ma kahi o ka mea hoʻohana. No ka hōʻoia ʻana i ka hoʻohālikelike ʻana me nā kaiapuni polokalamu a me nā noi, ua hāʻawi ʻia nā papa hoʻohālikelike no ka V4L API, Gstreamer a me ka Android Camera HAL. Hoʻolālā ʻia nā ʻāpana ponoʻī i kēlā me kēia kamera no ka launa pū ʻana me nā mea hana e like me nā modula e holo i nā kaʻina kaʻawale a pili pū me ka waihona ma o IPC. ʻAʻole hiki i nā modula ke komo pololei i ka hāmeʻa a komo i nā mea hana ma o kahi API waena, nā noi e nānā ʻia, kānana a kaupalena ʻia i ke komo ʻana i ka hana pono e hoʻomalu i ke kāmela.

Hāʻawi ka hale waihona puke i ke komo i nā algorithms no ka hoʻoponopono ʻana a me ka hoʻomaikaʻi ʻana i ka maikaʻi o nā kiʻi a me nā wikiō (hoʻoponopono kaulike keʻokeʻo, hoʻohaʻahaʻa leo, hoʻopaʻa wikiō, autofocus, koho ʻike, a me nā mea ʻē aʻe), hiki ke hoʻopili ʻia ma ke ʻano o nā hale waihona puke waho a i ʻole proprietary. nā modules kaʻawale. Hāʻawi ka API i ke komo ʻana i nā hiʻohiʻona e like me ka hoʻoholo ʻana i ka hana o nā kāmeʻa waho a i kūkulu ʻia, me ka hoʻohana ʻana i nā ʻaoʻao o nā mea hana, ka lawelawe ʻana i ka pilina kamera a me nā hanana wehe ʻana, ka mālama ʻana i ka hopu ʻikepili kamera ma ka pae kiʻi pākahi, a me ka hoʻonohonoho ʻana i nā kiʻi me ka uila. Hiki ke hana kaawale me kekahi mau pahupaʻiwikiō i loko o ka ʻōnaehana a hoʻonohonoho i ka hopu like ʻana o kekahi mau kahawai wikiō mai kahi pahupaʻiwikiō (no ka laʻana, hoʻokahi me ka haʻahaʻa haʻahaʻa no ka hālāwai kūkā wikiō, a ʻo kekahi me ka hoʻonā kiʻekiʻe no ka hoʻopaʻa ʻana i ka waihona i ka disk).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka