Current Server Time: 06:37 (Central Europe)

#apertus IRC Channel Logs

2018/03/07

Timezone: UTC


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