Pelepasan munggaran libcamera, tumpukan pikeun dukungan kaméra dina Linux

Saatos opat taun pangwangunan, sékrési munggaran proyék libcamera (0.0.1) kabentuk, nawiskeun tumpukan parangkat lunak pikeun damel sareng kaméra pidéo, kaméra sareng TV tuner dina Linux, Android sareng ChromeOS, anu neraskeun pamekaran API V4L2. sarta ahirna bakal ngaganti eta. Kusabab API perpustakaan masih robih sareng teu acan distabilkeun pinuh, proyék éta parantos maju tanpa cabang sékrési individu nganggo modél pangembangan kontinyu. Pikeun ngaréspon kana kabutuhan distribusi pikeun ngalacak parobahan API anu mangaruhan kasaluyuan, sareng pikeun nyederhanakeun pangiriman perpustakaan dina bungkusan, kaputusan ayeuna parantos dilakukeun pikeun périodik ngahasilkeun sékrési anu ngagambarkeun tingkat parobahan ABI sareng API. Kodeu proyék ditulis dina C ++ sarta disebarkeun dina lisénsi LGPLv2.1.

Proyék ieu dikembangkeun ku pamekar subsistem multimédia tina kernel Linux sareng sababaraha pabrik kaméra pikeun normalisasi kaayaan kalayan dukungan Linux pikeun kaméra pikeun smartphone sareng alat anu dipasang anu dihijikeun ka supir proprietary. API V4L2, parantos sayogi dina kernel Linux, dina hiji waktos diciptakeun pikeun damel sareng kaméra wéb tradisional anu misah sareng kirang diadaptasi kana tren panganyarna pikeun mindahkeun fungsionalitas MCU kana taktak CPU.

Beda sareng kaméra tradisional, dimana operasi pamrosésan gambar primér dilaksanakeun dina prosésor khusus anu diwangun kana kaméra (MCU), dina alat anu dipasang, pikeun ngirangan biaya, fungsi ieu dilaksanakeun dina taktak CPU utama sareng ngabutuhkeun supir anu kompleks. ngawengku non-open-source komponén dilisensikeun. Salaku bagian tina proyék libcamera, proponents software open source jeung pabrik hardware diusahakeun nyieun solusi kompromi anu, di hiji sisi, nyugemakeun kaperluan pamekar software open source, sarta di sisi séjén, ngamungkinkeun ngajaga hak cipta intelektual produsén kaméra.

Tumpukan ditawarkeun ku perpustakaan libcamera dilaksanakeun sagemblengna dina spasi pamaké. Pikeun mastikeun kasaluyuan sareng lingkungan parangkat lunak sareng aplikasi anu tos aya, lapisan kasaluyuan disayogikeun pikeun API V4L, Gstreamer sareng Android Camera HAL. Komponén proprietary husus pikeun tiap kaméra pikeun interacting jeung alat dirancang salaku modul nu ngajalankeun dina prosés misah tur berinteraksi sareng perpustakaan via IPC. Modul teu boga wasa langsung ka alat jeung ngakses alat ngaliwatan hiji API panengah, requests ngaliwatan nu dipariksa, disaring jeung diwatesan ngan ngakses pungsionalitas diperlukeun pikeun ngadalikeun kaméra.

Perpustakaan ogé nyayogikeun aksés kana algoritma pikeun ngolah sareng ningkatkeun kualitas gambar sareng pidéo (adjustment kasaimbangan bodas, réduksi bising, stabilisasi pidéo, pokus otomatis, pamilihan paparan, sareng sajabana), anu tiasa dihubungkeun dina bentuk perpustakaan éksternal kabuka atanapi proprietary. modul terasing. API nyadiakeun aksés ka fitur kayaning nangtukeun pungsionalitas nu aya éksternal na kaméra diwangun-di, ngagunakeun propil alat, nanganan sambungan kaméra jeung acara disconnection, ngatur newak data kaméra dina tingkat pigura individu, sarta nyingkronkeun gambar jeung lampu kilat. Kasebut nyaéta dimungkinkeun pikeun digawé misah jeung sababaraha kaméra dina sistem jeung ngatur simultaneous newak sababaraha video stream ti hiji kaméra (contona, hiji kalawan resolusi low pikeun video conferencing, sarta séjén kalawan resolusi luhur pikeun rékaman arsip ka disk).

sumber: opennet.ru

Tambahkeun komentar