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 |