00:10 | Arun__ | left the channel | |
00:36 | slikdigit | joined the channel | |
01:05 | rton93 | left the channel | |
01:20 | TofuLynx | left the channel | |
01:32 | DrLuke | left the channel | |
01:33 | DrLuke | joined the channel | |
01:36 | Arun___ | joined the channel | |
03:16 | slikdigit | left the channel | |
04:45 | supragya | joined the channel | |
05:23 | supragya | left the channel | |
05:35 | supragya | joined the channel | |
06:11 | sebix | joined the channel | |
06:11 | sebix | left the channel | |
06:11 | sebix | joined the channel | |
06:19 | supragya | BAndiT1983|away, able to write headers, made AVIEncode class here: https://github.com/supragya/libfuse-FrameServer/tree/master/AVIWriter
| |
06:19 | supragya | suggest you pull this commit and give feedback
| |
06:34 | supragya | BAndiT1983|away, I have a few questions regarding some of the headers and format of frame
| |
06:35 | supragya | bbl
| |
06:39 | supragya | left the channel | |
06:53 | nmdis1999 | joined the channel | |
06:53 | nmdis1999 | Students application deadline extended to 27?
| |
06:54 | nmdis1999 | left the channel | |
07:21 | sebix | left the channel | |
07:51 | supragya | joined the channel | |
07:51 | supragya | nmdis1999, It had always been till 27
| |
07:51 | supragya | 12 - 27 application submission period
| |
08:16 | supragya | left the channel | |
08:28 | BAndiT1983|away | changed nick to: BAndiT1983
| |
08:30 | BAndiT1983 | supragya, will take a look today at evening at earliest, when i'm on the train back home
| |
08:33 | BAndiT1983 | supragya, by the way, why do you use malloc and free? what about new and delete?
| |
08:39 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
08:45 | TofuLynx | joined the channel | |
08:57 | futarisIRCcloud | left the channel | |
09:09 | se6astian|away | changed nick to: se6astian
| |
09:19 | TofuLynx | left the channel | |
09:23 | TofuLynx | joined the channel | |
09:42 | se6astian | changed nick to: se6astian|away
| |
09:48 | sebix | joined the channel | |
09:48 | sebix | left the channel | |
09:48 | sebix | joined the channel | |
09:49 | futarisIRCcloud | joined the channel | |
09:51 | TofuLynx | Good morning!
| |
09:52 | TofuLynx | Does anybody have some papers regarding SHOODAK debayering algorithm?
| |
10:07 | illwieckz | left the channel | |
10:20 | Bertl_zZ | changed nick to: Bertl
| |
10:21 | Bertl | morning folks!
| |
10:50 | se6astian|away | changed nick to: se6astian
| |
10:51 | se6astian | TofuLynx: I will dig out what we have
| |
10:52 | TofuLynx | Thanks!
| |
11:27 | Arun___ | left the channel | |
11:44 | Arun___ | joined the channel | |
11:56 | TofuLynx | se6astian: found anything?
| |
12:06 | se6astian | give me a day
| |
12:22 | TofuLynx | Roger! :)
| |
12:27 | futarisIRCcloud | left the channel | |
13:06 | supragya | joined the channel | |
13:09 | supragya | BAndiT1983|away, malloc's more of a fallback to C. Had problems when I had to selectively give functions in stat structure for FUSE to work. G++ complains if assigned functions out of order. But i guess new and delete can be used in AVIencode.
| |
13:12 | supragya | Btw it should be avimux more than aviencode.
| |
13:12 | rton | joined the channel | |
13:21 | supragya | left the channel | |
13:24 | se6astian | TofuLynx: I found documentation in German about Shoodak
| |
13:24 | TofuLynx | German? xD does google translator translate well?
| |
13:25 | se6astian | I will transfer (translate) everything to a wiki page
| |
13:29 | LordVan | joined the channel | |
13:37 | supragya | joined the channel | |
13:40 | supragya | se6astian, how is it that I cannot find anything about SHOODAK debayer even on scholar.google.com and on www.google.com? Where has this come from?
| |
14:06 | se6astian | german DOP: Stefan Schuh (http://www.imdb.com/name/nm0775939/) invented it and is collaborating with us
| |
14:14 | rton | left the channel | |
14:19 | rton | joined the channel | |
14:21 | Arun___ | hello bertL I've posted message while you were away on irc, here's the task https://github.com/arun13e/APERTUS-High_speed_link
| |
14:22 | Arun___ | What should I do next, Test the same on zynq platform, or move on with other tasks?
| |
14:23 | Arun___ | Single organisation, much free ;-)
| |
14:25 | supragya | Hi Arun___ , which clg?
| |
14:25 | Bertl | Arun___: checking now ...
| |
14:26 | Arun___ | GgsIpu University campus
| |
14:26 | supragya | Guru Gobind Singh Indraprastha University? nmdis1999 from there too...
| |
14:26 | supragya | nice
| |
14:27 | Bertl | Arun___: okay, first thing I see is bad indentation and spacing
| |
14:27 | Bertl | (which makes the code hard to read)
| |
14:29 | supragya | Bertl, BAndiT1983|away, I would be redoing much of T872 again tmrw. Would like feedback after that
| |
14:30 | Bertl | Arun___: e.g. in Receiver.vhd why are the generics and the ports on different indentation level? why is std_logic in line 14 on a different position than in line 15?
| |
14:30 | Arun___ | left the channel | |
14:31 | Bertl | in general, put spaces around operators like :=, +, etc
| |
14:31 | Bertl | avoid unmotivated empty lines like 80/81/84/85
| |
14:32 | Arun___ | joined the channel | |
14:32 | Bertl | Arun___: check the irc logs for stuff you just missed
| |
14:32 | Arun___ | Ok ,On it
| |
14:33 | Bertl | the end if; end if; end if; in lines 144-148 is also a nono
| |
14:33 | Bertl | VHDL provides elsif and else for this purpose
| |
14:34 | TofuLynx | left the channel | |
14:34 | Bertl | processes without a label/name are also a bad idea
| |
14:36 | Bertl | the many if/end if blocks in lines 169-216 can be written a lot simpler with a case statement
| |
14:37 | Bertl | the registers could also become an array
| |
14:38 | Arun___ | left the channel | |
14:38 | Arun____ | joined the channel | |
14:38 | Arun____ | Sorry battery died
| |
14:39 | Arun____ | Indentation maybe caused because i edited the whole in xilinx ise
| |
14:39 | Bertl | generics are basically constants, so you want to make them upper case
| |
14:40 | Bertl | well, it's fine if you use Xilinx ISE or any other IDE, but when you're done, you want to clean up the code :)
| |
14:41 | Bertl | also, add a copyright and a license to your work, otherwise it is useless for FOSS
| |
14:42 | Bertl | where did you get the lfsr.vhd from?
| |
14:43 | Arun___ | joined the channel | |
14:44 | Arun___ | left the channel | |
14:46 | Arun____ | Well thats a little embarrassing :-) , will take care of it!!
| |
14:47 | supragya | Arun____, happened to all of us (that embarassment) XD!
| |
14:48 | nmdis1999 | joined the channel | |
14:48 | nmdis1999 | @supragya: I am not from GGSIPU, I am from IGDTU it's not under IP uni anymore xD
| |
14:49 | nmdis1999 | left the channel | |
14:52 | supragya | left the channel | |
15:07 | Arun____ | left the channel | |
15:21 | se6astian | supragya: https://wiki.apertus.org/index.php/Shoodak
| |
15:32 | supragya | joined the channel | |
15:40 | supragya | se6astian, clean and self contained wiki! Thanks.
| |
15:42 | se6astian | great
| |
15:42 | se6astian | stephan has an untested idea for a Version 2 of Shoodak as well already
| |
15:42 | supragya | se6astian, how did you evaluate this with already available methods?
| |
15:43 | se6astian | but I guess focusing on Version 1 first and once that is covered trying more experimental stuff is a good approach
| |
15:43 | supragya | what's new with version 2?
| |
15:43 | se6astian | completely different approach
| |
15:43 | supragya | what changes?
| |
15:44 | se6astian | you cant get enough can you? :)
| |
15:44 | se6astian | supragya: se6astian, how did you evaluate this with already available methods? <- we didnt so far
| |
15:45 | se6astian | stephan worked with a german software developer who wrote a small tool to process still images with shoodak
| |
15:45 | se6astian | I should get the code shortly
| |
15:45 | supragya | :) - I have Object Oriented Software development exam tomorrow! What do you think I would focus on... that? XD
| |
15:46 | se6astian | are you desperately looking for stuff other than the exam? :)
| |
15:46 | supragya | se6astian, I guess yes!
| |
15:47 | supragya | Already had Software Engineering course, idk how this is different
| |
15:47 | supragya | same syllabus
| |
15:50 | se6astian | right, I will document V2 on the wiki
| |
15:50 | se6astian | but you have to do something with it then :)
| |
15:50 | supragya | :) Thanks! sure, se6astian
| |
15:50 | supragya | but for now debayering is Tofu's dept
| |
15:53 | supragya | maybe will implement SHOODAK in OC, have a cpp for it already, if Tofu is not on it. :)
| |
16:00 | LordVan | left the channel | |
16:04 | se6astian | https://wiki.apertus.org/index.php/Shoodak#SHOODAK_Version_2
| |
16:06 | supragya | se6astian, SHOODAK v2 looks more like Nearest sensel based debayering to me
| |
16:06 | supragya | we have a code for it?
| |
16:06 | supragya | or can I write one?
| |
16:07 | Bertl | off for now ... bbl
| |
16:08 | Bertl | changed nick to: Bertl_oO
| |
16:10 | danieel | se6astian: that shoodak look like malvar-he-cutler just with rounded math?
| |
16:11 | se6astian | there is no code for V2
| |
16:11 | se6astian | you can write one and test it
| |
16:11 | supragya | se6astian, sure! will do
| |
16:11 | se6astian | its very well possible this was already done by someone else, I am just documenting stephan schuhs ideas
| |
16:12 | se6astian | if we find out his V2 method already exists and has a different name than thats also a conclusion :)
| |
16:12 | supragya | se6astian, I have T872 too... so why not
| |
16:12 | danieel | i am referring to V1
| |
16:12 | supragya | se6astian, V2 looks too naive to me... so it would be already existing... but have to check
| |
16:18 | danieel | I think the description misses to strenghten the randomness factor
| |
16:18 | danieel | if introducing some noise is the key, it should be described more in depth, but nice try :)
| |
16:18 | se6astian | gotta go
| |
16:18 | se6astian | changed nick to: se6astian|away
| |
16:18 | supragya | danieel, for randomness in V1?
| |
16:19 | danieel | supragya: here it says so: "For color reconstruction a bi-linear method plus a weighted (25% - 50% seems a reasonable range) random (or pseudo random) influence of neighboring pixels is used. "
| |
16:19 | danieel | random influence - i pick up this as random per each pixel?
| |
16:19 | danieel | this part is what i miss that is not described well in the "specs"
| |
16:20 | danieel | plus there are examples of random picks of triplets below, but no text to tell why or how to use it
| |
16:21 | danieel | the number of ops can be less than in MHC, that is clear
| |
16:21 | supragya | danieel, I guess it is clear as to what triplets do
| |
16:22 | supragya | Take example for 1 pixel in the mid
| |
16:22 | supragya | That triplet decides what sensel has more influence
| |
16:22 | supragya | why it is done:
| |
16:23 | supragya | zipper artifacts are regular
| |
16:23 | supragya | these triplets are random and hence not regular
| |
16:23 | danieel | but you use them with at most 1 of 8 chance, so your zipper gets just 1 teeth of 8 (ideally)
| |
16:27 | supragya | not really, consider a zipper pixel with a triplet. The boundary pixel may have the SHOODAK influence from either side 1 or side 2. Probability is 1/2 that it will be darker than just bilinear.
| |
16:27 | supragya | This will make the line jagged of course
| |
16:27 | supragya | But that regular zipper will go off
| |
16:28 | danieel | do you have any easy c code for it?
| |
16:29 | supragya | I can code one for you. Don't have it yet
| |
16:30 | supragya | se6astian says he has one made by some german Software Developer. But I guess the task is not that hard
| |
16:31 | supragya | Let me see what I can do danieel. Will ping in once I have some kind of simulation
| |
16:31 | Arun___ | joined the channel | |
16:35 | supragya | danieel, ping
| |
16:35 | supragya | can you point me to your existing code? danieel
| |
16:38 | danieel | one sec
| |
16:40 | sebix | left the channel | |
16:42 | danieel | this is an empty frame: https://pastebin.com/q41HE2EH
| |
16:48 | supragya | well I would like a simulation system to work with. Would really like a look at demosaic.h and matrix.h.
| |
16:49 | supragya | can you git maybe?
| |
16:49 | danieel | your task is to go from the raw file, I can not help you with that
| |
17:04 | supragya | I have exam tmrw danieel. Maybe I can ping you one I have done simulation on your code or did on mine. :)
| |
17:04 | supragya | give me some time. Perhaps a day
| |
17:04 | danieel | sure
| |
17:04 | danieel | have luck!
| |
17:05 | supragya | :)
| |
17:12 | se6astian|away | changed nick to: se6astian
| |
17:31 | rton93 | joined the channel | |
17:33 | rton | left the channel | |
17:49 | sebix | joined the channel | |
17:49 | sebix | left the channel | |
17:49 | sebix | joined the channel | |
18:00 | nmdis1999 | joined the channel | |
18:00 | supragya | hi nmdis1999
| |
18:00 | supragya | which exam tmrw
| |
18:05 | BAndiT1983|away | changed nick to: BAndiT1983
| |
18:08 | supragya | left the channel | |
18:08 | supragya | joined the channel | |
18:10 | supragya | Hello, BAndiT1983
| |
18:10 | BAndiT1983 | hi
| |
18:10 | anuejn | danieel: supragya : implemented the random and anti zipper parts of shodak :)
| |
18:10 | anuejn | https://pastebin.com/raw/iRnSFkDY
| |
18:10 | anuejn | can be used with https://anuejn.github.io/batic/
| |
18:11 | TofuLynx | joined the channel | |
18:12 | supragya | BAndiT1983, I think AVIEncode will be done soon. However
| |
18:13 | supragya | I am not really sure of how the frames are saved in the movi list
| |
18:13 | supragya | and is 'idx1' necessary?
| |
18:14 | BAndiT1983 | have no idea, as i had no time to check it, had my vacation which was really necessary
| |
18:14 | supragya | anuejn, thank you! will have a look (net too slow to open your site)
| |
18:14 | supragya | BAndiT1983, take your time if you need. I will figure this out
| |
18:15 | se6astian | https://github.com/apertus-open-source-cinema/debayering
| |
18:15 | supragya | However, have a look at the code once, are you okay with the namespace and structures?
| |
18:15 | BAndiT1983 | have to check some things, as i don't have full overview of what was done in last days
| |
18:15 | se6astian | code is untest so far, please help by checking if it compiles or what other packages are required
| |
18:16 | BAndiT1983 | i have no matlab, so cannot check it
| |
18:16 | supragya | matlab?
| |
18:16 | BAndiT1983 | .m files?
| |
18:17 | supragya | where are the .m files?
| |
18:17 | BAndiT1983 | https://github.com/apertus-open-source-cinema/debayering/tree/master/Debay-O-Mat
| |
18:17 | supragya | I thought you were asking about my repo
| |
18:18 | TofuLynx | left the channel | |
18:18 | BAndiT1983 | ah, you mean your repo, se6astian posted this repo, so i thought you were referrign to iz
| |
18:18 | BAndiT1983 | *it
| |
18:18 | supragya | I was asking about [libfuse-FrameServer], are the structs and namespaces to your liking?
| |
18:19 | BAndiT1983 | which namespaces do you mena?
| |
18:19 | BAndiT1983 | *mean?
| |
18:20 | supragya | code in general. namespace AVIEncode to have it all in one place
| |
18:21 | BAndiT1983 | have to check it thoroughly, but the C approach is not my favorite, also embedding structs in the class and so on
| |
18:21 | supragya | structs in class a no no?
| |
18:21 | BAndiT1983 | there is also the loop which reads every 3 bytes from file, performance-wise it's sub-optimal, if you have an HDD it would take a lot of time
| |
18:22 | BAndiT1983 | my preference is clear structure, single responsibility per class etc.
| |
18:22 | supragya | [ every 3 bytes from file] - that's my cpp challenge
| |
18:22 | supragya | not this one
| |
18:22 | BAndiT1983 | create working prototype first, afterwards we can discuss it further, will try to adjust the code, how i think it sohuld be
| |
18:23 | BAndiT1983 | i know that you have ported it from there, but this approach kills performance
| |
18:23 | supragya | no
| |
18:23 | supragya | I have not
| |
18:23 | BAndiT1983 | such file, should be read to memory as whole, for fast processing
| |
18:23 | supragya | I dont even read file wright now
| |
18:23 | supragya | right
| |
18:23 | supragya | I am just writing headers
| |
18:24 | supragya | asking you the frame dump format for AVI
| |
18:24 | supragya | are you sure you did a git pull on [libfuse-FrameServer] and looked at AVIWriter/ ?
| |
18:24 | BAndiT1983 | telling you what i see at first glance, need some time to get an overview, was absent from project for 3 days
| |
18:25 | supragya | If you are busy don't worry
| |
18:25 | BAndiT1983 | looking at github currently, will start my VM for it in a moment
| |
18:25 | BAndiT1983 | i'm not busy, just riding train back home and trying to get an overview
| |
18:26 | supragya | [there is also the loop which reads every 3 bytes from file, performance-wise it's sub-optimal] - I am redoing T872
| |
18:27 | BAndiT1983 | looking forward to it
| |
18:36 | supragya | Bandit, this one gave error with g++:
| |
18:36 | supragya | static struct fuse_operations fuse_example_operations = {
| |
18:36 | supragya | .getattr = getattr_callback,
| |
18:36 | supragya | .open = open_callback,
| |
18:36 | supragya | .read = read_callback,
| |
18:36 | supragya | .readdir = readdir_callback,
| |
18:36 | supragya | };
| |
18:36 | supragya | sorry, unimplemented: non-trivial designated initializers not supported};
| |
18:36 | supragya | so had to go back to C
| |
18:37 | supragya | tried this: https://stackoverflow.com/questions/31215971/non-trivial-designated-initializers-not-supported, no help
| |
18:38 | BAndiT1983 | have found some docs for AVI, as i have also to get insight on that -> http://www.jmcgowan.com/odmlff2.pdf
| |
18:39 | supragya | BAndiT1983, I guess we have to assign a function to every stat function as it is given:
| |
18:39 | supragya | The rule of thumb is:
| |
18:39 | supragya | Assign to .name=value fields
| |
18:39 | supragya | Assign in the order they where declared
| |
18:39 | supragya | Include all fields in the assigment
| |
18:39 | BAndiT1983 | how can i get an avi file at the moment
| |
18:39 | BAndiT1983 | *?
| |
18:39 | supragya | you can go to folder
| |
18:39 | supragya | AVIWriter
| |
18:39 | supragya | and use make
| |
18:39 | supragya | I have setup a readme
| |
18:41 | BAndiT1983 | at the moment video player in ubuntu says "cannot demultiplex stream"
| |
18:41 | supragya | It is not
| |
18:41 | supragya | cuz no frames and stream info were written
| |
18:41 | supragya | only headers are written
| |
18:42 | supragya | The other repo did write the full AVI
| |
18:42 | supragya | but it was not playable, so wrote from scratch
| |
18:42 | BAndiT1983 | i would avoid windows specific naming, like DWORD
| |
18:43 | supragya | that is in specifications
| |
18:43 | supragya | also there is a typedef I have put uptop
| |
18:43 | BAndiT1983 | i have seen it, definitions are from microsoft, if i remember correctly
| |
18:43 | supragya | yes they are, AVI is theirs
| |
18:44 | supragya | Writing 'db' format (uncompressed) wont be hard, but we just have to get all headers correct
| |
18:45 | supragya | and bytes
| |
18:45 | supragya | can you explain dwInitialFrames?
| |
18:46 | supragya | AVIMAINHEADER
| |
18:47 | rton93 | left the channel | |
18:52 | BAndiT1983 | supragya, let me check the specs, also wifi is a little bit unstable this time, but better than no wifi on the way to munich a couple of weeks ago
| |
18:53 | BAndiT1983 | https://msdn.microsoft.com/en-us/library/ms899423.aspx
| |
18:53 | BAndiT1983 | this should describe the fields
| |
18:54 | BAndiT1983 | for us it should be 0 for initial frames
| |
18:54 | supragya | no audio that why
| |
18:54 | BAndiT1983 | we need very basic AVI stuff without much junk, plain and simple header, then a list of frames
| |
18:54 | supragya | wont be much of hassle, will complete it by weekend, if I get headers right BAndiT1983
| |
18:55 | BAndiT1983 | will do some adjustments to your code and try it also myself to get more knowledge
| |
18:56 | supragya | just what I wanted :)
| |
18:57 | BAndiT1983 | hope that i will get a bit of time in the next days, as i have a lot to do with moving my stuff to new apartment and especially registrations in the new city, so i can park my car, needs special permission in the new area
| |
18:58 | supragya | BAndiT1983, do as much as you can, I will on my end too. Much of frameserving is done if we get AVI just right
| |
18:58 | Rex0r | left the channel | |
18:58 | Rex0r | joined the channel | |
18:59 | BAndiT1983 | we can incorporate the downscaler from TofuLynx at some point, when we get to playing back DNG sequences
| |
18:59 | supragya | DNG sequence is what we need for sure
| |
18:59 | supragya | the downscaler is ready?
| |
18:59 | BAndiT1983 | 1 frame would be very good at the moment ;)
| |
19:00 | supragya | ofc... but we need it eventually
| |
19:00 | BAndiT1983 | downscaler was looking fine, some small visual mistakes, but nothing big, have also to investigate if Claudio still hasn't found the cause
| |
19:00 | BAndiT1983 | also would extract some general methods to a general helper class, like 12->16bit or 14->16bit conversion etc.
| |
19:01 | supragya | not quite big of changes there, compared to present system. Should be easy to find the culprit
| |
19:01 | supragya | in downscaler
| |
19:01 | BAndiT1983 | same thought
| |
19:02 | BAndiT1983 | we should also add some tests, i suggest catch2 framework, as it's a single file
| |
19:02 | supragya | tests on what
| |
19:04 | BAndiT1983 | unit tests, to verify changes in code, so we know when something breaks
| |
19:05 | supragya | Where? OC? FrameServer? algorithms like downscaler?
| |
19:05 | supragya | what is the scale?
| |
19:10 | BAndiT1983 | first you code, OC has a bit of that, if i remember correctly
| |
19:10 | supragya | sure
| |
19:10 | BAndiT1983 | first a couple of tests to verify that binary file is right, maybe something like golden master approach
| |
19:11 | BAndiT1983 | if we have working file, we would take it as golden master, after changes new file will be written to disk, then golden master loaded and both binaries compared
| |
19:12 | TofuLynx | joined the channel | |
19:12 | TofuLynx | Hey
| |
19:12 | supragya | hey TofuLynx
| |
19:12 | TofuLynx | Just read the logs
| |
19:12 | BAndiT1983 | before you ask, yes, unit tests have to be reworked after bigger changes in code, it'S some sort of evolution
| |
19:12 | BAndiT1983 | hi TofuLynx
| |
19:13 | TofuLynx | Regarding that visual bug in the downscaler, I havent got time to check
| |
19:13 | TofuLynx | Will check this night or tomorrow morning :)
| |
19:13 | BAndiT1983 | supragya, maybe we should grab some media inspector software which tells one what thew file contains
| |
19:14 | BAndiT1983 | gspot or mediainfo under ubuntu
| |
19:15 | supragya | BAndiT1983, I was thinking of this
| |
19:15 | supragya | like a RIFF tag editor
| |
19:15 | supragya | currently just using hex editor
| |
19:15 | supragya | and it is hard
| |
19:15 | BAndiT1983 | i know, done it a lot for TIFF etc.
| |
19:15 | BAndiT1983 | but with some inspector we would know precisely what is missing
| |
19:16 | supragya | header i write till now
| |
19:16 | supragya | match with actual AVI
| |
19:16 | supragya | but we definitely can use that
| |
19:16 | BAndiT1983 | seems like that, as the video player just complained about streams
| |
19:16 | BAndiT1983 | will try to re-use you red dump for 1 frame
| |
19:16 | nmdis1999 | Hey! Sorry for replying later, I was working on the tool :( Tommrrow's electrical science. After tomorow I'll be able to focus on my work here.
| |
19:17 | supragya | BAndiT1983, there is no necessity to use the red dump
| |
19:17 | supragya | we can have a synthetic image
| |
19:17 | supragya | more like fractal or arithmetic to begin with
| |
19:17 | supragya | then we can check for the actual frames
| |
19:17 | BAndiT1983 | ok
| |
19:19 | supragya | BAndiT1983, thanks for mediainfo, will try to see what it can do
| |
19:19 | supragya | available on pacman
| |
19:19 | BAndiT1983 | ah, forgot that you are on another distro
| |
19:19 | supragya | left ubuntu when it closed it's repositories for 17.04
| |
19:20 | supragya | and it left me hanging
| |
19:21 | BAndiT1983 | using usually linuxmint, but had some problems with virtualbox about opengl, somehow it was stuck to 2.1 although they also use vmware driver for GL3.3
| |
19:21 | BAndiT1983 | so temporarily installed 18.04 in vmware first
| |
19:23 | BAndiT1983 | supragya, check your PM for output of mediainfo
| |
19:23 | supragya | doesnot seem like what we need
| |
19:24 | supragya | we need to know if headers are written correctly
| |
19:24 | supragya | I tested on my system, same OP
| |
19:25 | BAndiT1983 | let me try gspot
| |
19:26 | BAndiT1983 | https://mediaarea.net
| |
19:27 | BAndiT1983 | check mediainfo-gui
| |
19:28 | BAndiT1983 | maybe the headers are not filled right
| |
19:28 | BAndiT1983 | it shows also debug info with addresses
| |
19:29 | supragya | i dont understand
| |
19:29 | supragya | let me give a dump in PM
| |
19:30 | supragya | BAndiT1983, you can check hex editor
| |
19:30 | BAndiT1983 | let me install hex editor for ubuntu to check against it
| |
19:30 | supragya | hdr1 list is okay
| |
19:30 | supragya | RIFF is okay
| |
19:30 | supragya | not written anything further
| |
19:30 | supragya | however sizes are yet to be computed, left them 0
| |
19:35 | nmdis1999 | left the channel | |
19:49 | Rex0r | left the channel | |
19:49 | danieel | where is the AVI stuff? (why avi today?)
| |
19:50 | supragya | danieel, we are working on a frameserver
| |
19:50 | danieel | whats that
| |
19:51 | supragya | here: https://en.wikipedia.org/wiki/Frameserver
| |
19:51 | supragya | for OC
| |
19:52 | supragya | you can look at it here: https://github.com/supragya/libfuse-FrameServer
| |
19:53 | Rex0r | joined the channel | |
19:54 | danieel | seems overcomplicated :) i used fuse before to present my raws as dngs, but it was way too slow (every open did full conversion?)
| |
19:54 | supragya | it's a prototype we are building
| |
19:54 | supragya | using libFUSE
| |
19:55 | supragya | using readcallbacks
| |
19:55 | supragya | we will process and serve only when needed
| |
19:55 | danieel | so you have to properly handle the seeks, right?
| |
19:55 | supragya | the processing of DNGs are done using Occore
| |
19:55 | supragya | yes, handle the seeks
| |
19:55 | danieel | ok, that might be the difference
| |
19:55 | BAndiT1983 | we can accelerate by reading image data only at fixed offsets
| |
19:56 | danieel | i had the trouble that convert@open did a big waste when a preview app looked to the folder (to just read exif data)
| |
19:56 | BAndiT1983 | but there are also many other ways to do acceleration
| |
19:57 | supragya | there will be two performance bottlenecks if I can say it now: OCcore processing and AVIEncode
| |
19:57 | supragya | both need multithreading and maybe HW acceleration later on
| |
20:00 | supragya | had success with HEX? BAndiT1983
| |
20:00 | BAndiT1983 | what do you mean with success?
| |
20:00 | supragya | like did you see the headers?
| |
20:00 | BAndiT1983 | seen the header, will analyze a bit later in depth, but first i will adjust the code
| |
20:01 | supragya | forked?
| |
20:01 | BAndiT1983 | nope, just locally first, can still fork later
| |
20:02 | BAndiT1983 | biggest bottleneck is the disk drive
| |
20:03 | danieel | then get a faster drive
| |
20:03 | supragya | what are you adjusting in the code?
| |
20:03 | danieel | the real bottleneck will be memory bw limit
| |
20:03 | danieel | that is rather impossible to increase easily
| |
20:04 | rton | joined the channel | |
20:05 | BAndiT1983 | hm, sitting on an .m2 so my dev system is up to date, but what should people use who don't have much money to get a fast drive? should they use bad optimized code?
| |
20:06 | danieel | depends on purpose
| |
20:07 | danieel | if you want 4k to play live, get the gear.. no?
| |
20:07 | danieel | but if you speak of like using or not using o_direct and zerocopy.. yes, do that first
| |
20:08 | BAndiT1983 | one can also work with downscaled 4k for preview and still get full resolution results at the end
| |
20:08 | supragya | the point is, to get most out of given hardware
| |
20:08 | BAndiT1983 | supragya, exactly
| |
20:08 | supragya | not to hog it up with unnecessary code bgs
| |
20:08 | BAndiT1983 | this would help a lot of indie people who cannot afford big rigs
| |
20:08 | BAndiT1983 | know a lot of people who cannot afford or do not want to buy new machines
| |
20:09 | BAndiT1983 | still wondering why PCs got slower over years, although the power increased
| |
20:09 | supragya | I guess it is because the softwares are more buggy
| |
20:09 | supragya | and unoptimised
| |
20:09 | BAndiT1983 | it'S just a part of the problem
| |
20:10 | danieel | then you have to reorganize the file to get the downsampled data in one piece which is then lowering the perf for those who could afford the rigs
| |
20:10 | BAndiT1983 | http://www.file-recovery.com/avi-signature-format.htm
| |
20:10 | danieel | or to produce both versions, in expense of space
| |
20:10 | BAndiT1983 | profiling still has to be done, but first some working code has to exist, before even considering fiddling with bits
| |
20:10 | supragya | well this is satisfied
| |
20:10 | danieel | slowness is caused by nesting technologies, virtualization and too high level languages
| |
20:11 | supragya | the one given in image
| |
20:11 | supragya | have to look at size obv
| |
20:12 | BAndiT1983 | supragya, i would even do hard preset of fields
| |
20:12 | BAndiT1983 | it can be done by memcpy for special cases
| |
20:13 | supragya | i did exactly that
| |
20:13 | BAndiT1983 | ah, just scrolled down and seen that, but have to test if it's not better to do it directly in header code
| |
20:14 | BAndiT1983 | also static analyzer complaining at some lines
| |
20:15 | BAndiT1983 | as it is an avi writer, we shouldn't submit data from outside, just set fixed data right there in code and supply modifiable data like frames
| |
20:16 | supragya | see create_avi.cpp
| |
20:16 | supragya | I have tried to keep the clutter out of the way
| |
20:16 | BAndiT1983 | seen it
| |
20:16 | supragya | however we still need the width, height and framecount info
| |
20:16 | supragya | etc
| |
20:16 | BAndiT1983 | will evaluate it, but there are too many parameters
| |
20:17 | BAndiT1983 | we can supply them by separate methods
| |
20:17 | supragya | well, much of the headers are such that they need to be given explicitly
| |
20:17 | supragya | like a struct
| |
20:17 | supragya | ?
| |
20:17 | supragya | or something other than setAviMainHeader
| |
20:17 | supragya | more like setFrameCount
| |
20:18 | supragya | setFrameHeight()
| |
20:18 | supragya | ?
| |
20:18 | BAndiT1983 | we can avoid setting "avih", as the user could be new to avi and don't know the internal structure, jsut as example
| |
20:18 | BAndiT1983 | e.g. setResolution(width, height)
| |
20:18 | supragya | okay, interface change
| |
20:23 | BAndiT1983 | supragya, is this header of yours really one which is used in general?
| |
20:23 | BAndiT1983 | found shorter ones etc., so not sure which is sufficient
| |
20:24 | supragya | have a look at: https://msdn.microsoft.com/en-us/library/windows/desktop/dd318189(v=vs.85).aspx
| |
20:24 | supragya | currently, I am writing till 'hdr1'
| |
20:24 | supragya | and avih main header
| |
20:24 | supragya | need to add streams (strl and strh)
| |
20:24 | supragya | and then movi
| |
20:24 | BAndiT1983 | is it stream or movi?
| |
20:25 | BAndiT1983 | Stream Data ('movi' List)
| |
20:25 | supragya | currently, no stream meta is added
| |
20:25 | supragya | so there is no strl and strh
| |
20:25 | supragya | also no movi is added
| |
20:25 | supragya | just AVIMAINHEADER is done, not even AVISTREAMHEADER
| |
20:26 | BAndiT1983 | will look into the structure
| |
20:26 | BAndiT1983 | but RIFF is structured by ID and size, afterwards comes the payload
| |
20:26 | BAndiT1983 | http://www.johnloomis.org/cpe102/asgn/asgn1/riff.html
| |
20:27 | supragya | RIFF filesize filetype(the ID) payload
| |
20:27 | supragya | so it is currenly
| |
20:27 | supragya | RIFF 0000 AVI payload
| |
20:27 | BAndiT1983 | is size missing between AVI and payload?
| |
20:28 | supragya | I told you, i have not computed the size
| |
20:28 | supragya | it is more like LIST(LIST, LIST(), LIST)
| |
20:28 | BAndiT1983 | ok, but that one is also important, even if fixed at first, otherwise applications don't have the right info
| |
20:29 | supragya | yes, but we can only do it once we have all the info
| |
20:29 | BAndiT1983 | TIFF works also like that, ID and size, then payload of the tag
| |
20:29 | supragya | it's simple arithmetic
| |
20:29 | supragya | TIFF is near RIFF, T -> R XD
| |
20:29 | BAndiT1983 | we want some fake header info first, so applications find sufficient data
| |
20:29 | supragya | what i think is that we need a computing mechanism
| |
20:30 | BAndiT1983 | they are not that different
| |
20:30 | supragya | that can exactly tell what info is needed when a particular part of file is referenced
| |
20:30 | BAndiT1983 | that's not a big problem, as most fields have fixed length
| |
20:30 | supragya | the headers are to be precomputed and stored in memory
| |
20:30 | supragya | BAndiT1983, exactly
| |
20:30 | supragya | frames generated on the fly
| |
20:31 | supragya | I am not sure what you meant by shorter headers
| |
20:31 | BAndiT1983 | http://www.fileformat.info/format/riff/egff.htm
| |
20:31 | BAndiT1983 | like here
| |
20:32 | BAndiT1983 | you have a chunk, which consists mainly of ID and size, afterwards comes the payload, but it differs from yours
| |
20:32 | BAndiT1983 | do we need the stream data or some other one?
| |
20:32 | supragya | Ah I think you did not get one thing right
| |
20:33 | supragya | In RIFF we have two things only
| |
20:33 | supragya | LIST and CHUNKS
| |
20:33 | supragya | LIST is 'LIST' listSize listType listData
| |
20:33 | supragya | CHUNK is ckID ckSize ckData
| |
20:33 | supragya | so the outer one is LIST
| |
20:33 | supragya | hence it is RIFF 0000 AVI payload
| |
20:33 | supragya | now the payload contains lists and chunks
| |
20:34 | supragya | chunks are only featured when frames are written
| |
20:34 | supragya | rest all are LISTs
| |
20:34 | supragya | see microsoft link
| |
20:35 | supragya | In other words, there can be nothing but LIST, CHUNKS
| |
20:35 | supragya | payload may have framedata and header info
| |
20:40 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
20:41 | BAndiT1983|away | changed nick to: BAndiT1983
| |
20:48 | BAndiT1983 | supragya, have to reduce your code a bit, good that you try to make it readable, but it's doing double memcpy
| |
20:48 | BAndiT1983 | not a big deal, but raw speed is our goal
| |
20:48 | supragya | do changes, I will incorporate
| |
20:49 | supragya | Thus, I asked you to have a look before I move ahead
| |
20:50 | BAndiT1983 | just want to do it step by step, as many people do not like changes to their code
| |
20:50 | supragya | well I am a student
| |
20:50 | supragya | I have to learn
| |
20:51 | BAndiT1983 | i will ask you in a couple of years again :D
| |
20:52 | supragya | what do you mean :)
| |
20:52 | BAndiT1983 | had some arguments with old developers, even when their code was not doing the right thing, they refused changes
| |
20:53 | supragya | well it's life
| |
20:53 | supragya | Today I had machine learning as exam
| |
20:53 | BAndiT1983 | wait till you get into a company ;) then you will tell me about your experience with older developers
| |
20:53 | supragya | And we had to calculate 15 point distance matrix in 4th dimensional space
| |
20:53 | BAndiT1983 | ugh, sounds like star trek to me
| |
20:55 | supragya | well euclidean distance were to be computed as sqrt( (x1-z1)^2 + (x2-z2)^2 + (x3-z3)^2 +(x4-z4)^2 )
| |
20:55 | supragya | for 15 such points
| |
20:55 | supragya | for all x1 and z1 in that 15 points
| |
20:55 | BAndiT1983 | ah, have done that for PCB inspection to get the PCB straight
| |
20:55 | supragya | like 100 of these in barely in an hour
| |
20:55 | BAndiT1983 | was not my code, but from some tutorial for OpenCV
| |
20:55 | supragya | and then to cluser them
| |
20:56 | supragya | BAndiT1983, PCB?
| |
20:56 | BAndiT1983 | printed circuit board
| |
20:56 | supragya | well we had to do it using calculators
| |
20:56 | supragya | in exam
| |
20:56 | BAndiT1983 | https://lab.apertus.org/T934
| |
20:57 | supragya | I wrote random numbers and made clusters XD
| |
20:57 | BAndiT1983 | that sucks, nowadays programmable ones should be allowed, but i think indian students are drilled to know that stuff exactly
| |
20:58 | supragya | I don't prefer this system tbh
| |
20:58 | BAndiT1983 | in france pupils are also drilled for long time
| |
20:59 | supragya | how so?
| |
21:00 | BAndiT1983 | that's the school and study programme, my girlfriend told me about that, she lived in france for some time
| |
21:01 | BAndiT1983 | but it's also mainly about solving problems on fixed path and not about approach it in clever way
| |
21:04 | alexML | joined the channel | |
21:05 | supragya | left the channel | |
21:11 | Bertl_oO | wb alexML!
| |
21:17 | supragya | joined the channel | |
21:22 | sebix | left the channel | |
21:27 | illwieckz | joined the channel | |
21:42 | Arun___ | left the channel | |
21:49 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
21:56 | supragya | left the channel | |
22:08 | supragya | joined the channel | |
22:11 | se6astian | I am off to bed
| |
22:11 | se6astian | good night
| |
22:11 | se6astian | changed nick to: se6astian|away
| |
22:11 | supragya | gn
| |
22:16 | rton | left the channel | |
22:33 | supragya | se6astian|away, BAndiT1983|away, Bertl_oO , I have redone T872, kindly give feedback on it :)
| |
22:35 | Bertl_oO | line 11, ){ -> ) {
| |
22:36 | Bertl_oO | line 21, if(...){ -> if (...) {
| |
22:36 | supragya | PiNG12RAW.cpp?
| |
22:36 | Bertl_oO | yup
| |
22:36 | Bertl_oO | line 34, for(... 3 ){ -> for (... 3) {
| |
22:37 | Bertl_oO | line 35, width ; -> width;
| |
22:37 | Bertl_oO | ah, also )/width -> ) / width
| |
22:38 | Bertl_oO | line 42/43 }\nelse{ -> } else {
| |
22:38 | BAndiT1983|away | changed nick to: BAndiT1983
| |
22:38 | Bertl_oO | shall I go on or do you get the pattern?
| |
22:38 | supragya | no, got it
| |
22:38 | BAndiT1983 | supragya, you should get an autoformatter
| |
22:39 | BAndiT1983 | you've used clion, right?
| |
22:39 | supragya | yes
| |
22:39 | supragya | let me check
| |
22:39 | BAndiT1983 | there should be one already, but possibly you have to adjust some things
| |
22:39 | BAndiT1983 | i can install demo version to tell you which options are important, as i know similar software, intellij, rather well
| |
22:41 | Bertl_oO | for C there is also 'indent' which does a pretty decent job
| |
22:41 | BAndiT1983 | ctr+alt+l should format stuff
| |
22:42 | supragya | well done
| |
22:42 | BAndiT1983 | clang-format is also good, but it needs some setup work
| |
22:42 | supragya | I have done autoformatting
| |
22:42 | supragya | 270 lines changed (gosh)
| |
22:42 | BAndiT1983 | :D
| |
22:42 | Bertl_oO | did you even have that many? :)
| |
22:42 | BAndiT1983 | i do it on regular base for java for whole directories
| |
22:42 | supragya | I am not sure my code had that many lines
| |
22:43 | BAndiT1983 | how is analyze feature of clion?
| |
22:43 | supragya | not really used
| |
22:43 | supragya | BAndiT1983, have a look at the structure of this attempt
| |
22:43 | BAndiT1983 | you should, it was really useful for java
| |
22:43 | BAndiT1983 | we are talking about c++ challenge right?
| |
22:44 | supragya | yes
| |
22:44 | supragya | tell me if this one is alright... used buffer this time, one file access
| |
22:44 | supragya | and separated the code better
| |
22:45 | BAndiT1983 | have to take a thorough look, but it's late here, so just a quick glance
| |
22:45 | BAndiT1983 | width * height * sizeof(uint8_t) * 3 / 2
| |
22:45 | supragya | Now I don't have to think of Bertl asking me to indent better, I have Ctrl+Alt+L XD
| |
22:45 | Bertl_oO | it's better to read but it has the problem of long lines
| |
22:46 | BAndiT1983 | you should adjust formatter, so the braces start at new line
| |
22:46 | BAndiT1983 | sizeof(uint8_t) would be 1, so no reason to have it there, i suppose
| |
22:46 | supragya | That's thing of preference right?
| |
22:46 | Bertl_oO | same line is fine for me, but I do not care much about it
| |
22:46 | supragya | brace start
| |
22:46 | Bertl_oO | yup
| |
22:47 | supragya | getting rid of sizeof(uint8_t) would allow me to have new char[width*height] which is better
| |
22:47 | Bertl_oO | I'd also prefer if you kept the code below 80 (actually 76) characters per line
| |
22:48 | BAndiT1983 | supragya, you can also merge G1 and G2, no reason to separate them
| |
22:48 | BAndiT1983 | this would make everything simpler
| |
22:48 | supragya | I would like to have channel output for every sensel
| |
22:49 | Bertl_oO | note that whenever you have really long lines, it is a good indication that the code structure can be dramatically improved by either ...
| |
22:49 | BAndiT1983 | green is green ;)
| |
22:49 | Bertl_oO | moving stuff into functions/procedures/classes
| |
22:49 | supragya | BAndiT1983, that true
| |
22:49 | Bertl_oO | doing calculations in variables/constants/etc
| |
22:49 | BAndiT1983 | what Bertl_oO said
| |
22:50 | BAndiT1983 | loops are executing faster when length is pre-calculated before
| |
22:50 | BAndiT1983 | you can also try to run cppcheck over it
| |
22:50 | supragya | cppcheck?
| |
22:50 | BAndiT1983 | but analyzer in clion should also work
| |
22:50 | Bertl_oO | for example, in line 68-71, you use 3*(i * width + j)
| |
22:50 | BAndiT1983 | it's a static analyzer which tells you about errors, problems and bottlenecks
| |
22:51 | Bertl_oO | pull out that into a variable and you are way better off
| |
22:51 | Bertl_oO | s/out that/that out/
| |
22:51 | supragya | will maybe do tomorrow. sorry not now! Its 5AM, have exam at 8
| |
22:51 | supragya | s/out that/that out/ ?
| |
22:52 | BAndiT1983 | pull that out into a variable ;)
| |
22:52 | Bertl_oO | for those who have never used sed or vi, s/a/b/ replaces a with b
| |
22:52 | supragya | oh that
| |
22:52 | supragya | got it... not used vi for long
| |
22:52 | supragya | that yank hurt me
| |
22:52 | BAndiT1983 | avoiding it like hell :P
| |
22:53 | supragya | BAndiT1983, you are more like me than Bertl_oO XD
| |
22:53 | Bertl_oO | BAndiT1983: but there is a GUI for it ;-)
| |
22:53 | BAndiT1983 | Bertl_oO is linux user to the bone
| |
22:53 | BAndiT1983 | using nano for terminal stuff
| |
22:54 | supragya | Bertl_oO, do you use X11? Xorg?
| |
22:54 | supragya | or without GUI?
| |
22:54 | supragya | XD
| |
22:54 | Bertl_oO | sometimes
| |
22:54 | supragya | :)
| |
22:54 | BAndiT1983 | supragya, he is writing FPGA code without UI, so he is not far from becoming Neo
| |
22:55 | BAndiT1983 | wouldn't wonder if his console font color is green
| |
22:55 | supragya | how does he do simulation?
| |
22:55 | BAndiT1983 | ASCII art
| |
22:55 | BAndiT1983 | ;)
| |
22:55 | supragya | test bench?
| |
22:55 | supragya | XD
| |
22:55 | Bertl_oO | why should I do simulation?
| |
22:55 | supragya | I have hardware!
| |
22:55 | Bertl_oO | precisely
| |
22:56 | BAndiT1983 | half-offtopic -> https://hackaday.com/2018/03/05/fpga-makes-ascii-video/
| |
22:56 | Bertl_oO | BAndiT1983: check out Vigor
| |
22:56 | BAndiT1983 | vigor? google gives different results
| |
22:56 | Bertl_oO | Vigor (software)
| |
22:57 | BAndiT1983 | :D
| |
22:57 | supragya | Here is an ascii art for all star war fans
| |
22:57 | supragya | +---------------------+
| |
22:57 | supragya | | Whats going on here?|
| |
22:57 | supragya | +------------------+--+
| |
22:57 | supragya | |
| |
22:57 | supragya | |
| |
22:57 | supragya | _ |
| |
22:57 | supragya | \\ |
| |
22:57 | supragya | \\_ _.-._ |
| |
22:57 | supragya | X:\ (_/ \_) <------------------------+
| |
22:57 | supragya | \::\ ( == )
| |
22:57 | supragya | \::\ \== /
| |
22:57 | supragya | /X:::\ .-./`-'\.--.
| |
22:57 | supragya | \\/\::\ / / ( l
| |
22:57 | supragya | ~\ \::\ / `. L.
| |
22:57 | supragya | \/:::| `.' `
| |
22:57 | supragya | /:/\:| ( `.
| |
22:57 | supragya | \/`-'`. > )
| |
22:57 | supragya | \ // .-'
| |
22:57 | supragya | | /( .'
| |
22:57 | supragya | `-..-'_ \ \
| |
22:57 | supragya | __||/_ \ `-'
| |
22:57 | supragya | / _ \ # |
| |
22:57 | Bertl_oO | whoa, next time you'll get kicked for spamming the channel
| |
22:57 | supragya | | # |# | B-SD3 Security Droid
| |
22:57 | supragya | LS | # |# | - Front View -
| |
22:58 | supragya | sorry :P
| |
22:58 | supragya | gtg, good night
| |
22:58 | Bertl_oO | use pastebin for this (or the original URL)
| |
22:58 | BAndiT1983 | supragy -> http://www.asciimation.co.nz/#
| |
22:58 | supragya | I know that movie is in ascii
| |
22:58 | supragya | thanks for the link
| |
22:59 | BAndiT1983 | you should use the original one with telnet
| |
22:59 | BAndiT1983 | https://lifehacker.com/373571/watch-star-wars-in-text-via-telnet
| |
22:59 | Kjetil | damn it.. to slow
| |
22:59 | BAndiT1983 | so, enough off-topic, was checking oyur code
| |
23:00 | supragya | BAndiT1983, anything to add ?
| |
23:00 | supragya | [ was checking oyur code] -?
| |
23:00 | BAndiT1983 | have to find the tab, as we moved to other stuff in between ;)
| |
23:01 | BAndiT1983 | check if the double loops, are really necessary
| |
23:01 | supragya | debayering?
| |
23:02 | BAndiT1983 | i assume yes, as i'm still trying to get the structure right in my head
| |
23:02 | BAndiT1983 | had a long day, so not that focussed at the moment
| |
23:02 | Bertl_oO | let's continue another day
| |
23:03 | supragya | BAndiT1983, I am here at 5:30 AM
| |
23:03 | BAndiT1983 | yup
| |
23:03 | supragya | yup
| |
23:03 | supragya | glhf
| |
23:03 | BAndiT1983 | you should go to sleep, supragya
| |
23:03 | supragya | gn
| |
23:03 | BAndiT1983 | you too, good luck with exams
| |
23:03 | supragya | left the channel | |
23:03 | BAndiT1983 | night
| |
23:04 | Bertl_oO | nn
| |
23:06 | BAndiT1983 | so, off also, have to get up early, city departments in germany are not that much fun, but necessity if you want to avoid problems
| |
23:06 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
23:28 | futarisIRCcloud | joined the channel | |
23:39 | Bertl_oO | off to bed now ... have a good one everyone!
| |
23:39 | Bertl_oO | changed nick to: Bertl_zZ
| |
23:41 | TofuLynx | left the channel |