Asara has joined #linux-sunxi
TRS-80 has joined #linux-sunxi
florian has quit [Ping timeout: 268 seconds]
ldevulder__ has joined #linux-sunxi
ldevulder_ has quit [Ping timeout: 268 seconds]
ChriChri_ has joined #linux-sunxi
ChriChri has quit [Ping timeout: 265 seconds]
ChriChri_ is now known as ChriChri
dev1990 has quit [Quit: Konversation terminated!]
dev1990 has joined #linux-sunxi
rex_victor has joined #linux-sunxi
TRS-80 has quit [Quit: WeeChat 2.3]
cnxsoft has joined #linux-sunxi
tllim has quit [Read error: Connection reset by peer]
aloo_shu has quit [Read error: No route to host]
aloo_shu has joined #linux-sunxi
lurchi_ is now known as lurchi__
NeuroScr has quit [Quit: NeuroScr]
aloo_shu has quit [Read error: Connection reset by peer]
aloo_shu has joined #linux-sunxi
megi has quit [Ping timeout: 260 seconds]
ganbold_ has joined #linux-sunxi
ganbold has quit [Ping timeout: 258 seconds]
dddddd has quit [Remote host closed the connection]
vagrantc has quit [Ping timeout: 248 seconds]
lurchi_ has joined #linux-sunxi
JohnDoe_71Rus has joined #linux-sunxi
lurchi__ has quit [Ping timeout: 265 seconds]
damex has quit [Read error: Connection reset by peer]
damex has joined #linux-sunxi
atsampson has quit [Ping timeout: 260 seconds]
selfbg has joined #linux-sunxi
NeuroScr has joined #linux-sunxi
cnxsoft has quit [Ping timeout: 260 seconds]
NiteHawk has quit [Remote host closed the connection]
NiteHawk has joined #linux-sunxi
cnxsoft has joined #linux-sunxi
deesix_ has joined #linux-sunxi
deesix has quit [Ping timeout: 265 seconds]
yann has joined #linux-sunxi
fevv8[m] has quit [*.net *.split]
hpagseddy[m] has quit [*.net *.split]
alexxy has quit [*.net *.split]
ric96 has quit [*.net *.split]
lvrp16 has quit [*.net *.split]
veremitz has quit [*.net *.split]
rtp has quit [*.net *.split]
bshah has quit [*.net *.split]
angelo__ has quit [*.net *.split]
miasma has quit [*.net *.split]
kelvan has quit [*.net *.split]
huawei has quit [*.net *.split]
Turl has quit [*.net *.split]
tuxillo has quit [*.net *.split]
longsleep has quit [*.net *.split]
afaerber has quit [*.net *.split]
thefloweringash has quit [*.net *.split]
EmilKarlson has quit [*.net *.split]
Ultrasauce has quit [*.net *.split]
karlp has quit [*.net *.split]
kilobyte has quit [*.net *.split]
lynxis has quit [*.net *.split]
MartijnBraam has quit [Ping timeout: 252 seconds]
z3ntu_ has quit [Ping timeout: 252 seconds]
clementp[m] has quit [Ping timeout: 245 seconds]
Ke has quit [Ping timeout: 264 seconds]
Danct12 has quit [Ping timeout: 264 seconds]
solderfumes has quit [Ping timeout: 250 seconds]
davidebeatrici has quit [Ping timeout: 250 seconds]
oliv3r[m] has quit [Ping timeout: 250 seconds]
Jeremy_Rand_Talo has quit [Ping timeout: 250 seconds]
t4h4[m] has quit [Ping timeout: 264 seconds]
kelvan has joined #linux-sunxi
huawei has joined #linux-sunxi
tuxillo has joined #linux-sunxi
Turl has joined #linux-sunxi
Ultrasauce has joined #linux-sunxi
longsleep has joined #linux-sunxi
afaerber has joined #linux-sunxi
karlp has joined #linux-sunxi
kilobyte has joined #linux-sunxi
lynxis has joined #linux-sunxi
warpme_ has joined #linux-sunxi
ldevulder__ is now known as ldevulder
aloo_shu has quit [Ping timeout: 265 seconds]
msev- has joined #linux-sunxi
msev- has quit [Quit: Leaving]
tnovotny has joined #linux-sunxi
malestorm has joined #linux-sunxi
matthias_bgg has joined #linux-sunxi
lvrp16 has joined #linux-sunxi
rtp has joined #linux-sunxi
ric96 has joined #linux-sunxi
bshah has joined #linux-sunxi
angelo__ has joined #linux-sunxi
alexxy has joined #linux-sunxi
miasma has joined #linux-sunxi
veremitz has joined #linux-sunxi
Xalius has quit [Quit: Leaving]
Mangy_Dog has joined #linux-sunxi
diego_r has joined #linux-sunxi
AneoX has joined #linux-sunxi
_whitelogger has joined #linux-sunxi
bjne has joined #linux-sunxi
aballier has joined #linux-sunxi
aballier has joined #linux-sunxi
RichardG867 has quit [Read error: Connection reset by peer]
RichardG867 has joined #linux-sunxi
deesix_ has quit [Ping timeout: 265 seconds]
AneoX has quit [Ping timeout: 240 seconds]
AneoX has joined #linux-sunxi
deesix has joined #linux-sunxi
atsampson has joined #linux-sunxi
reinforce has joined #linux-sunxi
dddddd has joined #linux-sunxi
megi has joined #linux-sunxi
clementp[m] has joined #linux-sunxi
checkpoint has quit [Ping timeout: 240 seconds]
NeuroScr has quit [Quit: NeuroScr]
pmp-p has joined #linux-sunxi
indy has joined #linux-sunxi
matthias_bgg has quit [Read error: Connection reset by peer]
matthias_bgg has joined #linux-sunxi
solderfumes has joined #linux-sunxi
Ke has joined #linux-sunxi
oliv3r[m] has joined #linux-sunxi
davidebeatrici has joined #linux-sunxi
flacks_ has joined #linux-sunxi
t4h4[m] has joined #linux-sunxi
fevv8[m] has joined #linux-sunxi
hpagseddy[m] has joined #linux-sunxi
z3ntu_ has joined #linux-sunxi
EmilKarlson has joined #linux-sunxi
Danct12 has joined #linux-sunxi
MartijnBraam has joined #linux-sunxi
psydruid has joined #linux-sunxi
Jeremy_Rand_Talo has joined #linux-sunxi
thefloweringash has joined #linux-sunxi
Irenes[m] has joined #linux-sunxi
mic-e[m] has joined #linux-sunxi
chewitt has quit [Read error: Connection reset by peer]
chewitt has joined #linux-sunxi
TRS-80 has joined #linux-sunxi
pmp-p has quit [Read error: Connection reset by peer]
pmp-p has joined #linux-sunxi
AneoX_ has joined #linux-sunxi
AneoX has quit [Ping timeout: 268 seconds]
malestorm has quit [Quit: malestorm]
f0i has joined #linux-sunxi
fl_0 has quit [Quit: STRG + Q]
fl_0 has joined #linux-sunxi
lurchi_ is now known as lurchi__
nashpa has quit [Ping timeout: 265 seconds]
pmp-p has quit [Read error: Connection reset by peer]
arete74 has quit [Quit: leaving]
arete74 has joined #linux-sunxi
tnovotny has quit [Quit: Leaving]
nashpa has joined #linux-sunxi
aloo_shu has joined #linux-sunxi
JohnDoe_71Rus has joined #linux-sunxi
_whitelogger has joined #linux-sunxi
selfbg has quit [Remote host closed the connection]
pmp-p has joined #linux-sunxi
pmp-p has quit [Read error: Connection reset by peer]
bjne has quit [Ping timeout: 248 seconds]
pmp-p has joined #linux-sunxi
dddddd has quit [Ping timeout: 260 seconds]
rex_victor has quit [Ping timeout: 268 seconds]
florian_kc has joined #linux-sunxi
xes_ has quit [Ping timeout: 265 seconds]
Xalius has joined #linux-sunxi
cnxsoft has quit [Ping timeout: 260 seconds]
bjne has joined #linux-sunxi
florian_kc has quit [Quit: Leaving]
diego_r has quit [Ping timeout: 245 seconds]
pmp-p has quit [Read error: Connection reset by peer]
clonak has left #linux-sunxi ["Bye"]
pmp-p has joined #linux-sunxi
rex_victor has joined #linux-sunxi
<
jernej>
megi: you can test with v4l2-ctl, like so:
<
jernej>
v4l2-ctl --stream-out-mmap --stream-to=test.raw --set-fmt-video-out="width=512,height=256,pixelformat=19" --stream-mmap 8 --stream-count 25 --stream-out-pattern=4 -c rotate=90
<
jernej>
then you can convert test.raw to video, like so:
<
jernej>
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 256x512 -r 25 -i test.raw out.mkv
<
jernej>
at least that's what I'm using during development of this driver
bjne has quit [Ping timeout: 240 seconds]
<
megi>
jernej: thanks, that'll be quicker verification than trying to fix my cam app first
<
megi>
how do you specify the input?
<
jernej>
I have only one v4l driver enabled
<
jernej>
but there is a parameter, let me check
<
megi>
I mean data input
<
megi>
I only see --stream-to=test.raw
<
megi>
that looks like output file
<
jernej>
ah, it's a test pattern, number 4
<
megi>
oh, ok, makes sense
<
jernej>
--stream-out-pattern=4
<
jernej>
but you can also specify input file
<
jernej>
albeit it's much quicker to let v4l2-ctl generate pattern on the fly in proper format
<
megi>
yeah, I'm going to run it in a bit, give me a few minutes
<
megi>
kernel didn't crash and I got output :)
<
megi>
heh, mkv is like 3kB
<
megi>
it compresses really well
<
jernej>
yeah, because it's only one image multiplied 25 times :)
<
jernej>
and even that image is very compressible
<
megi>
this looks good :)
<
jernej>
yes, that's it
<
jernej>
so, it works on a83t
<
megi>
at least for this format
<
jernej>
I'll clean it up over the weekend and send it to ml
<
jernej>
you can list other formats with "v4l2-ctl --list-formats-out"
<
jernej>
and check them out, if you want
<
jernej>
just know that all yuv formats are converted to yuv420p
<
jernej>
while rgb formats are preserved
<
megi>
I'm checking the performance
<
megi>
I tried HD 100 frames, and it does conversion after 1.872s
<
megi>
so that's around ~50fps
<
megi>
with nothing else going on
<
jernej>
what do you mean "with nothing else going on" ?
<
megi>
no other memory tranfers in the bg
f0i has quit [Ping timeout: 268 seconds]
<
jernej>
but I imagine it should work with camera in the mix too
<
megi>
it may look different with CSI controller doing DMA at the same time as DRM
xes has joined #linux-sunxi
<
jernej>
well, VPU + deinterlace + DRM work in real time on H3 for 1080l, so I don't think your case will be the problem
<
megi>
yeah, I don't see much difference between having the display suspended or active at the very least
<
megi>
I can imagine rotation is a bit harder on the memory controller though
<
megi>
FHD shows 20fps
<
megi>
any idea why it's CPU bound in sys time?
<
megi>
I expect it will do IRQ once per frame
<
jernej>
I suspect v4l2-ctl might not be most efficient program, it's more of a dev tool
<
jernej>
but I might be wrong
<
megi>
that would probably show as user time
<
megi>
it doesn't do too much syscalls
<
jernej>
although driver is pretty simple, set about 20 registers, wait for interrupt and signal job done
<
megi>
and I'm writing to tmpfs
<
KotCzarny>
strace it for fun?
<
jernej>
you can just leave that argument out, no need to save output
<
jernej>
it should show better performance
<
megi>
yeah, like 10x
dddddd has joined #linux-sunxi
<
megi>
so writing to tmpfs needs a lot of CPU
<
megi>
I see 200fps with full HD now
<
jernej>
fyi, driver sets burst to 8 when rotating 90 or 270 degrees and to 64 for everything else
<
jernej>
so change rotate to 180 or remove it completely
<
jernej>
it should be even better
<
megi>
rotate by 90 is faster than rotate by 0 or 180
<
megi>
0m0.553s vs 0m0.642s
<
jernej>
strange, I would expect larger bursts would be quicker
<
jernej>
but maybe depends on format too
<
jernej>
rgb is definitively simpler than, say yuv420p
<
megi>
32-bit rgb takes longer
<
megi>
probably because it's 2x the size
<
mru>
yuv420 is 12 bits per pixel
<
megi>
the first test was with YUYV
<
mru>
16 bits per pixel
<
megi>
it's pushing 810MiB/s
<
megi>
roughly, with both YUYV and 32-bit RGB
<
jernej>
anyway, it should be good enough for your needs :)
<
megi>
I just wanted to see what it can do ;)
f0i has joined #linux-sunxi
<
megi>
interesting, it's 4x slower on pinephone
<
jernej>
depends on display engine clock
<
jernej>
you can try raising mixer clock rate
<
megi>
I'll compare the clocks
<
megi>
yeah, my A83T kernel uses 432MHz and A64 uses 297MHz
<
anarsoul>
but that's not 4x
<
anarsoul>
maybe A64 has less memory bandwidth?
<
megi>
I think my tablet has faster DRAM clock
matthias_bgg has quit [Ping timeout: 265 seconds]
<
anarsoul>
how much faster?
<
megi>
nah, it's the same
f0i has quit [Ping timeout: 258 seconds]
chewitt has quit [Read error: Connection reset by peer]
chewitt has joined #linux-sunxi
<
megi>
ah, sun8i-rotate 1020000.rotate: dma_alloc_coherent of size 8294400 failed in dmesg on A64
<
megi>
probably not enough cmem
<
megi>
the same on A83T, though the v4l2-ctl didn't complain
<
megi>
I guess it just used less than 8 buffers
<
megi>
in addition, I also got WARN on A64, somewhere deep in v4l_reqbufs/.../__alloc_pages_nodemask
f0i has joined #linux-sunxi
<
anarsoul>
megi: are you using lima?
<
anarsoul>
or rather lima with sun4i-drm
<
megi>
but module may be loaded
<
anarsoul>
yet sun4i-drm allocates framebuffer in CMA
<
jernej>
megi: what is your CMA size?
<
anarsoul>
megi: it's inactive if you're not using it, lima doesn't reserve any memory
<
anarsoul>
and lima doesn't even need CMA
<
anarsoul>
mali4x0 has its own MMU
<
anarsoul>
that's display driver that needs CMA :)
<
jernej>
v4l2 drivers will also use CMA
<
jernej>
they can allocate their own memory
<
megi>
CmaTotal: 65536 kB / CmaFree: 59008 kB
<
jernej>
that's a bit low :)
<
megi>
that's barely enough for 8*FHD 32bit-RGB frames
<
jernej>
I have CMA size set to 256 MiB when testing
<
jernej>
but that's generous
<
jernej>
and v4l2-ctl doesn't really need 8 buffers at the same time
<
megi>
not sure why I get the WARN only on A64 kernel, maybe a difference in debugging options
<
megi>
nevermind, all is well :)
<
megi>
it would be nice if kernel could shuffle buffers between video devices by itself
<
megi>
but maybe not :) since I also want non-rotated frames for potential storage
<
jernej>
some AW SoCs have option to directly output deinterlaced buffers
<
jernej>
without intermediate stop in memory
<
jernej>
I have no idea how to support that in mainline
wigyori_ has joined #linux-sunxi
sunilmohan has quit [Ping timeout: 265 seconds]
gaston1980 has joined #linux-sunxi
chewitt has quit [*.net *.split]
TRS-80 has quit [*.net *.split]
yann has quit [*.net *.split]
ganbold_ has quit [*.net *.split]
ChriChri has quit [*.net *.split]
ldevulder has quit [*.net *.split]
anarsoul has quit [*.net *.split]
plaes has quit [*.net *.split]
book` has quit [*.net *.split]
qschulz has quit [*.net *.split]
Nakaori has quit [*.net *.split]
menomc has quit [*.net *.split]
cyrozap has quit [*.net *.split]
DuClare has quit [*.net *.split]
mhlavink has quit [*.net *.split]
ddevault has quit [*.net *.split]
dlan has quit [*.net *.split]
aalm has quit [*.net *.split]
igraltist has quit [*.net *.split]
wigyori has quit [*.net *.split]
embed-3d has quit [*.net *.split]
datagutt has quit [*.net *.split]
ganbold_ has joined #linux-sunxi
ldevulder has joined #linux-sunxi
Nakaori has joined #linux-sunxi
florian has joined #linux-sunxi
igraltist has joined #linux-sunxi
mnemoc has joined #linux-sunxi
plaes has joined #linux-sunxi
plaes has joined #linux-sunxi
plaes has quit [Changing host]
DuClare has joined #linux-sunxi
aalm has joined #linux-sunxi
qschulz has joined #linux-sunxi
TRS-80 has joined #linux-sunxi
anarsoul has joined #linux-sunxi
reinforce has quit [Quit: Leaving.]
book` has joined #linux-sunxi
chewitt has joined #linux-sunxi
embed-3d has joined #linux-sunxi
ChriChri has joined #linux-sunxi
dlan has joined #linux-sunxi
cyrozap has joined #linux-sunxi
sunilmohan_ has joined #linux-sunxi
datagutt has joined #linux-sunxi
yann has joined #linux-sunxi
ddevault has joined #linux-sunxi
dlan is now known as Guest29762
NeuroScr has joined #linux-sunxi
<
megi>
v4l2, a land where output is an input
<
megi>
and output is capture
<
megi>
#define M2M_BUF_INPUT V4L2_BUF_TYPE_VIDEO_OUTPUT
return0e has joined #linux-sunxi
yann has quit [Ping timeout: 258 seconds]
s_frit_ has joined #linux-sunxi
s_frit has quit [Ping timeout: 268 seconds]
aballier has quit [Ping timeout: 265 seconds]
NeuroScr has quit [Quit: NeuroScr]
aballier has joined #linux-sunxi
aballier has quit [Changing host]
aballier has joined #linux-sunxi