Current Server Time: 18:34 (Central Europe)

#apertus IRC Channel Logs

2019/04/06

Timezone: UTC


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