Current Server Time: 00:00 (Central Europe)

#apertus IRC Channel Logs

2019/04/06

Timezone: UTC


02:00
futarisIRCcloud
joined the channel
03:03
Bertl
off to bed now ... have a good one everyone!
03:03
Bertl
changed nick to: Bertl_zZ
04:10
saurabh_raj
joined the channel
04:39
saurabh_raj
left the channel
04:39
futarisIRCcloud
left the channel
04:41
futarisIRCcloud
joined the channel
04:45
GC
joined the channel
05:18
mrohit[m]
sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/SGQbzOVvRzsqRSxhdGOZcsoi >
06:54
GC
left the channel
07:49
niemand
joined the channel
07:49
niemand
left the channel
07:49
niemand
joined the channel
07:50
BAndiT1983|away
changed nick to: BAndiT1983
08:04
saurabh_raj
joined the channel
08:04
saurabh_raj
Hi BAndiT1983
08:05
BAndiT1983
hi saurabh_raj
08:06
saurabh_raj
I am trying to load a part of code as dynamic library, so should I include the code of the libraries too or just the .so file?
08:06
se6astian|away
changed nick to: se6astian
08:06
saurabh_raj
Or should I build the .so from the code then use the .so when the program is executed?
08:06
BAndiT1983
why should .so file be uploaded to github? how should it be loaded under windows?
08:07
saurabh_raj
I assumed the testing environment will be linux
08:08
BAndiT1983
and the main question is, why is thei mage outputting itself to disc? which OOP docs have you used to take this wrong approach?
08:08
BAndiT1983
and what if i like to use windows to test it?
08:08
saurabh_raj
mage??
08:09
BAndiT1983
mage what?
08:09
saurabh_raj
you wrote "and the main question is, why is thei mage outputting itself to disc? which OOP docs have you used to take this wrong approach?"
08:09
BAndiT1983
*image
08:10
BAndiT1983
space is just placed wrong, which you would have noticed, by thoroughly looking at the letters in this place
08:11
saurabh_raj
sorry I don't get it. The debayered image is supposed to be written to disc, right?
08:11
BAndiT1983
yes
08:12
saurabh_raj
The OutputImage class constructor takes input image object as argument as it initializes stuff based on that
08:14
BAndiT1983
first of all, the files are named wrong, Input.h containing InputImage class is not intuitive
08:14
BAndiT1983
also calling it InputImage is misleading
08:14
BAndiT1983
storing file data in the class is good for nothing
08:15
BAndiT1983
missing blank lines make it hard to differ between grouped code parts
08:15
BAndiT1983
constructor and destructor have to be placed together, this is the standard practice
08:16
BAndiT1983
reinterpret_cast is used way too much
08:16
BAndiT1983
objects have to be named like variables, starting with lower-case and using camel-case
08:17
BAndiT1983
everything i write here was mentioned on this channel multiple times already and i see same problems over and over in every code
08:18
BAndiT1983
also doing constructor argument, makes the code rigid, as one would have to create new object every time, when some image has to be written to disk
08:18
saurabh_raj
okey I will change the naming to Input Image, Debayered Image and Output Image, and change the way image is stored and handled
08:19
BAndiT1983
WriteToAvi() is not maintainable and uses lot of reinterpret_cast, which is error-prone
08:20
BAndiT1983
keep minimum initializers in the loop, otherwise it's hard to get the idea of the loop logic
08:20
BAndiT1983
why do you store file data in the image class, if it is already dissected in channels while input?
08:21
BAndiT1983
also how you place data is not very readable and even less maintainable, performance is probably also a problem
08:21
BAndiT1983
do you really need to obfuscate the code by implementing pseudo vector to push sensel values to it?
08:22
saurabh_raj
I have encapsulated all the channels and input data into one InputImage class
08:22
saurabh_raj
so that it can be easily accessed by demosaic and output class later on
08:22
BAndiT1983
and this obfuscates even more -> ppmRedChnl(GetPpmChannel(input->GetRedChannel(), "red")),
08:22
BAndiT1983
this not encapsulation for me, but obfuscation by placing a lot of unnecessary code
08:23
BAndiT1983
the magic word is: single responsibility
08:25
saurabh_raj
ok, I will try to reduce the obfuscations.
08:26
BAndiT1983
why do you use chars instead of enums, if you are doing output?
08:26
BAndiT1983
i can go on, as it's my daily job to review code and maintain it
08:27
BAndiT1983
also std::cout should use std::endl and not "\n"
08:28
BAndiT1983
will stop here, as i have already spent too much time on reviewing
08:28
BAndiT1983
the goal of the challenge is to show us what the students are capable of and not that we play nanny and have to review every change over and over and polish the code, as it's the task of the student
08:28
BAndiT1983
off for now
08:28
BAndiT1983
changed nick to: BAndiT1983|away
08:29
futarisIRCcloud
left the channel
08:43
mrohit[m]
Hi se6astian , can you help me with my query about color matrix I asked earlier?
08:44
se6astian
maybe, what was the question?
08:45
mrohit[m]
One of the parameters mentioned in the extension of control daemon is the color matrix for output.
08:45
mrohit[m]
So is this something different from the Matrix color conversion or it's the same?
08:45
mrohit[m]
I tried to look for it and many resources point at the color matrix conversion used to process and transform color channel values.
08:46
aombk2
joined the channel
08:47
se6astian
its a matrix color conversion
08:47
se6astian
https://wiki.apertus.org/index.php/AXIOM_Beta/Manual#mat4_conf.sh
08:49
aombk3
left the channel
08:50
mrohit[m]
okay, so we can use the conversion matrix for setting white balance, as done in the scripts already. So for the task we need to do a similar white balancing in the control daemon using conversion matrix..right?
08:51
se6astian
the control daemon should be able to do what the mat4_conf.sh script currently does yes
08:55
mrohit[m]
okay..and one more thing...can we share the draft of the proposal in .tex format on overleaf.com? I mean will this be convenient for the mentors to comment on?
08:57
se6astian
no idea, never used it before
08:57
se6astian
which task are you applying to exactly?
08:57
mrohit[m]
T1121
08:58
se6astian
so andrej is your primary mentor, did you ask him about overleaf and tex?
08:59
se6astian
because I know Bertl loves latech and will appreciate a latech application but did andrej also say that?
09:00
mrohit[m]
no, didn't ask him. I thought as Bertl said it would be good so I was thinking on the lines of submitting in latex format
09:01
mrohit[m]
will ask him when he's around
09:01
se6astian
great
09:03
mrohit[m]
and just an off-topic question, can there be multiple mentors for a single project ?
09:03
se6astian
its is even recommneded to have a backup mentor with every project
09:05
mrohit[m]
okay
09:06
mrohit[m]
thanks for the clarifications
09:08
se6astian
you are welcome
09:16
futarisIRCcloud
joined the channel
09:35
aombk2
left the channel
09:51
BAndiT1983|away
changed nick to: BAndiT1983
09:58
dcz
joined the channel
10:26
apurvanandan[m]
Hi all
10:27
apurvanandan[m]
In 1080p HDMI module, we have a PTN3363 which can transmit video at 4k also, so why aren't we able to transmit 4k data by it. Why we need a separate 4k module with a fpga on it for this task?
10:39
mrohit[m]
Hey BAndiT1983 , can we share the draft of the proposal in .tex format on overleaf.com? I mean will this be convenient for you to comment on? what would you prefer?
10:42
BAndiT1983
i don't have any preference there, as long as i can comment
10:43
BAndiT1983
and as long i don't need extra account for it
10:49
mrohit[m]
okay, even I am not sure whether overleaf mandatorily requires an account to comment/edit. I'll check with it
10:52
mrohit[m]
I checked for it, it does asks the user to link it with their google account
10:54
mrohit[m]
will do it in docs then
10:56
BAndiT1983
as far as i remember google docs started to support latex not long ago
10:59
mrohit[m]
you mean the LaTex Lab by google docs?
11:00
BAndiT1983
maybe, haven't bothered with it for quite some time, but used latex for my diploma
11:01
mrohit[m]
LaTex lab has been deprecated a few years back I guess. https://tex.stackexchange.com/a/199979
11:02
mrohit[m]
so you used docs for LaTex that time?
11:04
BAndiT1983
nope, local texcenter or similar, but gdocs allows to connect to Tex editor, if oyu click on new docs and connect apps at the bottom
11:04
BAndiT1983
i don't care which format you use, as long as it's PDF at the end with proper formatting
11:06
BAndiT1983
not a big fan of online editors, if the cloud is down, then the work can't be done, this was also an experience from my relative, who gave me right about it, after the company couldn't work for a day as the cloud was down
11:09
mrohit[m]
ya, cloud editors do have a downside on that. But they make it super convenient and gets work done quickly when needed for collaboration kind of work
11:12
mrohit[m]
> i don't care which format you use, as long as it's PDF at the end with proper formatting
11:12
mrohit[m]
okay, will pick up the convenient one and send the link for it
11:12
mrohit[m]
> ya, cloud editors do have a downside on that. But they make it super convenient and gets work done quickly when needed for collaboration kind of work
11:12
mrohit[m]
okay, will pick up the convenient one and send the link for it *
11:13
mrohit[m]
quoted the wrong message , hope you got it :)
11:19
BAndiT1983
yep
11:26
saurabh_raj
I think google gives only a few slots, so which tasks have higher priority of getting selected in software category?
11:27
BAndiT1983
depends on number of students and quality of challenge tasks
11:27
saurabh_raj
only one student per task?
11:27
BAndiT1983
yes
11:34
illwieckz
left the channel
11:39
futarisIRCcloud
left the channel
12:01
illwieckz
joined the channel
12:28
futarisIRCcloud
joined the channel
12:34
Spirit532
left the channel
12:49
dcz
left the channel
12:51
se6astian
changed nick to: se6astian|away
13:01
Spirit532
joined the channel
13:07
mrohit[m]
BAndiT1983: , is there a doc referring to the relation between adresses and corresponding registers where I can look for the addresses used in scripts like hdmi .func and cmv .func .
13:07
mrohit[m]
I looked in the datasheet, but I could only find addresses which were too small (for eg. 115 for gain). So am I reading the datasheet incorrrectly or is there something else that I am missing?
13:09
BAndiT1983
https://wiki.apertus.org/index.php/CMV12000_Register_Blocks
13:10
mrohit[m]
that helps, thanks!
13:43
se6astian|away
changed nick to: se6astian
14:09
Bertl_zZ
changed nick to: Bertl
14:09
Bertl
morning folks!
14:09
apurvanandan[m]
Good morning Bertl
14:13
apurvanandan[m]
Bertl, In 1080p HDMI module, we have a PTN3363 which can transmit video at 4k also, so why aren't we able to transmit 4k data by it. Why we need a separate 4k module with a fpga on it for this task?
14:29
se6astian
good day Bertl
14:29
Bertl
apurvanandan[m]: because the LVDS channels of the Zynq are limited to 1GHz (actually a little below that)
14:30
Bertl
it is barely enough for 1080p @ 60Hz
14:40
apurvanandan[m]
So to send 4K faster data transfer needs to be done on the same LVDS channels?
14:41
Bertl
it cannot be done on the same channels, it requires MGTs capable of 3GHz and more, that is where the additional FPGA comes in
14:41
Bertl
it works as gearwork to combine up to 12 LVDS channels from the Zynq into 4 TMDS channels used for HDMI 4K
14:57
apurvanandan[m]
So this implies it would require work on Zynq to send the video data thorught 12 LVDS
14:58
apurvanandan[m]
And this Artix fpga will convert that to 4 TMDS HDMI
14:58
Bertl
yep, the data is read from DDR memory (on the zynq) and then converted into data to transfer to the Artix
14:59
Bertl
the Artix combines the data and adds the necessary blanking, syncing, etc and outputs the high speed TMDS data over the MGTs
15:04
dcz
joined the channel
15:21
apurvanandan[m]
Bertl, I think I would be helpful if you add useful link about Gigabit tranceiver in T721
15:22
Bertl
okay
15:22
BAndiT1983
changed nick to: BAndiT1983|away
15:36
saurabh_raj
left the channel
15:49
futarisIRCcloud
left the channel
16:53
Dev_
joined the channel
16:53
Dev_
left the channel
18:02
mrohit[m]
Hey se6astian , I am not able to understand the function of pong. sh script, where is the chr_reg function coming from and what it does?
18:03
se6astian
what are you doing with pong?
18:04
mrohit[m]
just trying to understand it, to figure out how to move it to daemon
18:06
Bertl
just ignore it, the pong script uses special registers only available in the 'pong' firmware
18:06
mrohit[m]
okay
18:09
mrohit[m]
Oh...I searched for it ...Pong was an April fools joke by apertus :laughing
18:10
mrohit[m]
:) *
18:10
Bertl
yup
18:13
mrohit[m]
although the video seems serious, but it's hillarious when you know that it's a prank XD
18:25
apurvanandan[m]
Bertl, In USB plugin module, will link training be required on USB end
18:25
apurvanandan[m]
In the connected pc
18:26
Bertl
no, the FT60x takes care of all the USB related stuff, all you need to do on the PC side is to (de)frame the data correctly
18:26
Bertl
but the LVDS channels between Zynq and Artix will require training to achieve high throughput
18:28
apurvanandan[m]
In the Zynq like the HDMI plugin, we will need to use all 12 LVDS
18:28
apurvanandan[m]
then make a then serialize and send it to ft601q, am i right?
18:29
Bertl
*parse error*
18:29
Bertl
i.e. please rephrase
18:29
apurvanandan[m]
'then make a ' typed by mistake
18:30
apurvanandan[m]
then serialize and send it to ft601q, am I right?
18:30
apurvanandan[m]
In the raw RGGB format
18:31
Bertl
the USB 3.x module features the FT60x which takes care of the USB side but uses a medium speed parallel interface (32bit), so the FPGA (MachXO2) there has to receive high speed LVDS data from the Zynq and gear it down to the medium speed parallel data
18:32
Bertl
on the 4K HDMI module we receive similar high speed LVDS data from the Zynq but gear it up to the even higher HDMI 2.0 speeds for the CML MGTs
18:33
apurvanandan[m]
Ok, Also on the PC is there some software we gonna use or is that also the part of project?
18:33
Bertl
the Zynq <-> Artix/MachXO2 interface is similar (except for the used FPGA) but the data is likely to be different and also the number of link channels is different
18:34
Bertl
for the FT602, no special software is required as it shows up as UVC device
18:34
Bertl
for the FT601, we need to write our own software on the receiving side
18:36
Bertl
this isn't part of T885 at the moment, but could be added to increase the tasks complexity
18:36
apurvanandan[m]
Yeah I was scared a bit 😅
18:37
apurvanandan[m]
The usb modules currently feature FT601q, will that be changed then?
18:38
apurvanandan[m]
Also what will prove more useful to you, the uvc device or non-uvc?
18:38
Bertl
as they are pin compatible we can easily build both versions
18:39
Bertl
the main goal of the USB 3.x plugin is to transfer raw data, so the FT601 version is probably 'more' interesting, but the FT602 version might be nice to have because it doesn't require any special software on the receiver
18:41
apurvanandan[m]
The code on MachOX2 won't be affected by changing the ftdi, no?
18:42
danieel
Bertl: the FT602 has inband sync (framing) or dedicated pins (above the 32) ?
18:44
apurvanandan[m]
If that is true , then we can have both types
18:47
Bertl
danieel: the FT602 interface is very similar to the FT601
18:47
Bertl
https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT602Q%20IC%20Datasheet.pdf
18:47
Bertl
https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT600Q-FT601Q%20IC%20Datasheet.pdf
18:48
Bertl
I haven't investigated the details on the UVC side (and sync) yet
18:50
danieel
the 602 datasheet does not say so, but it has no visible out of band sync pins
18:50
danieel
this AN has some code references: https://www.ftdichip.com/Support/Documents/AppNotes/AN_434_FT602_UVC_Bus_Master_Sample.pdf
18:54
danieel
it seems to employ some fsm/packetization, because it also muxes between 4 concurrent streams
19:21
zud
joined the channel
19:44
shivamgoyal
joined the channel
19:48
zud
left the channel
20:29
intrac
left the channel
20:40
shivamgoyal
left the channel
20:49
intrac
joined the channel
21:48
dcz
left the channel
22:24
se6astian
off to bed
22:24
se6astian
good night
22:24
se6astian
changed nick to: se6astian|away
22:24
Bertl
nn
22:40
niemand
left the channel
00:24
futarisIRCcloud
joined the channel