Una nga pagpagawas sa libcamera, usa ka stack alang sa suporta sa camera sa Linux

Pagkahuman sa upat ka tuig nga pag-uswag, naporma ang una nga pagpagawas sa proyekto sa libcamera (0.0.1), nga nagtanyag usa ka stack sa software alang sa pagtrabaho sa mga video camera, camera ug TV tuner sa Linux, Android ug ChromeOS, nga nagpadayon sa pag-uswag sa V4L2 API. ug sa kadugayan mopuli niini. Tungod kay ang API sa librarya nagbag-o pa ug wala pa hingpit nga na-stabilize, ang proyekto hangtod karon naugmad nga wala’y pagsanga sa mga indibidwal nga pagpagawas gamit ang padayon nga modelo sa pag-uswag. Agig tubag sa panginahanglan sa mga pag-apod-apod aron masubay ang mga pagbag-o sa API nga makaapekto sa pagkaangay, ug aron mapasimple ang paghatud sa mga librarya sa mga pakete, nahimo na karon ang desisyon nga matag karon ug unya makamugna mga pagpagawas nga nagpakita sa gidak-on sa mga pagbag-o sa ABI ug API. Ang code sa proyekto gisulat sa C++ ug giapod-apod ubos sa lisensya sa LGPLv2.1.

Ang proyekto gipalambo sa mga nag-develop sa mga multimedia subsystem sa Linux kernel kauban ang pipila nga mga tiggama sa camera aron ma-normalize ang sitwasyon nga adunay suporta sa Linux alang sa mga camera alang sa mga smartphone ug mga naka-embed nga aparato nga gihigot sa mga proprietary driver. Ang API V4L2, anaa na sa Linux kernel, sa usa ka higayon gimugna aron magtrabaho uban sa tradisyonal nga separado nga mga web camera ug dili maayo nga gipahiangay sa bag-o nga uso sa pagbalhin sa MCU functionality ngadto sa mga abaga sa CPU.

Dili sama sa tradisyonal nga mga camera, diin ang panguna nga mga operasyon sa pagproseso sa imahe gihimo sa usa ka espesyal nga processor nga gitukod sa camera (MCU), sa mga naka-embed nga aparato, aron makunhuran ang gasto, kini nga mga gimbuhaton gihimo sa mga abaga sa panguna nga CPU ug nanginahanglan usa ka komplikado nga drayber nga. naglakip sa non-open source nga lisensyado nga mga sangkap. Isip kabahin sa proyekto sa libcamera, ang mga tigpasiugda sa software sa open source ug ang mga tiggama sa hardware misulay sa paghimo og solusyon sa kompromiso nga, sa usa ka bahin, nagtagbaw sa mga panginahanglan sa mga developers sa open source software, ug sa laing bahin, nagtugot sa pagpanalipod sa intelektwal nga kabtangan sa mga tiggamag camera.

Ang stack nga gitanyag sa libcamera library kay hingpit nga gipatuman sa user space. Aron maseguro ang pagkaangay sa kasamtangan nga software environment ug mga aplikasyon, ang compatibility layers gihatag para sa V4L API, Gstreamer ug Android Camera HAL. Ang proprietary nga mga sangkap sa interaksyon sa mga ekipo nga espesipiko sa matag kamera gidesinyo isip mga module nga gipatuman sa lain nga mga proseso ug nakig-uban sa library pinaagi sa IPC. Ang mga module walay direktang pag-access sa device ug pag-access sa mga ekipo pinaagi sa intermediate API, ang mga hangyo nga pinaagi niini gisusi, gisala ug limitado sa pag-access lamang sa gamit nga gikinahanglan aron makontrol ang camera.

Ang librarya usab naghatag og access sa mga algorithm alang sa pagproseso ug pagpalambo sa kalidad sa mga hulagway ug mga video (white balance adjustment, noise reduction, video stabilization, autofocus, exposure selection, ug uban pa), nga mahimong konektado sa porma sa open external library o proprietary. nahilit nga mga module. Ang API naghatag og access sa mga feature sama sa pagdeterminar sa functionality sa kasamtangan nga external ug built-in nga mga camera, gamit ang device profiles, pagdumala sa camera connection ug disconnection nga mga panghitabo, pagdumala sa camera data capture sa indibidwal nga frame level, ug pag-synchronize sa mga hulagway gamit ang flash. Posible nga magtrabaho nga bulag sa daghang mga camera sa sistema ug mag-organisar sa dungan nga pagkuha sa daghang mga sapa sa video gikan sa usa ka camera (pananglitan, usa nga adunay gamay nga resolusyon alang sa video conferencing, ug usa nga adunay taas nga resolusyon alang sa pagrekord sa archival sa disk).

Source: opennet.ru

Idugang sa usa ka comment