Current Server Time: 18:14 (Central Europe)

#apertus IRC Channel Logs

2019/07/11

Timezone: UTC


00:07
Spirit532
left the channel
00:07
Spirit532
joined the channel
01:11
illwieckz
joined the channel
01:24
illwieckz
left the channel
01:25
illwieckz
joined the channel
01:25
illwieckz
left the channel
01:26
illwieckz
joined the channel
01:26
illwieckz
left the channel
01:26
illwieckz
joined the channel
01: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
01:29
apurvanandan[m]
Sorry wrong link
01:29
apurvanandan[m]
Here is the correct one: https://drive.google.com/open?id=1sJhZLbG2oL8x0Fnl7T6myhYRS0fxcyIN
01:30
apurvanandan[m]
And https://drive.google.com/open?id=13Nm98KCBIYZPXKWEQmxrlrY60WjrHYtG
01:30
apurvanandan[m]
Please see and give suggestion!
02:28
Bertl_oO
excellent! will check tomorrow ... off to bed now.
02:28
Bertl_oO
changed nick to: Bertl_zZ
04:56
apurvanandan[m]
Bertl_oO: Can we use the single IOs for signalling the Zynq from the MachXO2 that the link has been trained?
05:48
BAndiT1983|away
changed nick to: BAndiT1983
05:48
BAndiT1983
changed nick to: BAndiT1983|away
06:49
se6astian|away
changed nick to: se6astian
07:28
sebix
joined the channel
07:38
sebix
left the channel
10:11
hannes73
joined the channel
10: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
10: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
10: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
11:12
se6astian
changed nick to: se6astian|away
11:42
se6astian|away
changed nick to: se6astian
11:47
se6astian
changed nick to: se6astian|away
12:59
Bertl_zZ
changed nick to: Bertl
12:59
Bertl
morning folks!
13:28
hannes73
left the channel
13:50
Bertl
off for now ... bbl
13:50
Bertl
changed nick to: Bertl_oO
15:26
BAndiT1983|away
changed nick to: BAndiT1983
15:50
dev__
joined the channel
15:57
dev__
Greeting BAndiT1983 ,
15:57
BAndiT1983
hi dev__
15:58
dev__
supragya_, will also join , may be
15: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.
15: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).
15:58
dev__
This will solve problem of memory waste.
15: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.
15:59
BAndiT1983
which infos should video clip class cotntain?
16:00
dev__
info's related to processing methods to be used on frames
16:00
BAndiT1983
who fills allocated space with data?
16:00
BAndiT1983
does video clip really need it?
16:00
dev__
Frames ..
16:00
BAndiT1983
isn't the whole process a pipeline?
16:01
BAndiT1983
frames are only a container for markers to allocated buckets, which are indexes (integers)
16:01
dev__
It will be used for intraction between OCcore and frameserver
16:01
BAndiT1983
what will be used?
16:01
dev__
video clip class
16:02
BAndiT1983
video clip class is only the container for frames and general info like resolution
16: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
16:02
BAndiT1983
?
16:04
BAndiT1983
what is the process, when user changes downscaling or any other parameter from frame server UI?
16:04
BAndiT1983
how it would trigger the right component to process changes?
16:05
sraj
joined the channel
16:05
dev__
process here refers to downscaling or debayering algo
16:05
dev__
Good evening sraj
16:05
sraj
Hello everyone.. I'm living in a desert quite literally... :)
16:05
BAndiT1983
it doesn't matter which one, as they derive from same class
16:05
BAndiT1983
have you moved to Gobi?
16:06
sraj
Gobi? Where's that? Anyways... Meeting meeting
16:06
BAndiT1983
Gobi Desert
16:06
BAndiT1983
https://en.wikipedia.org/wiki/Gobi_Desert
16:06
sraj
That desert it is .. here
16:06
sraj
India - Pakistan border
16:06
BAndiT1983
ah, i see
16:07
BAndiT1983
there are several there, according to wiki
16:07
BAndiT1983
hope it's not a punishment by Cisco for bad code ;)
16:07
sraj
My dad's posted here
16:07
BAndiT1983
nevertheless, let's continue the journey through the debris of OC
16:07
BAndiT1983
ah, i remember, military
16:08
BAndiT1983
dev__, please go on with your explanations
16:08
sraj
Hmm... What I was trying to tell Dev was just that
16:09
sraj
Pipeline it will be... Frameserver a whole component in itself
16:09
sraj
Continue, dev
16:09
dev__
yes.
16:09
BAndiT1983
let me through in another term: event bus ;)
16:09
BAndiT1983
will try to build OC in parallel here
16:11
sraj
It's better if you explain your whole thought on this matter Andrej
16: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
16:11
BAndiT1983
ok, ok, thought that the code would be known already
16:11
sraj
Dev could fill in the blanks later maybe... We need to proceed I guess
16: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
16:12
BAndiT1983
but does video clip class really require this settings, like quality?
16:13
sraj
It needs it during memalloc and then we need to freeze the settings in Oc
16:13
BAndiT1983
we can also hold the in pipeline settings
16:13
dev__
it will help us to allocate memory
16:13
BAndiT1983
which could be created in flexible way
16:13
dev__
required memory*
16:13
sraj
Okay
16:14
BAndiT1983
video clip could contain resolution and frame list, frames contain integers which are indexes to buckets in static allocator
16: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
16:14
BAndiT1983
i mean the indexes to buckets set, e.g. RGB
16:15
sraj
Hmm.. so event bus... Sounds like event loop in js
16:16
BAndiT1983
https://dzone.com/articles/design-patterns-event-bus
16:16
BAndiT1983
https://medium.com/elixirlabs/event-bus-implementation-s-d2854a9fafd5
16:16
sraj
Dev, please save these links for reference
16:17
dev__
yes
16:17
BAndiT1983
logs are also there
16:17
BAndiT1983
e.g. OCBackup uses event bus to trigger progress dialog window
16: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
16:19
BAndiT1983
but the first problem is still there, what is the order to allocate only the required memory
16:19
sraj
In easy way think of it like a event triggering functions where callbacks are registered
16: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
16:20
sraj
*event triggered function
16:20
se6astian|away
changed nick to: se6astian
16:20
BAndiT1983
nice examples in the docs there -> https://github.com/gelldur/EventBus
16:21
sraj
Hi se6astian
16:21
dev__
Hello se6astian
16:22
sraj
BAndiT... So... Event bus is stable as of now?
16:22
sraj
Or one has to look into testing that as well
16:23
BAndiT1983
it's been a while since then, so can'T say much
16:23
BAndiT1983
but we need it, as otherwise it would result in some spaghetti code
16:23
sraj
Yup
16:24
BAndiT1983
my qquestion is still not answered, how do we allocate buckets of required frame size and not more?
16:25
dev__
If we know the quality parameter , THe InitAllocator can allocate the memory
16:25
dev__
https://github.com/kakashi-Of-Saringan/opencine/blob/dev/Source/OCcore/Memory/StaticAllocator.cpp
16:26
dev__
I am trying to keep a upper limit , here 15 mB
16:26
BAndiT1983
what is the quality parameter?
16:26
dev__
We are allocating memory in multiple of framesize and not more than that
16:27
Y_G
joined the channel
16:27
dev__
how much downscaling we need, 1/2 ,1/3 , 1/4 ..
16:27
sraj
There's 1/1 as well :P
16:27
dev__
yes
16:27
BAndiT1983
but that's not our result, what does it result in, when we set the parameter for downscaler?
16:28
BAndiT1983
also there are other parameters which could be used later, but this just as food for reflection on the topic
16: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
16:30
dev__
which will be less than 15 MB
16:30
sraj
15MB maybe too less... Just saying #hyperparametertuning
16:30
dev__
yes, may be , but we can change it
16:31
BAndiT1983
i don't care about memory sizes at the moment
16:31
BAndiT1983
it's important to understand the relations of parameters and so on
16: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
16: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
16:34
dev__
so we want downscaler to tell the allocator about this parameters , yes
16:34
dev__
?
16:34
sraj
Dev
16:34
sraj
Bandit is asking for who knows what on the pipeline
16:34
BAndiT1983
we have loader -> processor -> allocator and so on
16:34
sraj
Who calls whom, which order and what is exposed to whom.... The architecture in simple terms
16: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
16:35
sraj
The end point should know what framesizes it is dealing with... It really doesn't care whats happening beind in the pipeline
16: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
16:37
BAndiT1983
and it also has only to happen for first frame, this is a hint ;)
16: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...
16:37
sraj
Should it know, should it not?
16:37
sraj
And yes, it happens just the first frame
16: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
16:38
sraj
Well here goes the answer
16:38
sraj
:)
16:39
sraj
Two options are there
16:40
Y_G
left the channel
16:40
sraj
Either alloc something and manage pointers (bad way)
16:40
sraj
Or manage well sized data structures so calling etc is easy
16:41
sraj
Both had pros and cons
16:41
sraj
*has
16:41
Y_G
joined the channel
16:41
sraj
Dev?
16:41
dev__
Yes, I am here
16: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)
16:42
dev__
what should this data structure contain
16:43
sraj
I would say... Manage mappings
16: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
16:43
BAndiT1983
so you need 1 chunk plus the vector of buckets with offsets
16:44
sraj
#mappings
16:44
BAndiT1983
vector<uint32_t> or whatever data type is sufficient
16:44
BAndiT1983
in our case, if we consider uin16_t data, we need 3 buckets per frame
16:44
sraj
Dev, would you like to add anything to the solution?
16:45
BAndiT1983
but we can also use the allocator for uin8_t, which doesn't matter much
16:45
sraj
As long as we have memory
16:46
Y_G
left the channel
16: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
16:46
sraj
512MB is fine
16: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
16:46
sraj
Especially for the file sizes we deal with
16:47
sraj
Later, static allocator can be extended to include multiallocs and pages
16:47
sraj
But that's extension for later date
16:47
BAndiT1983
exactly
16:47
BAndiT1983
dev__, are you there?
16:48
dev__
yes
16:48
BAndiT1983
any comments?
16:49
dev__
Yes, I will let you know if I have doubts , trying to understand this
16:50
BAndiT1983
i thought that we discussed it before and also your gdocs contains similar graphics
16: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
16: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
16:52
BAndiT1983
that's what i expect to see
16:52
sraj
Bertl : ping... There's gotkraken being used :P
16:52
sraj
Gotkraken*
16:52
dev__
So are u helding out videoclip class
16:52
dev__
right now
16:52
BAndiT1983
:D
16:53
sraj
Git*
16:53
BAndiT1983
dev__, what do you mean?
16:54
dev__
nothing . leave it. I will ask if i had doubts
16:54
BAndiT1983
do it as soon as possible please, as i want to get more progress this month
16:54
dev__
Yes, BAndiT1983
16:54
BAndiT1983
trello is the fastest way, as i can see it on my smartphone at work
16:55
dev__
okay , understood
16:57
dev__
update u soon .
16:59
dev__
left the channel
16:59
dev__
joined the channel
17:00
dev__
good night sraj and BAndiT1983
17:00
dev__
left the channel
17:11
sraj
left the channel
17:15
Y_G
joined the channel
17:21
RexOrCine|away
changed nick to: RexOrCine
17:33
illwieckz
left the channel
18:03
BAndiT1983
hi Y_G, have you found the option?
18:11
Y_G
DGRAM and STREAM don't seem to work rn.
18:12
Y_G
Still checking if there is something wrong with what I have done .
18:18
BAndiT1983
STREAM should work, but maybe you need to adjust both sides
18: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
18:19
BAndiT1983
e.g. check if data is incoming and read as long as the packet is not received fully
18:20
BAndiT1983
https://developer.ibm.com/tutorials/l-sockpit/
18: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
18:21
BAndiT1983
or you can prove me wrong and create stable stream connection, which allows to get and set data like it's now
18:22
BAndiT1983
here are also some infos on both -> http://www.linuxhowtos.org/C_C++/socket.htm
18:23
BAndiT1983
https://stackoverflow.com/questions/21856517/whats-the-practical-limit-on-the-size-of-single-packet-transmitted-over-domain
18:35
Y_G
Had a look through all of these, but first the question remains that do we need this in first place .
18:35
Y_G
The default limit on beta is 163840 bytes.
18: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.
18:38
illwieckz
joined the channel
18:44
Nira|away
changed nick to: Nira
18:52
BAndiT1983
depends on how much data could be required to be sent
18:53
BAndiT1983
you can of course raise the size up, but please ensure that it's not slowing down
18:58
Y_G
This was the default size , I didn't raise it up.As of now I don't think this is required
18:58
Y_G
I will clean the code and push it ,maybe you can check if it works according to the requirement
20:44
BAndiT1983
changed nick to: BAndiT1983|away
21:01
Nira
changed nick to: Nira|away
22:08
se6astian
I am off to bed, good night
22:08
se6astian
changed nick to: se6astian|away
22:14
Bertl_oO
nn
23:25
RexOrCine
changed nick to: RexOrCine|away
23:34
illwieckz
left the channel