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 |