Current Server Time: 23:42 (Central Europe)

#apertus IRC Channel Logs

2019/07/11

Timezone: UTC


01:07
Spirit532
left the channel
01:07
Spirit532
joined the channel
02:11
illwieckz
joined the channel
02:24
illwieckz
left the channel
02:25
illwieckz
joined the channel
02:25
illwieckz
left the channel
02:26
illwieckz
joined the channel
02:26
illwieckz
left the channel
02:26
illwieckz
joined the channel
02:29
apurvanandan[m]
Hi Bertl, Everything is now working perfectly on post place and route simulation too. Here are the simulation results: https://drive.google.com/open?id=1CGQdv3RswoLHQ1q9w4HtaWdbKB55Ali9
02:29
apurvanandan[m]
Sorry wrong link
02:29
apurvanandan[m]
Here is the correct one: https://drive.google.com/open?id=1sJhZLbG2oL8x0Fnl7T6myhYRS0fxcyIN
02:30
apurvanandan[m]
And https://drive.google.com/open?id=13Nm98KCBIYZPXKWEQmxrlrY60WjrHYtG
02:30
apurvanandan[m]
Please see and give suggestion!
03:28
Bertl_oO
excellent! will check tomorrow ... off to bed now.
03:28
Bertl_oO
changed nick to: Bertl_zZ
05:56
apurvanandan[m]
Bertl_oO: Can we use the single IOs for signalling the Zynq from the MachXO2 that the link has been trained?
06:48
BAndiT1983|away
changed nick to: BAndiT1983
06:48
BAndiT1983
changed nick to: BAndiT1983|away
07:49
se6astian|away
changed nick to: se6astian
08:28
sebix
joined the channel
08:38
sebix
left the channel
11:11
hannes73
joined the channel
11:18
hannes73
Hallo zusammen, danke Sebastian für die Einladung. Kurz zu mir: Wir, ein Startup aus Hinterglemm, tauschen uns seit ca. 2 Jahren mit Sebastian und Herbert zu Kameratechnologien aus. Weil unser erstes Entwicklungsziel sind, vollautomatische Kamerastrecken für die Übertragung von professionellen Sportevents. Wir haben schon Förderungen bekommen und a
11:18
hannes73
rbeiten unter anderem mit dem OFAI in Wien zusammen. Jetzt suchen wir "Co-player", die Lust haben, mit uns zusammen, die Software, Holly (die KI) und auch die Machine Vision-Skills zu entwickeln. Dafür haben wir unsere ganz eigene Stellenausschreibung verfasst. Die findet ihr hier: https://www.playsys.at/join_us/. Würde mich freuen, wenn es die ein
11:18
hannes73
e oder den anderen anspricht, bzw. jemand jemanden kennt oder teilen kann. Bei Fragen auch gerne jederzeit an mich wenden: *email address removed*, 0660 498 18 00. Vielen Dank und lieben Gruß. Danke auch an Sebastian für die Möglichkeit hier zu posten. Hannes
12:12
se6astian
changed nick to: se6astian|away
12:42
se6astian|away
changed nick to: se6astian
12:47
se6astian
changed nick to: se6astian|away
13:59
Bertl_zZ
changed nick to: Bertl
13:59
Bertl
morning folks!
14:28
hannes73
left the channel
14:50
Bertl
off for now ... bbl
14:50
Bertl
changed nick to: Bertl_oO
16:26
BAndiT1983|away
changed nick to: BAndiT1983
16:50
dev__
joined the channel
16:57
dev__
Greeting BAndiT1983 ,
16:57
BAndiT1983
hi dev__
16:58
dev__
supragya_, will also join , may be
16:58
dev__
This is my understanding of task: - Currently we are supplying info's related to processing of frames(downscaling(1/2, 1/3, 1/4 etc) and debayering algo ), space allocation, now we need to make a sparate module which can contain all these info (which are common for all frames) in a class called videoclip class.
16:58
dev__
This videoclip class would contain parameters like debayering algo to be used, quality used for downscaling(if required) also methods for changing them, either by user or other modules(otherwise they may contain default values). once we have knowledge of processes(like downscale by 1/3) to be used on frames, we can easily allocate memory according to that( use InitAllocator() which can easily allocate size in mutliple of framesize).
16:58
dev__
This will solve problem of memory waste.
16:58
dev__
The class should have method which can be used to read bulk of files (each acting as frames) from a directory. I was thinking to use a large memory block agian and agian for each file and then processsing it. Or may be anything better we can come up.
16:59
BAndiT1983
which infos should video clip class cotntain?
17:00
dev__
info's related to processing methods to be used on frames
17:00
BAndiT1983
who fills allocated space with data?
17:00
BAndiT1983
does video clip really need it?
17:00
dev__
Frames ..
17:00
BAndiT1983
isn't the whole process a pipeline?
17:01
BAndiT1983
frames are only a container for markers to allocated buckets, which are indexes (integers)
17:01
dev__
It will be used for intraction between OCcore and frameserver
17:01
BAndiT1983
what will be used?
17:01
dev__
video clip class
17:02
BAndiT1983
video clip class is only the container for frames and general info like resolution
17:02
BAndiT1983
as i said, we have a pipeline, so why should the infos be placed in video clip class, which do not relate to it
17:02
BAndiT1983
?
17:04
BAndiT1983
what is the process, when user changes downscaling or any other parameter from frame server UI?
17:04
BAndiT1983
how it would trigger the right component to process changes?
17:05
sraj
joined the channel
17:05
dev__
process here refers to downscaling or debayering algo
17:05
dev__
Good evening sraj
17:05
sraj
Hello everyone.. I'm living in a desert quite literally... :)
17:05
BAndiT1983
it doesn't matter which one, as they derive from same class
17:05
BAndiT1983
have you moved to Gobi?
17:06
sraj
Gobi? Where's that? Anyways... Meeting meeting
17:06
BAndiT1983
Gobi Desert
17:06
BAndiT1983
https://en.wikipedia.org/wiki/Gobi_Desert
17:06
sraj
That desert it is .. here
17:06
sraj
India - Pakistan border
17:06
BAndiT1983
ah, i see
17:07
BAndiT1983
there are several there, according to wiki
17:07
BAndiT1983
hope it's not a punishment by Cisco for bad code ;)
17:07
sraj
My dad's posted here
17:07
BAndiT1983
nevertheless, let's continue the journey through the debris of OC
17:07
BAndiT1983
ah, i remember, military
17:08
BAndiT1983
dev__, please go on with your explanations
17:08
sraj
Hmm... What I was trying to tell Dev was just that
17:09
sraj
Pipeline it will be... Frameserver a whole component in itself
17:09
sraj
Continue, dev
17:09
dev__
yes.
17:09
BAndiT1983
let me through in another term: event bus ;)
17:09
BAndiT1983
will try to build OC in parallel here
17:11
sraj
It's better if you explain your whole thought on this matter Andrej
17:11
dev__
why should the infos be placed in video clip class, which do not relate to it :- we need something which can set and change these info's that why it is placed in video clip class
17:11
BAndiT1983
ok, ok, thought that the code would be known already
17:11
sraj
Dev could fill in the blanks later maybe... We need to proceed I guess
17:12
BAndiT1983
i've implemented event bus a long time ago, to be able to aps messages between different modules, you can inspect OCBacckup code for direct examples
17:12
BAndiT1983
but does video clip class really require this settings, like quality?
17:13
sraj
It needs it during memalloc and then we need to freeze the settings in Oc
17:13
BAndiT1983
we can also hold the in pipeline settings
17:13
dev__
it will help us to allocate memory
17:13
BAndiT1983
which could be created in flexible way
17:13
dev__
required memory*
17:13
sraj
Okay
17:14
BAndiT1983
video clip could contain resolution and frame list, frames contain integers which are indexes to buckets in static allocator
17:14
BAndiT1983
of some index is -1 or whatever, then the frame is not there and has to be loaded, afterwards set in the frame
17:14
BAndiT1983
i mean the indexes to buckets set, e.g. RGB
17:15
sraj
Hmm.. so event bus... Sounds like event loop in js
17:16
BAndiT1983
https://dzone.com/articles/design-patterns-event-bus
17:16
BAndiT1983
https://medium.com/elixirlabs/event-bus-implementation-s-d2854a9fafd5
17:16
sraj
Dev, please save these links for reference
17:17
dev__
yes
17:17
BAndiT1983
logs are also there
17:17
BAndiT1983
e.g. OCBackup uses event bus to trigger progress dialog window
17:18
BAndiT1983
this allows to avoid to call it from presenter and also it could be used to trigger multiple things in the system, sadly i don't remember it that well at the moment
17:19
BAndiT1983
but the first problem is still there, what is the order to allocate only the required memory
17:19
sraj
In easy way think of it like a event triggering functions where callbacks are registered
17:19
BAndiT1983
will inspect the code and hope that the allocator does not allocate memory over and over and only ditches allocation map of buckets
17:20
sraj
*event triggered function
17:20
se6astian|away
changed nick to: se6astian
17:20
BAndiT1983
nice examples in the docs there -> https://github.com/gelldur/EventBus
17:21
sraj
Hi se6astian
17:21
dev__
Hello se6astian
17:22
sraj
BAndiT... So... Event bus is stable as of now?
17:22
sraj
Or one has to look into testing that as well
17:23
BAndiT1983
it's been a while since then, so can'T say much
17:23
BAndiT1983
but we need it, as otherwise it would result in some spaghetti code
17:23
sraj
Yup
17:24
BAndiT1983
my qquestion is still not answered, how do we allocate buckets of required frame size and not more?
17:25
dev__
If we know the quality parameter , THe InitAllocator can allocate the memory
17:25
dev__
https://github.com/kakashi-Of-Saringan/opencine/blob/dev/Source/OCcore/Memory/StaticAllocator.cpp
17:26
dev__
I am trying to keep a upper limit , here 15 mB
17:26
BAndiT1983
what is the quality parameter?
17:26
dev__
We are allocating memory in multiple of framesize and not more than that
17:27
Y_G
joined the channel
17:27
dev__
how much downscaling we need, 1/2 ,1/3 , 1/4 ..
17:27
sraj
There's 1/1 as well :P
17:27
dev__
yes
17:27
BAndiT1983
but that's not our result, what does it result in, when we set the parameter for downscaler?
17:28
BAndiT1983
also there are other parameters which could be used later, but this just as food for reflection on the topic
17:29
dev__
like , if I set 1/2 as a parameter , we only need h/2 * w/2 as framesize . The buffer of static allocator will be allocate size in mulyiple of k * framesize
17:30
dev__
which will be less than 15 MB
17:30
sraj
15MB maybe too less... Just saying #hyperparametertuning
17:30
dev__
yes, may be , but we can change it
17:31
BAndiT1983
i don't care about memory sizes at the moment
17:31
BAndiT1983
it's important to understand the relations of parameters and so on
17:32
BAndiT1983
if we set 1/2, 1/3 etc., then our frame size shrinks in terms of width and height (let's leave bits per channel out for now), which is important to us, as we have to tell allocator to calculate bucket offsets according to this sizes
17:33
BAndiT1983
the problem is the order for the calls, so we can let the downscaler tell us, that it only requires smaller part of memory, than the original full frame with all the pixels
17:34
dev__
so we want downscaler to tell the allocator about this parameters , yes
17:34
dev__
?
17:34
sraj
Dev
17:34
sraj
Bandit is asking for who knows what on the pipeline
17:34
BAndiT1983
we have loader -> processor -> allocator and so on
17:34
sraj
Who calls whom, which order and what is exposed to whom.... The architecture in simple terms
17:35
BAndiT1983
as we know that loader is loading, then allocator has to allocate and frame processor to process, but we also know that frame processor could reduce the data amount, by using only every second pixel
17:35
sraj
The end point should know what framesizes it is dealing with... It really doesn't care whats happening beind in the pipeline
17:36
BAndiT1983
task is to implement proper point, so the allocator can tell that sizes are different, no events or other voodoo, as we are on the same layer for now
17:37
BAndiT1983
and it also has only to happen for first frame, this is a hint ;)
17:37
sraj
While downscaler can downscale 200*200 to 100*100 or let 100*100 remain 100*100 what matters is whether the final frameserver endpoint knows about the downscaler param...
17:37
sraj
Should it know, should it not?
17:37
sraj
And yes, it happens just the first frame
17:37
BAndiT1983
frame server will only know about video frame size and maybe pipeline parameters, everytihng else has to happen between loader and allocator, for now it can be quick and dirty, but not totally tight
17:38
sraj
Well here goes the answer
17:38
sraj
:)
17:39
sraj
Two options are there
17:40
Y_G
left the channel
17:40
sraj
Either alloc something and manage pointers (bad way)
17:40
sraj
Or manage well sized data structures so calling etc is easy
17:41
sraj
Both had pros and cons
17:41
sraj
*has
17:41
Y_G
joined the channel
17:41
sraj
Dev?
17:41
dev__
Yes, I am here
17:42
BAndiT1983
pointers are not bad, but if we don't need them, then allocator can manage this stuff, also it's only one time allocation (not considering multiple pages here)
17:42
dev__
what should this data structure contain
17:43
sraj
I would say... Manage mappings
17:43
BAndiT1983
so it's fine to allocate 1 chunk, like 512MB or so, then dissect it into buckets, depending on loaded frame size, if video changes just calculate new buckets, nothing difficult there at basic level
17:43
BAndiT1983
so you need 1 chunk plus the vector of buckets with offsets
17:44
sraj
#mappings
17:44
BAndiT1983
vector<uint32_t> or whatever data type is sufficient
17:44
BAndiT1983
in our case, if we consider uin16_t data, we need 3 buckets per frame
17:44
sraj
Dev, would you like to add anything to the solution?
17:45
BAndiT1983
but we can also use the allocator for uin8_t, which doesn't matter much
17:45
sraj
As long as we have memory
17:46
Y_G
left the channel
17:46
BAndiT1983
512MB are fine to start with, maybe smaller maybe bigger, wouldn't force too much as i don't remember the limits of OSes
17:46
sraj
512MB is fine
17:46
BAndiT1983
it's also fine to start with 128MB, but for full frames it would be too small, as usually 4K full frames of CMV were around 70MB
17:46
sraj
Especially for the file sizes we deal with
17:47
sraj
Later, static allocator can be extended to include multiallocs and pages
17:47
sraj
But that's extension for later date
17:47
BAndiT1983
exactly
17:47
BAndiT1983
dev__, are you there?
17:48
dev__
yes
17:48
BAndiT1983
any comments?
17:49
dev__
Yes, I will let you know if I have doubts , trying to understand this
17:50
BAndiT1983
i thought that we discussed it before and also your gdocs contains similar graphics
17:51
BAndiT1983
gitkraken is not working for me at the moment, but as soon as i get it up and running i will checkout your code to do a review
17:51
dev__
so it's fine to allocate 1 chunk, like 512MB or so, then dissect it into buckets, depending on loaded frame size, if video changes just calculate new buckets : All this is implemented in statica allocators
17:52
BAndiT1983
that's what i expect to see
17:52
sraj
Bertl : ping... There's gotkraken being used :P
17:52
sraj
Gotkraken*
17:52
dev__
So are u helding out videoclip class
17:52
dev__
right now
17:52
BAndiT1983
:D
17:53
sraj
Git*
17:53
BAndiT1983
dev__, what do you mean?
17:54
dev__
nothing . leave it. I will ask if i had doubts
17:54
BAndiT1983
do it as soon as possible please, as i want to get more progress this month
17:54
dev__
Yes, BAndiT1983
17:54
BAndiT1983
trello is the fastest way, as i can see it on my smartphone at work
17:55
dev__
okay , understood
17:57
dev__
update u soon .
17:59
dev__
left the channel
17:59
dev__
joined the channel
18:00
dev__
good night sraj and BAndiT1983
18:00
dev__
left the channel
18:11
sraj
left the channel
18:15
Y_G
joined the channel
18:21
RexOrCine|away
changed nick to: RexOrCine
18:33
illwieckz
left the channel
19:03
BAndiT1983
hi Y_G, have you found the option?
19:11
Y_G
DGRAM and STREAM don't seem to work rn.
19:12
Y_G
Still checking if there is something wrong with what I have done .
19:18
BAndiT1983
STREAM should work, but maybe you need to adjust both sides
19:18
BAndiT1983
DGRAM is meant for complete packages, but if you want to "upload" data blobs, then you require stream and a bit different handling
19:19
BAndiT1983
e.g. check if data is incoming and read as long as the packet is not received fully
19:20
BAndiT1983
https://developer.ibm.com/tutorials/l-sockpit/
19:21
BAndiT1983
maybe you can check if it is possible to open 2 sockets, one for dgram another for stream, as small packets are better suited for dgram
19:21
BAndiT1983
or you can prove me wrong and create stable stream connection, which allows to get and set data like it's now
19:22
BAndiT1983
here are also some infos on both -> http://www.linuxhowtos.org/C_C++/socket.htm
19:23
BAndiT1983
https://stackoverflow.com/questions/21856517/whats-the-practical-limit-on-the-size-of-single-packet-transmitted-over-domain
19:35
Y_G
Had a look through all of these, but first the question remains that do we need this in first place .
19:35
Y_G
The default limit on beta is 163840 bytes.
19:36
Y_G
If we were to send 4096*4 float values for lut_conf ,this can be easily sent over as a single packet.
19:38
illwieckz
joined the channel
19:44
Nira|away
changed nick to: Nira
19:52
BAndiT1983
depends on how much data could be required to be sent
19:53
BAndiT1983
you can of course raise the size up, but please ensure that it's not slowing down
19:58
Y_G
This was the default size , I didn't raise it up.As of now I don't think this is required
19:58
Y_G
I will clean the code and push it ,maybe you can check if it works according to the requirement
21:44
BAndiT1983
changed nick to: BAndiT1983|away
22:01
Nira
changed nick to: Nira|away
23:08
se6astian
I am off to bed, good night
23:08
se6astian
changed nick to: se6astian|away
23:14
Bertl_oO
nn
00:25
RexOrCine
changed nick to: RexOrCine|away
00:34
illwieckz
left the channel