abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:11 | IT novinky

    Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Zajímavý článek

    Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.

    AfD 💙 | Komentářů: 3
    včera 21:44 | Humor

    Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.

    AfD 💙 | Komentářů: 0
    včera 16:22 | Nová verze

    Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.

    Ladislav Hagara | Komentářů: 4
    včera 16:11 | Nová verze

    Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).

    Ladislav Hagara | Komentářů: 0
    včera 02:33 | IT novinky

    Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Zajímavý projekt

    Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.

    Ladislav Hagara | Komentářů: 0
    21.9. 22:22 | Zajímavý projekt

    Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento

    … více »
    AfD 💙 | Komentářů: 9
    21.9. 13:33 | IT novinky

    Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se

    … více »
    Ladislav Hagara | Komentářů: 22
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2718 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Jaderné noviny - Video4Linux2 - 7 (ovládání)

    20. 12. 2007 | Robert Krátký | Jaderné noviny | 5148×

    Je známo, že uživatelé nejsou nikdy spokojení; nestačí jim, že mohou z kamery vidět video, hned by si chtěli hrát s parametry jako jas, kontrast atd.

    Po dokončení šesté části seriálu už víme, jak video zařízení nastavit a jak tam a zpět přenášet snímky. Je však známo, že uživatelé nejsou nikdy spokojení; nestačí jim, že mohou z kamery vidět video, hned by si chtěli hrát s parametry jako jas, kontrast atd. Takové úpravy mohou být prováděny ve video aplikaci, ale pokud to hardware podporuje, tak má své výhody je provádět rovnou v hardwaru. Například úprava jasu může znamenat ztrátu dynamického rozsahu, pokud se provádí až po přenosu. Naproti tomu hardwarová úprava umožňuje zachování plného rozsahu, kterého je senzor schopen. Hardwarové úpravy samozřejmě také ulehčí procesoru hostitelského systému.

    Současný hardware mívá možnost nastavovat za běhu velkou spoustu parametrů. Konkrétní funkce těchto parametrů se však zařízení od zařízení výrazně liší. I tak jednoduchá úprava jako "jas" může zahrnovat přímočaré nastavení registru nebo také o dost komplexnější změnu nějaké obskurní transformační matice. Bylo by fajn co nejvíce těchto detailů před aplikací skrýt, ale má to své meze. Příliš abstraktní rozhraní by mohlo znemožnit plné využití možností hardwaru.

    Ovládací rozhraní V4L2 se snaží věci co nejvíce zjednodušit a zároveň umožnit plné využití hardwaru. Začíná definicí standardních názvů ovládacích funkcí; patří mezi ně V4L2_CID_BRIGHTNESS, V4L2_CID_CONTRAST, V4L2_CID_SATURATION a mnoho dalších. Máme také booleovské ovládací prvky funkcí jako vyvážení bílé, horizontálního a vertikálního zrcadlení atd. Kompletní seznam předdefinovaných ID hodnot ovládacích prvků najdete ve specifikaci V4L2 API. K dispozici je také možnost ovládacího prvku specifického pro ovladač, ale ty budou zjevně používány jen specializovanými aplikacemi. Soukromé ovládací prvky začínají u V4L2_CID_PRIVATE_BASE.

    Jako obvykle poskytuje API V4L2 mechanismus, pomocí kterého může aplikace ovládací prvky snadno očíslovat. Pokud to chce provést, provede ioctl() volání, která se dostanou do V4L2 ovladače prostřednictvím zpětného volání vidioc_queryctrl():

        int (*vidioc_queryctrl)(struct file *file, void *private_data,
    			    struct v4l2_queryctrl *qc);
    

    Za normálních okolností ovladač zaplní strukturu qc informacemi o požadovaném ovládacím prvku nebo, pokud není ovládací prvek podporovaný, vrátí EINVAL. Tato struktura má několik polí:

        struct v4l2_queryctrl
        {
    	__u32		     id;
    	enum v4l2_ctrl_type  type;
    	__u8		     name[32];
    	__s32		     minimum;
    	__s32		     maximum;
    	__s32		     step;
    	__s32		     default_value;
    	__u32                flags;
    	__u32		     reserved[2];
        };
    

    Ovládací prvek, o který se jedná, bude předán prostřednictvím id. Aplikace může poskytnout ID ovládacího prvku s nastaveným bitem V4L2_CTRL_FLAG_NEXT_CTRL; v takovém případě by měl ovladač vrátit ID ovládacího prvku následujícího po tom, který předala aplikace. id by však každopádně mělo být nastaveno na ID ovládacího prvku, který je skutečně popisován.

    Všechna ostatní pole nastaví ovladač, aby popsal zvolený ovládací prvek. Datový typ ovládacího prvku je uveden v type; může to být V4L2_CTRL_TYPE_INTEGER, V4L2_CTRL_TYPE_BOOLEAN, V4L2_CTRL_TYPE_MENU (pro neměnnou sadu voleb) nebo V4L2_CTRL_TYPE_BUTTON (pro ovládací prvek, který při nastavení provede nějakou akci a ignoruje jakoukoliv předanou hodnotu). name popisuje ovládací prvek; může být použito v rozhraní, které aplikace prezentuje uživateli. U celočíselných ovládacích prvků popisují minimum a maximum rozsah hodnot, které prvek implementuje, a step udává velikost kroků daného rozsahu. default_value je výchozí hodnota, ale aplikovat lze pouze na ovládací prvky typu celé číslo, boolean a menu. Ovladače by měly hodnoty ovládacích prvků nastavovat na výchozí jen při inicializaci; stejně jako ostatní parametry zařízení, i tyto by měly přežít volání open() a close(). Z toho vyplývá, že default_value vůbec nemusí odpovídat aktuální hodnotě ovládacího prvku.

    Kromě toho máme ještě sadu příznaků, které ovládací prvek dále popisují.

    • V4L2_CTRL_FLAG_DISABLED znamená, že je ovládací prvek zakázán, takže by jej aplikace neměly brát v potaz.
    • V4L2_CTRL_FLAG_GRABBED značí, že ovládací prvek nelze dočasně změnit - například proto, že jej převzala jiná aplikace.
    • V4L2_CTRL_FLAG_READ_ONLY označuje ovládací prvky, kterých je možné se dotazovat, ale nelze je měnit.
    • V4L2_CTRL_FLAG_UPDATE znamená, že úprava této hodnoty může ovlivnit jiné ovládací prvky.
    • V4L2_CTRL_FLAG_INACTIVE značí ovládací prvek, který pro aktuální konfiguraci zařízení není relevantní.
    • A V4L2_CTRL_FLAG_SLIDER prozrazuje, že by aplikace tento prvek měly reprezentovat posuvníkem.

    Aplikace si mohou přát dotázat jen na několik ovládacích prvků, které mají naprogramovány, nebo mohou chtít očíslovat celou sadu. Ve druhém případě začnou u V4L2_CID_BASE a budou pokračovat až k V4L2_CID_LASTP1, např. pomocí V4L2_CTRL_FLAG_NEXT_CTRL. U ovládacích prvků typu menu (typ V4L2_CTRL_TYPE_MENU) budou aplikace pravděpodobně chtít očíslovat i možné hodnoty. Příslušné zpětné volání:

        int (*vidioc_querymenu)(struct file *file, void *private_data,
    			    struct v4l2_querymenu *qm);
    

    Struktura v4l2_querymenu vypadá takto:

        struct v4l2_querymenu
        {
    	__u32		id;
    	__u32		index;
    	__u8		name[32];
    	__u32		reserved;
        };
    

    Při vstupu je id hodnota ID daného ovládacího prvku typu menu a index je hodnota indexu konkrétní položky menu. Indexové hodnoty začínají nulou a pokračují až k hodnotě maximum, kterou vrátila vidioc_queryctrl(). Ovladač vyplní name položky menu; pole reserved by mělo být nastaveno na nulu.

    Jakmile aplikace ví o dostupných ovládacích prvcích, pustí se pravděpodobně do zjišťování a měnění jejich hodnot. Struktura používaná pro tento účel je relativně jednoduchá:

        struct v4l2_control
        {
    	__u32 id;
    	__s32 value;
        };
    

    Aby se mohla aplikace dotázat na konkrétní ovládací prvek, nastaví id na ID prvku a provede volání, které se do ovladače dostane jako:

        int (*vidioc_g_ctrl)(struct file *file, void *private_data,
        			 struct v4l2_control *ctrl);
    

    Ovladač by měl nastavit value na aktuální nastavení ovládacího prvku. Měl by se také samozřejmě ujistit, že o tom konkrétním prvku ví, a případně vrátit EINVAL, pokud by se aplikace pokoušela dotazovat na neexistující prvek. Pokusy o dotazování na tlačítkové ovládací prvky by také měly vracet EINVAL.

    Požadavek na změnu ovládacího prvku dopadne takto:

        int (*vidioc_s_ctrl)(struct file *file, void *private_data,
    			 struct v4l2_control *ctrl);
    

    Ovladač by měl ověřit id a ujistit se, že value je v mezích povoleného rozsahu. Pokud je vše v pořádku, měla by být nová hodnota nastavena v hardwaru.

    Nakonec stojí za zmínku, že v rámci V4L2 je podporováno samostatné rozhraní s rozšířenými ovládacími prvky. Je určeno pro poměrně komplexní ovládací prvky; v praxi se využije především pro parametry k enkódování a dekódování MPEG. Rozšířené ovládací prvky mohou být seskupovány do tříd a jsou podporovány i 64bitové celočíselné hodnoty. Rozhraní je podobné tomu obyčejnému; podrobnosti najdete ve specifikaci.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    20.12.2007 10:27 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Matrix
    s/transformačního matrixu/transformační matice/
    Luboš Doležel (Doli) avatar 20.12.2007 17:43 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Matrix
    Díky, opraveno.
    Karry avatar 6.9.2008 12:43 Karry | skóre: 10
    Rozbalit Rozbalit vše Re: Jaderné noviny - Video4Linux2 - 7 (ovládání)
    Díky za článek. Také díky vám bude mít m5602 driver ovládání jasu, bělosti a zisku...

    Jen by mě zajímalo, proč tento díl není vidět na seznamu dílů? http://www.abclinuxu.cz/serialy/video4linux2
    unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.