ChanServ changed the topic of #linux-rockchip to: Rockchip development discussion | IRC log http://irclog.whitequark.org/linux-rockchip | Community GH https://github.com/linux-rockchip | Rockchip GH https://github.com/rockchip-linux | ML https://groups.google.com/group/linux-rockchip
nighty- has quit [Quit: Disappears in a puff of smoke]
<stdint> Myy, which VPU
<stdint> or you can just tell me the address you want to access
<stdint> Myy, you can decode a single H264 frame as long as it is the I frame
<stdint> But the SPS and PPS is still necessary
<stdint> s/is/are/
return0e has quit [Remote host closed the connection]
<Myy> Yeah, well, I'm just feeding registers prepared by RKMPP to the VPU. It seems that RKMPP already does all the preparation required. On my little test, I just change the file descriptors by preset DMA addresses and launch the decoding. The IRQ is triggered correctly however the output address looks untouched so I'm wondering what I'm missing.
<Myy> I'm using the very first frame of an H264 movie as data. It doesn't seem to have any references beside itself. On the RKMPP side, all the "reference" registers are set to the output file descriptor.
<Myy> There's only one register that bothers me, it's the DIR MV register, which purpose I don't understand.
<Myy> Anyway, the code is here : https://github.com/Miouyouyou/Mainline-Rockchip-VPU/blob/dev/test-devicetree-dma-to-from-user.c . It runs on a mainline kernel... However it doesn't produce any result in the end, so it's not very useful.
<Myy> The static data is here : https://github.com/Miouyouyou/Mainline-Rockchip-VPU/blob/dev/test_static_data.h It's the registers state, the encoded frame and the "qtable" dumped using a modified version of RKMPP (modified to perform the dumps).
<Myy> I'm wondering if there's some timing/tempo to respect between setting up registers and launching a decode operation.
asciilifeform has joined #linux-rockchip
vstehle has quit [Ping timeout: 244 seconds]
cnxsoft has joined #linux-rockchip
<stdint> Myy, you may contact me on your time, I don't understand what you are doing
<stdint> maybe after sleep, you would feel better
<Myy> Alright
<Myy> Technically, I'm just trying to decode a single static frame using the VPU, on mainline kernels. I used a 4.4 kernel with a modified version of RKMPP to dump the very first frame of an H264 movie, along with the registers sent to the VPU and the "QTable" which is the CABAC table with a few additional settings. I converted all these data (Encoded frame, Registers, Qtable) into C arrays. Then I created a driver for a 4.18 kernel
<Myy> that allocate 3 DMA buffers for the encoded frame, the decoded output and the QTable, since the VPU needs the DMA addresses of these 3 elements to perform its work. I then used the dumped registers, changed the file descriptors references RKMPP used, to these DMA addresses accordingly. And then I'm executing a decoding pass. The thing is, the IRQ handler setup to the VPU is triggered but the DMA buffer allocated for the decoded
<Myy> frame remains untouched.
<Myy> I'll send you an email tonight (it's 4:30AM here) describing my current code and the issues I'm encountering.
<Myy> If I could decode a single static frame correctly, I could then use this as a base to start porting the RKMPP service driver to 4.19 kernels.
anarsoul|2 has quit [Ping timeout: 260 seconds]
Myy has quit [Quit: Leaving]
asciilifeform has left #linux-rockchip [#linux-rockchip]
wzyy22222 has quit [Ping timeout: 260 seconds]
lurchi_ has joined #linux-rockchip
vstehle has joined #linux-rockchip
vagrantc has quit [Quit: leaving]
JohnDoe_71Rus has joined #linux-rockchip
aalm has quit [Quit: xyz 2.0.1]
_whitelogger has joined #linux-rockchip
JohnDoe_71Rus has quit [Ping timeout: 256 seconds]
JohnDoe_71Rus has joined #linux-rockchip
hunderteins has joined #linux-rockchip
<hunderteins> hello
vicencb has joined #linux-rockchip
hunderteins has quit [Quit: TinyIRC 1.1]
hunderteins has joined #linux-rockchip
afaerber has quit [Ping timeout: 265 seconds]
afaerber has joined #linux-rockchip
aalm has joined #linux-rockchip
s_frit has quit [Remote host closed the connection]
s_frit has joined #linux-rockchip
ganbold has quit [Quit: Leaving]
ganbold has joined #linux-rockchip
Kelsar has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Kelsar has joined #linux-rockchip
vicencb has quit [Quit: Leaving.]
nighty- has joined #linux-rockchip
vagrantc has joined #linux-rockchip
afaerber has quit [Quit: Leaving]
wzyy22222 has joined #linux-rockchip
afaerber has joined #linux-rockchip
LargePrime has joined #linux-rockchip
aalm has quit [Ping timeout: 272 seconds]
vicencb has joined #linux-rockchip
s_frit has quit [Remote host closed the connection]
s_frit has joined #linux-rockchip
ezequielg has joined #linux-rockchip
<eballetbo> Myy, ezequiel is also doing some h264 decoding work, maybe will be good for you to talk :)
<ezequielg> what was the question? :-)
kaspter has quit [Quit: kaspter]
<ezequielg> eballetbo: seems Myy is not here.
<eballetbo> oh right, seems he left, maybe he will join again
Myy has joined #linux-rockchip
<Myy> Meow
<eballetbo> Myy, ezequielg is also doing some h264 decoding work, maybe will be good for you to talk :)
<ezequielg> Myy: \o hey, I am looking at your repo https://github.com/Miouyouyou/Mainline-Rockchip-VPU/
<ezequielg> fwiw, I'm also working on h264 decoding. Have a driver that uses the Request API and I'm testing it with https://github.com/bootlin/v4l2-request-test
<ezequielg> currently, i'm debugging why there is no frame rdy IRQ
<ezequielg> i'll push this driver today/monday if you want to take a look and debug as well :-)
cnxsoft has quit [Quit: cnxsoft]
<Myy> Hey !
<Myy> Nice :3
<Myy> Do you get the result of the decoding though ?
<ezequielg> nope, decoding is not working. Seems I'm getting a "buffer empty" IRQ :(
hunderteins has quit [Quit: TinyIRC 1.1]
<Myy> Hmm, interesting. I got the same issue. The IRQ handler is triggered but the output buffer is untouched.
<ezequielg> the IRQ is triggered and what's the value of interrupt register?
<ezequielg> btw, i'm using rk3399, but I could try rk3288 as well.
<Myy> The interrupt register is set at 0x00010100
<Myy> The IRQ number is 60
<Myy> But that doesn't help me much. According to the registers definition I have, this state means "IRQ" and "IRQ Disable" at the same time.
<ezequielg> lol
<Myy> I'm starting to wonder if I'm not missing some clocks definitions
<ezequielg> well, i'll push some code soon and point you at it. it's mainline based :-)
<Myy> The mainline kernel DTS node of the VPU MMU didn't have a "Power" property, which made it unusable at first
<Myy> So I think I'll do another "search the differences" game with the 4.4 and 4.18 RK3288 DTSI
<ezequielg> hm, good catch. I missed that missing property!
wzyy22222 has quit [Ping timeout: 240 seconds]
LargePrime has quit [Quit: Leaving]
vagrantc has quit [Quit: leaving]
ganbold has quit [Remote host closed the connection]
ganbold has joined #linux-rockchip
LargePrime has joined #linux-rockchip
xerpi has joined #linux-rockchip
JohnDoe_71Rus has quit [Ping timeout: 260 seconds]
xerpi has quit [Remote host closed the connection]
anarsoul|2 has joined #linux-rockchip
JohnDoe_71Rus has joined #linux-rockchip
anarsoul has joined #linux-rockchip
aalm has joined #linux-rockchip
<Myy> Well, at least, it's not a page fault since even after setting the IOMMU fault handler with a logging function, I get no additional logs.
afaerber has quit [Quit: Leaving]
JohnDoe_71Rus has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
lurchi_ is now known as lurchi__
afaerber has joined #linux-rockchip
kloczek has joined #linux-rockchip
lurchi__ is now known as lurchi_
lurchi_ is now known as lurchi__
lurchi__ is now known as lurchi_
hanetzer has quit [Ping timeout: 260 seconds]
hanetzer has joined #linux-rockchip
hanetzer has quit [Client Quit]
hanetzer has joined #linux-rockchip
hanetzer has quit [Ping timeout: 240 seconds]
hanetzer has joined #linux-rockchip
hanetzer has quit [Ping timeout: 240 seconds]
hanetzer has joined #linux-rockchip
vicencb has quit [Quit: Leaving.]
lurchi_ is now known as lurchi__
lurchi__ is now known as lurchi_