Posts
1756
Following
90
Followers
165
Riding horses, hacking computers, phones and smartwatch.
@dos @datenwolf @dcz @martijnbraam @NekoCWD I'm quite curious how the viewfinder integration looks. Even unfinished code would be interesting to look at :-).
1
0
0
@dos @datenwolf @dcz @martijnbraam @NekoCWD I hope you played with it in your day job for about 8 hours a day, because otherwise I'll feel kind of bad :-). Thanks!

Do you also get constant clicking from the AF system? I thought it was gone on Mobian, but then it came back.

526x390 is easy, can you do 1052x..? Is it possible to peek at sources somewhere?

Thanks again.
1
0
1
@lkundrak No, zda se, ze povery umi kolovar i stoleti. Ke me doputovala dneska, zminovane datum bylo myslim vcera.

https://en.wikipedia.org/wiki/Three_Days_of_Darkness
0
0
0
@lkundrak Pokus o kratkou povidku, inspirovany skutecnou poverou :-).
0
0
0
Jak uklidnit povercivou pribuznou

(telefonni hovor) "Neboj, zadna tma nebude, co je to za nesmysl? Svetlo nemuze jen tak zmizet."

(jako kdyby mluvil k nekomu jinemu) "Belial!"

(pauza)"Fakt planujete nejaky zatmeni pristi ctvrtek? Jakyho c****a to napadlo?"

"Ta k**va bohorodna. Ne, to nepujde, mam rande a taky je koncert Zombiero Martin."

"Jak ze to nemuzes zrusit?"

(chvili pauza, pak temnym, autoritativnim hlasem) "Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua.

(zase do telefonu) "Ne teticko, nepotrebujes svecenou svicku, prece bys neverila na nesmysly."

(spis pro sebe) "A taky jsem to zaridil."

[A kdybyste chteli vedet "ktera sekta", tak pry se to siri mezi katolickyma oveckama.]
1
0
0
@NekoCWD @datenwolf @dcz @martijnbraam Yes, Oneplus 6 is easier there. (Someone should get Megapixels to work there -- https://gitlab.com/megapixels-org/Megapixels -- already has QR code decoder, AF, AE). But at 640x.. , gstreamer should be plenty fast enough to do encoding. You have 8 cores, right? I guess 1024x768 should be doable in software...
1
0
2
#phonecamera #linuxphone #librem5

Librem 5 camera/kernel can do three possible resolutions, ~1024x768 @ ~24fps, ~2048x.. @ ~31 fps and ~4096x.. @ ~15fps. Debayering is actually easier and better quality if we downscale at the same time, and that allows best framerate, so we do that (2048x.. resolution).

ARM has problems with cache coherency w.r.t. DMA, and kernel solution is to simply disable cache on DMAbufs for userspace, which means accessing video data is 10x slower than it should be on the CPU. Which means debayering on GPU is attractive, and that's what we do. (gold.frag). GPU can do more image signal processing functions easily, too, so we do some of that.

Unfortunately, we hit the same uncached memory problem at the GPU output. So we use separate thread to copy. All this unfortunately does not fit on one core, so we need two threads, one controlling GPU debayer on frame n+1, while the other one copies video data from frame n. (heart.c). We save resulting RGBA data to ramdisk. This all costs maybe 80% of one core.

From there, Python scripts can pick them up: ucam.py displaying the viewfinder and mpegize.py handling the video encoding via gstreamer. There's basically 0% cpu left, but I can encode ~1024x.. video. Unfortunately that's without audio and with viewfinder at 1fps. Plus, combination of C + Python is great for prototyping, but may not be that great for performance.

Code is here: https://gitlab.com/tui/tui/-/tree/master/icam?ref_type=heads .

At this point I'd like viewfinder functionality merged into the rest of GPU processing. Ideally, I'd like to have a bitmap with GUI elements, combine it with scaled RGBA data, and rendering it to screen. I know SDL and Gtk, SDL looked like better match, but I could not get SDL and GPU debayering to work in single process (template SDL code is here https://gitlab.com/tui/debayer-gpu/-/blob/master/sdl/main.c?ref_type=heads ).

If you can integrate main.c and heart.c, that would be welcome. If you have example code that combines SDL with processing on GPU, that would be nice, too. If you know someone who can do GPU/SDL, boost would not be bad, I guess.

@datenwolf
@NekoCWD
@dcz
@martijnbraam
3
4
8
@mkyral @smoon Aha a vlasne -- TangoGPS. V menu ma "stahnout mapu" vcetne toho kolik zoomu, a body zajmu to ma. Pouzivam, hodi se, takovy fungujici zaklad.
0
0
0
@mkyral @smoon A teda myslim ze i podklady by nejak mel umet, abych tam mohl importovat treba vlastni ortofoto, ale tu cast jsem nikdy nedelal.
0
0
0
@mkyral @smoon No, stahnu .osm, a mam offline mapu. Teda, vektorovou, a ne uplne krasnou no :-). A body ukladam do vrstvy, takze mam body zajmu v osm formatu. Uploadovat nemusim.
0
0
0
@hrw @blog Well.. yes, one of failures was that Enigma used symetric crypto. More serious failure was that key space was basically 27^3, which is so small it can be broken by hand. There is important point author is missing: RSA is very, very, _very_ bad cipher and needs good symetric cypher to be useful. You can only safely encrypt big, random numbers using RSA.
0
0
1
Tak hnusny pocasi ze i holuby chodej pesky

Vyjizdku jsme stihli, ale ted se venku zacinaj dit nepekny veci. Vypada to na bourku a neprijenou. A koukam, na strese boxu sedi holub, a vypada min plachej nez obvykle. A taky ze jo, na nohach krouzky. "Kamo, let radej jinam, tady je to sama kocka..."
0
0
1
@gregkh Perhaps someone should tell that to Sasha Levin, as he applies bad patches to AUTOSEL based on LLM output? :-(.
0
0
0
Wargame podcast -- je na yt, "False Flag | The Wargame Ep 1 [9LEbjMAkU4I]", protrpel jsem za vas, abyste vy nemuseli. 5 hodin dramatu, kde rusove prekroci hranici pro atomovou odvetu v prvnim kroku, a vedeni UK je tak nekompetentni, ze neodpovi. To, ze se v poslednich 10ti minutach dozvime, ze by to takhle proste byt nemohlo, to nezachrani.

Wargame podcast -- ignore it. Not nearly realistic, not worth watching.
0
0
1
@ljs @lkundrak @piggo blancolirio on yt has a video... The mechanism to prevent accidental pulling has known problems. So I'd still consider that an option.
2
0
1
@lkundrak Well, it is consistent with "I have good life insurance and don't want to live any more" and "gear up means two engines down, riiight?" options.

This is one of the more confusing and unusual cases...
0
0
0
@lkundrak The 737 Handbook
dstoSenorp1t1tfhlm5u8u930u4l2at4uuu2m7943h32ahg2u01cg3tcti55 ·
Preliminary report for Air India is out. Here are main excerpts:
- 08:08:42: Engine 1 and Engine 2 fuel cutoff switches transitioned from RUN to CUTOFF position one after another with a time gap of 01 sec
- In the cockpit voice recording, one of the pilots is heard asking the other why did he cutoff.
The other pilot responded that he did not do so.
- 08:08:52: Engine 1 fuel cutoff switch transitioned from CUTOFF to RUN
- 08:08:56: the Engine 2 fuel cutoff switch also
transitions from CUTOFF to RUN
The EGT was observed to be rising for both engines indicating relight. Engine 1’s core
deceleration stopped, reversed and started to progress to recovery. Engine 2 was able to
relight but could not arrest core speed deceleration and re-introduced fuel repeatedly to
increase core speed acceleration and recovery.
- The EAFR recording stopped at 08:09:11
UTC

There's good video, too -- yt.

Air\ India\ Preliminary\ Report\ 11\ July\ \[wA_UZeHZwSw\]

And right, that does not look like mechanical failure any more.
1
0
0
@datenwolf Ok, time to ask the lists:

Hi!

It seems that DMA-BUFs are always uncached on arm64... which is a
problem.

I'm trying to get useful camera support on Librem 5, and that includes
recording vidos (and taking photos).

memcpy() from normal memory is about 2msec/1MB. Unfortunately, for
DMA-BUFs it is 20msec/1MB, and that basically means I can't easily do
760p video recording. Plus, copying full-resolution photo buffer takes
more than 200msec!

There's possibility to do some processing on GPU, and its implemented here:

https://gitlab.com/tui/tui/-/tree/master/icam?ref_type=heads

but that hits the same problem in the end -- data is in DMA-BUF,
uncached, and takes way too long to copy out.

And that's ... wrong. DMA ended seconds ago, complete cache flush
would be way cheaper than copying single frame out, and I still have
to deal with uncached frames.

So I have two questions:

1) Is my analysis correct that, no matter how I get frame from v4l and
process it on GPU, I'll have to copy it from uncached memory in the
end?

2) Does anyone have patches / ideas / roadmap how to solve that? It
makes GPU unusable for computing, and camera basically unusable for
video.

Best regards,
Pavel
0
0
0
@NekoCWD @QuadRadical @libcamera That's back camera on OnePlus 6? Nice! I guess autofocus should be on by default for most cameras. (But different af implementation is suitable for still photos and for video capture, in some cases; video one is probably suitable default).
0
0
2
Show older