Current Server Time: 23:11 (Central Europe)

#apertus IRC Channel Logs

2019/03/18

Timezone: UTC


01:51
illwieckz_
changed nick to: illwieckz
03:31
Spirit532
left the channel
03:33
Spirit532
joined the channel
03:46
aombk2
left the channel
04:04
Bertl
off to bed now ... have a good one everyone!
04:04
Bertl
changed nick to: Bertl_zZ
05:02
aSobhy
left the channel
06:43
BAndiT1983|away
changed nick to: BAndiT1983
07:19
mrohit[m]
Hello, I am working on my proposal parallel to playing around and getting to know the system.
07:19
mrohit[m]
So do you have a specific format of the proposal?
07:19
mrohit[m]
And what points do you expect to be covered in the proposal
07:35
BAndiT1983
changed nick to: BAndiT1983|away
07:42
se6astian|away
changed nick to: se6astian
07:43
se6astian
mrohit[m]: check our gsoc profile page
08:23
mrohit[m]
Thanks, and sorry, that was poor research on my part I guess. I'll start working on it accordingly
09:26
illwieckz_
joined the channel
09:27
illwieckz
left the channel
10:24
se6astian
changed nick to: se6astian|away
10:54
Spirit532
left the channel
10:54
Spirit532
joined the channel
10:55
se6astian|away
changed nick to: se6astian
11:23
aSobhy
joined the channel
12:42
parimal
joined the channel
13:22
RexOrCine|away
changed nick to: RexOrCine
13:54
Bertl_zZ
changed nick to: Bertl
13:54
Bertl
morning folks!
13:58
se6astian
good day
13:59
apurvanandan[m]
good morning
14:10
Bertl
hey apurvanandan[m]! what clock speeds did you test your serdes setup with ISE?
14:13
apurvanandan[m]
I set the clock period to 1 ns which means 1 GHz
14:14
Bertl
and ISE implemented that just fine for what FPGA?
14:14
apurvanandan[m]
but this was in simulation
14:14
apurvanandan[m]
Spartan 3E
14:14
Bertl
I presume RTL simulation, yes?
14:19
apurvanandan[m]
It was behavioural simulation
14:20
Bertl
yes, that's what I meant, so try with gate level simulation (post implementation simulation) instead and see what data rates you can achieve in e.g. Spartan
14:23
Bertl
note: the design is somewhat naive but fine except for a few minor details ... the main purpose of the challenge task is to get an idea what is required to deserialize data at 600MHz :)
14:25
danieeeel
changed nick to: danieel
15:19
apurvanandan[m]
For Spartan 3E its reaching 50 MHz , for Virtex 6 its reaching 555MHz.
15:20
apurvanandan[m]
in post-route simulation
15:20
Bertl
so there is some room for optimization :)
15:21
Bertl
what is the most critical path?
15:22
danieel
3e has lessinput luts afaik.. so combinatorial logic issues.. pipelining might help here
15:31
apurvanandan[m]
I am trying to find the bottle neck.
15:44
mrohit[m]
sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/RqCvlQTaSKgTAntzeMqUqtbu >
15:47
Bertl
looks like your newly created system cannot resolve properly
15:50
mrohit[m]
So what should I try?
15:51
Bertl
vup2 or anuejn might have some ideas ...
15:53
mrohit[m]
Okay, I will wait for them to join the room
15:53
mrohit[m]
Thanks, Bertl
16:04
parimal
left the channel
16:19
aombk
joined the channel
16:26
kingsocarso
joined the channel
16:34
BAndiT1983|away
changed nick to: BAndiT1983
16:59
anuejn
seems like there are some networking issues either on your side or on the side of the arch linux arm folks
16:59
anuejn
i would just retry :)
16:59
se6astian
changed nick to: se6astian|away
17:00
anuejn
arch linux arm has some fuckups sometimes... not too stable
17:01
mrohit[m]
I tried it twice @anuejn. I'll try it once again tonight
17:01
anuejn
hm...
17:02
anuejn
can you try to open a build shell and curl mirror.archlinuxarm.org
17:03
Bertl
how is /etc/resolv.conf set up during the build?
17:04
Bertl
(might just be an unreachable nameserver :)
17:05
anuejn
it is manually set to some open dns server
17:06
Bertl
mrohit[m]: so maybe check that this nameserver is actually reachable at your location
17:06
anuejn
https://github.com/apertus-open-source-cinema/axiom-beta-firmware/blob/master/makefiles/host/run_in_chroot.sh#L25
17:06
anuejn
185.121.177.177
17:07
anuejn
this is the used nameserver
17:07
Bertl
you can try with e.g. dig mirror.archlinuxarm.org @185.121.177.177
17:08
Bertl
(seems to be quite slow here, maybe replace it with 8.8.8.8 or so?)
17:14
BAndiT1983
changed nick to: BAndiT1983|away
17:23
apurvanandan[m]
Please verify that except the clock speed all the IOs are as desired.
17:23
apurvanandan[m]
https://imagebin.ca/v/4adR8tVXzPaG
17:23
apurvanandan[m]
Simulation screenshot
17:24
apurvanandan[m]
https://ibin.co/4adR8tVXzPaG.png
17:27
mrohit[m]
Yes Bertl , I guess the nameserver is the problem here, the dig command returned time out
17:27
Bertl
does 8.8.8.8 (google nameserver) work for you?
17:28
mrohit[m]
Yes it does
17:28
Bertl
then maybe just replace it with that and you should be fine
17:29
mrohit[m]
Ya, I am rebuilding it now with the change
17:29
niemand
joined the channel
17:29
niemand
left the channel
17:29
niemand
joined the channel
17:31
Bertl
apurvanandan[m]: well, from the short trace it looks like the output differs from the input, no?
17:37
apurvanandan[m]
Its in the 8 bit mode so MSB of input is taken in the LSB of output .Rest of LSBs are zero
17:37
apurvanandan[m]
In 12 bit mode it looks like
17:37
apurvanandan[m]
https://imagebin.ca/v/4adW9rb31I6r
17:38
apurvanandan[m]
https://ibin.co/4adW9rb31I6r.png
17:40
Bertl
okay, then it looks reasonably fine
17:42
se6astian|away
changed nick to: se6astian
18:16
BAndiT1983|away
changed nick to: BAndiT1983
18:29
Dev_
joined the channel
18:30
Dev_
left the channel
18:32
mrohit[m]
I tried the build with the google nameserver(8.8.8.8) and it seems to be working fine. But I am getting another error : failed retrieving file 'community.db' from mirror.archlinuxarm.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
18:32
mrohit[m]
I guess this error is due to unstable arch linux arm because the packages prior to the community.db were downloaded at a really high speed but this package failed
18:33
mrohit[m]
I have tried this twice and the results are same
18:34
Dev_
joined the channel
18:35
mrohit[m]
I am talking about the build of the Beta firmware here
18:37
Dev_
Hey BAndiT1983 , https://github.com/apertus-open-source-cinema/opencine/blob/master/Source/OCcore/Image/MLVLoader.cpp , in load function , one of the todos is change switch into hash map of function pointer , is it important ?
18:38
Dev_
it will unnecessarily cause removing of type
18:39
BAndiT1983
hi Dev_
18:39
BAndiT1983
what's the problem with that?
18:42
Dev_
I was finding out how to do this , it will result into erasing types ,
18:43
Dev_
We need to keep track of RAWI and VIDF headers , why can't just use switch , just curious
18:44
BAndiT1983
do you want to maintain a very long switch for every tag type?
18:46
Dev_
but i guess we need to deal with few headers (mainly VIDF which contains frame here)
18:46
BAndiT1983
https://docs.google.com/spreadsheets/d/1ItNuLj34JlK6bZgiAJLrmG7p3iyCmCju4XYyiwjqJOM/edit#gid=0
18:46
BAndiT1983
and what about other tags? what happens if we need them, should we stumble over a very long switch/case every time to fix problems?
18:47
BAndiT1983
for me it's easier to have a map with handlers, instead of spaghetti code
18:48
BAndiT1983
hashes are already defined in .h file, so there is no disadvantage there
18:48
Dev_
yeah , that's right , why do we need otherwise , i couldn't figure out why ? , we just need to access frames of VIDF
18:48
Dev_
otherwise -> (other tags)*
18:48
BAndiT1983
???
18:49
BAndiT1983
please google about image processing, it's not only about image data, there is white balancing, gamma curve, linearization and much more
18:49
BAndiT1983
this parameters are often supplied by cameras
18:50
BAndiT1983
also sync points, audio data etc. etc. etc.
18:50
Dev_
okay , getting what u are saying ,
18:51
Dev_
I will try to change Switch -> hashmap ,
18:51
BAndiT1983
if the process would be that simple, just to show data, then there would be no trouble to create tons of proper apps, but RAW data is much more difficult and has no single solution
18:51
BAndiT1983
unordered_map is your friend usually
18:52
Dev_
so we also need more read function for those function , too
18:52
Dev_
okay
18:53
BAndiT1983
check the specs at google docs, link above
18:53
BAndiT1983
it also contains apertus proposal
18:53
BAndiT1983
check if you can load video data, it worked for first frame
18:53
BAndiT1983
you can grab test files at magiclantern forum
18:54
BAndiT1983
also you could inspect what the problem is, if a file is not loading properly
18:54
Dev_
yes i have sample mlvs
18:54
BAndiT1983
it's very simple to load it in processingtest
18:54
BAndiT1983
just needs a bit of manual intervention maybe
18:59
Dev_
will see this ,
18:59
Dev_
please check this and point out if u find anything wrong in this : The present static allocators contain buffer and unordered_map to store and track down the memory respectively, for reading frames can we store each frame into this buffer subsequently
19:00
Dev_
or it will create problem while processing frames with debayering algo, implemented in OCcore/image
19:01
BAndiT1983
the frames should be stored consequently, but it can happen that a different frame should be loaded instead of one available, e.g. user clicks in the track bar,
19:01
BAndiT1983
plan is to preload several frames, depends on available memory etc., static allocator should be smart enough to remove oldest frame and replace with new data
19:02
BAndiT1983
but we could get away by loading subsequently every time
19:02
BAndiT1983
start simple first
19:03
BAndiT1983
an array instead of map could be used, but it's trickier to seek for oldest frame etc.
19:05
BAndiT1983
size can be always same value, as the frame are equal each time
19:06
Dev_
if user clicks in the track bar : do u mean if user seek the slider of vlc player (or other ) in between
19:06
Dev_
size can be always same value : okay
19:06
BAndiT1983
yes, the slider
19:07
ashu
joined the channel
19:08
Dev_
how do we come to know about , which frame should start frameserving at this point of time (point of silder)
19:09
Dev_
we should have acess to frames before that ,
19:09
Dev_
isn't it ?
19:09
BAndiT1983
that's a part of the task, either VLC/mplayer asks for a frame at some time or even frame number
19:09
ashu
changed nick to: Ashu
19:09
BAndiT1983
we have access beforehand, but frames have to be served in right order
19:12
Dev_
it is the read callback of FUSE which is reading the data for vlc/mplayer ,
19:12
BAndiT1983
ok, what does it mean for us?
19:15
Dev_
what does it mean for us : so do we need to change read callback , for supporting sudden change in silder positon
19:15
Dev_
slider*
19:16
BAndiT1983
yes, and how can we accomplish this?
19:17
Dev_
this is what i have to understand :) , i will try
19:17
BAndiT1983
the answer is not difficult, try to think about it right now
19:17
BAndiT1983
my prototype is not crashing when seeking some time position
19:18
Dev_
yes, but my avi file do buffer a lot
19:18
BAndiT1983
what do you mean?
19:18
Dev_
the c/c++ challenge , actually the avi file which i am creating only works on vlc and buffer a lot
19:19
BAndiT1983
what does it buffer?
19:20
Dev_
it takes time to load , like in playing youtube video wiith good speed internet
19:20
Dev_
without*
19:20
BAndiT1983
really?
19:20
BAndiT1983
my fuse file is quickly available, like a real file
19:21
Dev_
i was talking about MY avi file
19:21
Dev_
yours is fine ,
19:22
BAndiT1983
then you should search for the cause of the problem, check your loops, maybe there is something fishy going on
19:22
BAndiT1983
valgrind could help with profiling
19:22
Dev_
the answer is not difficult : there is off_t offset in readcall back , i think that is keeping track of data ,
19:22
Dev_
don't know how to change it , but i will think surely
19:22
BAndiT1983
https://github.com/BAndiT1983/OC_FrameServer/blob/dev/FUSEHandler.cpp
19:22
BAndiT1983
seeking is already working there
19:23
BAndiT1983
i'm cheating a bit, because data holds 30mb of data, as the frames are not interrupted by other data
19:23
BAndiT1983
actually whole file is kept in this buffer
19:24
BAndiT1983
but for bigger files we need another strategy, e.g. hold header data in one buffer and image data in different one, also keeping track of important positions in file is necessary
19:25
Dev_
important positions ??
19:26
BAndiT1983
yes, like header, image data etc.
19:26
BAndiT1983
if the player/editor asks for a position in image data, then you have to provide correct offset
19:26
BAndiT1983
but for metadata only it would be ok to provide only header and tags
19:27
BAndiT1983
that's why splitting the virtual file could help with managing nested data
19:31
Dev_
if the player/editor asks for a position in image data, then you have to provide correct offset : i will think about it ,
19:32
BAndiT1983
check the link to prototype, everything is there, just in basic form, but still gives an idea
19:32
BAndiT1983
if you have questions, then ask
19:33
Dev_
who gives this size_t size parameter ?
19:33
BAndiT1983
which line?
19:34
Dev_
42
19:34
BAndiT1983
it's fuse callback, so the answer is fuse
19:35
Dev_
and what will be its value everytime
19:35
BAndiT1983
as far as i remember it contains the size of chunk to read
19:36
kingsocarso
left the channel
19:36
Dev_
so u mean , if we slide the slider , the off_t offset will change , line number 42
19:36
Dev_
agian
19:36
BAndiT1983
yes
19:36
kingsocarso
joined the channel
19:36
BAndiT1983
offset is the global offset into the file
19:37
Ashu
left the channel
19:37
Dev_
then it will start from that position , it all makes sense now :)
19:37
BAndiT1983
great to hear
19:40
Dev_
also one last things is , shouldn't we change unordered_map of static allocator to map , it will store the _current offset into sorted order ,
19:40
Dev_
https://github.com/apertus-open-source-cinema/opencine/blob/master/Source/OCcore/Memory/StaticAllocator.cpp
19:40
Dev_
sorry this one
19:40
Dev_
https://github.com/apertus-open-source-cinema/opencine/blob/master/Source/OCcore/Memory/StaticAllocator.h
19:40
Dev_
line 31
19:41
BAndiT1983
ordered map is sorting a lot, this is slower
19:41
BAndiT1983
you could use vector instead
19:42
BAndiT1983
just think about which parameters have to be known from map or struct in a map, so we can get the right frame
19:43
BAndiT1983
as i said, size can be equal and preset while loading, but we have to know frame number, position in the static allocator buffer
19:43
Dev_
but as we keep adding frames , the _currentoffset will increase , and at the end we the first frame , which should be on first ,
19:43
Dev_
won't be there
19:43
BAndiT1983
static allocator should go in circles
19:44
Dev_
(we the ) -> (our first frame *)
19:44
BAndiT1983
if it should read beyond its boundaries, then you reply with left memory size to fuse and start to place new frames from the beginning of the buffer
19:44
Dev_
static allocatos should go in circles : yes makes sense
19:45
BAndiT1983
also seeking backwards shouldn't be forgotten
19:46
BAndiT1983
i will try to change prototype a bit, so it show some animated lines, this would make it easier to check if the idea of seeking works
19:47
BAndiT1983
*will show
19:48
Dev_
in your prototype , seeking backword is also working , but if we use static allocator in cycle , that will be problem with big files
19:49
BAndiT1983
why?
19:50
Dev_
once the reading done , i think buffer should be cleared ?
19:50
BAndiT1983
which buffer are you referring to?
19:51
Dev_
the static alloctors buffer ,
19:51
Dev_
don't we ?
19:52
BAndiT1983
static allocator does the job in the same way, nothing changes
19:53
BAndiT1983
i would suggest to inspect whole MLV file while loading and create a list of frame positions (offsets), maybe even just of image data of each frame
19:53
BAndiT1983
then it would be not much of a trouble to walk forward or backward and load the data
19:54
Dev_
will that case ever come , that we run out of memory and can't allocate more space and have to clear the buffer
19:55
BAndiT1983
you just overwrite old frames
19:55
BAndiT1983
that's the point of static allocator combined with ring buffer
19:56
BAndiT1983
if there is more memory available then you could allocate multiple pages, each 1gb or 512mb big
19:56
Dev_
so in that case backword seeking won't be possible , i was saying that
19:56
BAndiT1983
why?
19:57
Dev_
you just overwrite old frames : if we do this
19:57
Dev_
then how ?
19:57
BAndiT1983
don't see any problem there, as it's the idea of many video players out there
19:59
Dev_
okay , so let me first focus on code of how to extract and store the frame data consequently , and how it can be passed to debayered
19:59
Dev_
that will good
20:00
Dev_
be*
20:01
Dev_
i will update u soon ,thanks for your time
20:01
BAndiT1983
no problem
20:01
BAndiT1983
https://www.geeksforgeeks.org/operating-system-allocation-frames/
20:02
BAndiT1983
it's about managing multiple allocated pages
20:02
BAndiT1983
and some gstreamer info on their memory management -> https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/allocation.html
20:04
Dev_
bookmarked , Thanks agian
20:04
Dev_
i will see
20:05
Dev_
left the channel
20:05
mrohit[m]
Hey BAndiT1983 , did you take a look at my code for T872?
20:06
BAndiT1983
hi mrohit[m], sorry had not much time lately, my new job is taking a lot of time and energy
20:07
BAndiT1983
will check it tomorrow, want to resume apertus° work today, it came too short lately, because of previously mentioned reasons
20:08
BAndiT1983
marked it, so i don't forget it
20:09
mrohit[m]
Oh..it's fine...let me know when you take a look, didn't knew about your switch in job btw..
20:12
mrohit[m]
Regarding T1121, can you point me to some beginner tasks for systemd so that I could get to delve a bit deeper about the task
20:12
BAndiT1983
i've mentioned the switch some time ago, is probably somewhere in the logs
20:12
BAndiT1983
you don't need to dive into systemd pretty much, i have removed dependencies
20:13
BAndiT1983
but this series is not bad to get an overview -> http://0pointer.de/blog/projects/journal-submit.html
20:14
mrohit[m]
yup, I have read this article
20:14
BAndiT1983
was asked by vup2 and anuejn to get rid of systemd, which i did some days ago
20:15
BAndiT1983
daemon was never really using it, so the service description file is totally sufficient
20:16
illwieckz_
changed nick to: illwieckz
20:16
mrohit[m]
So the task still remain to move the scripts from firmware to daemon..right?
20:16
BAndiT1983
yes
20:17
BAndiT1983
will add direct CMV register access soon, then the scripts can be implemented using daemon
20:17
mrohit[m]
okay
20:21
mrohit[m]
and the handshake package already resides in description.json, so what exactly needs to be implemented for the Web Remote?
20:22
BAndiT1983
i don't have an overview of webui at the moment
20:23
BAndiT1983
many things are prototypes, no tested properly yet and probably need a lot of adjustments
20:25
mrohit[m]
okay
20:26
mrohit[m]
So what would you suggest as a starting point to work for the task?
20:27
BAndiT1983
you tell me, as i don't know your preferences
20:29
mrohit[m]
As of now, I have understood the first goal of the task and I am still working to get to know all other completely
20:30
mrohit[m]
So I don't have a concrete plan as of now, but would like to go with the scripts
20:30
BAndiT1983
recreating scripts is only a small part of the task
20:31
BAndiT1983
there are many other areas, where the daemon needs work
20:31
mrohit[m]
Such as?
20:32
BAndiT1983
https://lab.apertus.org/T1121
20:32
BAndiT1983
there are several tasks already in the list, but daemon lacks some other adapters, like sysfs
20:32
BAndiT1983
to read temperature or voltage
20:33
BAndiT1983
it needs to be implemented, if i won't get some free time to start it
20:34
BAndiT1983
also evaluating is a task, to check if we can cover almost any parameter with already available attributes in flatbuffers or json
20:37
mrohit[m]
So how do we evaluate those? I guess we figure out the parameters which are dependent on each other and how they are dependent...right?
20:38
BAndiT1983
for example, but mostly if we can represent enough parameter info or if we need additional attributes
20:39
BAndiT1983
parameters will be grouped into presets later, so we can provide pre-defined ones
20:40
mrohit[m]
Okay..
20:44
mrohit[m]
Thanks BAndiT1983 , will let you know if I have any further questions
20:45
BAndiT1983
no problem
21:10
se6astian
off to bed
21:10
se6astian
good night
21:10
se6astian
changed nick to: se6astian|away
21:16
niemand
left the channel
21:41
RexOrCine
changed nick to: RexOrCine|away
22:05
BAndiT1983
changed nick to: BAndiT1983|away
23:02
Spirit532
left the channel
23:02
Spirit532
joined the channel
23:31
intrac
left the channel
23:42
intrac
joined the channel