Current Server Time: 10:27 (Central Europe)

#apertus IRC Channel Logs

2018/04/24

Timezone: UTC


00:19
slikdigit
left the channel
01:24
rton
left the channel
04:14
ymc98
joined the channel
04:24
ymc98
I'm humbled and grateful for being selected. Thank you everyone
04:56
Bertl_zZ
changed nick to: Bertl
04:56
Bertl
morning folks!
04:57
Bertl
ymc98: we are glad to have you ... please read up on the IRC logs from yesterday
04:57
Bertl
(if not done so already)
05:01
ymc98
left the channel
06:07
supragya
joined the channel
06:07
Lordvan_
joined the channel
06:10
LordVan
left the channel
06:54
Lordvan_
changed nick to: LordVan
07:02
supragya
left the channel
07:10
se6astian|away
changed nick to: se6astian
07:15
supragya
joined the channel
07:23
Bertl
off for now ... bbl
07:23
Bertl
changed nick to: Bertl_oO
07:32
se6astian
changed nick to: se6astian|away
07:41
TofuLynx
joined the channel
07:41
TofuLynx
Good Morning!
07:58
supragya
left the channel
08:14
TofuLynx
left the channel
08:16
TofuLynx
joined the channel
08:38
sebix
joined the channel
08:38
sebix
left the channel
08:38
sebix
joined the channel
09:42
se6astian|away
changed nick to: se6astian
09:43
se6astian
changed nick to: se6astian|away
10:25
TofuLynx
left the channel
10:27
aleb
joined the channel
10:31
se6astian|away
changed nick to: se6astian
10:42
RexOrCine|away
changed nick to: RexOrCine
10:42
RexOrCine
What's occurring?
10:43
se6astian
hi RexOrCine
10:43
se6astian
waiting for you at the office :)
11:07
aleb
I see on https://www.apertus.org/GSoC-completed-results-report-smart-switching-regulator-article-oct-2017 that Apertus had a single GSoC slot in 2017 as it was the first time and I see now you have 6. Congratulations! How did you advertise to get so many talented students?
11:08
se6astian
Hi aleb
11:08
se6astian
we got three slots last year
11:08
Bertl_oO
but only one student made it :/
11:09
aleb
ok, I was looking at https://summerofcode.withgoogle.com/archive/2017/organizations/6354847569805312/
11:09
se6astian
this year we introduced mandatory coding challenges for applicants, so that greatly reduced the number of applications and greatly improved the skills and quality of the people applying
11:09
Bertl_oO
(at least we hope/think so :)
11:52
RexOrCine
changed nick to: RexOrCine|away
12:18
rton
joined the channel
12:22
aombk2
joined the channel
12:22
nmdis1999
joined the channel
12:23
aombk
left the channel
12:38
RexOrCine|away
changed nick to: RexOrCine
12:45
nmdis1999
left the channel
13:30
aleb
In https://developers.google.com/open-source/gsoc/help/slot-allocation they say "no matter how many slots are requested, new orgs are often only granted one or two slots in their first year to ease them into GSoC." Good for you you got three! :)
13:32
aleb
Did you do anything special to find the 6 students for this year?
13:32
Bertl_oO
nope, just preparing the tasks and challenges
13:36
aleb
A cool camera? :)
13:37
Bertl_oO
well, we have that anyway :)
13:37
aleb
exactly
13:39
aleb
In Pitivi we got three students last year and 3 this year, under the GNOME umbrella. We also require early involvment and it works good.
13:39
Bertl_oO
it's always good to make contact early
13:46
RexOrCine
changed nick to: RexOrCine|away
13:54
RexOrCine|away
changed nick to: RexOrCine
14:04
aleb
Is anybody from Zurich in your team?
14:06
ymc98
joined the channel
14:32
se6astian
not that I am aware of
14:33
se6astian
https://www.apertus.org/user/648 is close to zurich
14:36
MK_18
joined the channel
14:37
ArunM
joined the channel
14:47
MK__18
joined the channel
14:50
MK_18
left the channel
14:51
MK_18
joined the channel
14:52
MK__18
left the channel
15:06
illwieckz
left the channel
15:18
illwieckz
joined the channel
15:22
BAndiT1983|away
changed nick to: BAndiT1983
15:28
se6astian
changed nick to: se6astian|away
15:31
ArunM
left the channel
15:43
ArunM
joined the channel
16:09
MK__18
joined the channel
16:12
MK_18
left the channel
16:18
MK__18
left the channel
16:45
se6astian|away
changed nick to: se6astian
17:03
ArunM
left the channel
17:13
ArunM
joined the channel
17:37
ArunM
left the channel
17:49
supragya
joined the channel
17:51
se6astian
changed nick to: se6astian|away
17:56
rton
left the channel
18:14
supragya
left the channel
18:20
MK_18
joined the channel
18:32
se6astian|away
changed nick to: se6astian
18:37
sebix
left the channel
19:13
g3gg0
joined the channel
19:14
g3gg0
hi
19:15
BAndiT1983
hi
19:59
RexOrCine
What's occurring?
20:02
MK_18
left the channel
20:24
RexOrCine
changed nick to: RexOrCine|away
20:44
TofuLynx
joined the channel
20:45
TofuLynx
Hello!
20:47
TofuLynx
BAndiT1983: Can you explain me the color offsets related to the bayer pattern
20:47
TofuLynx
in the existing debayer class=
20:47
TofuLynx
?
21:04
se6astian
changed nick to: se6astian|away
21:09
alexML
ola TofuLynx; this? https://github.com/apertus-open-source-cinema/opencine/search?utf8=%E2%9C%93&q=coloroffsets
21:11
TofuLynx
Olá alexML! Exactly! :)
21:12
BAndiT1983
it's a bit tricky to explain
21:13
BAndiT1983
but if you look at the first pattern, then you will see the comments for R, G1, G2 and B
21:14
BAndiT1983
it just tells the image processor at which offset to get the pixel in which row and column
21:14
BAndiT1983
my guts are telling me, that this code can be simplified, as it was written at the beginning, when i had little knowledge of RAW
21:15
TofuLynx
but, for example
21:15
TofuLynx
why is R 1 and 1?
21:15
TofuLynx
and G1 also 1 and 1?
21:18
BAndiT1983
let me take a deeper look, but back then my assumption was that i could split the processing for multi-threading
21:18
alexML
to me, it looks like some default initialization
21:18
alexML
grep -nr -C 5 colorOffsets
21:18
alexML
this reveals the configuration for various Bayer patterns
21:19
BAndiT1983
line 95 and so on, has init for bayer patterns, just can't remember what it was about
21:19
BAndiT1983
ah, now i have it more or less
21:19
BAndiT1983
it looks forth and back when going through the data
21:20
BAndiT1983
so it gets multiple pixels at once
21:21
BAndiT1983
and to prevent underflow or overflow it uses values from 1 and not from 0 on
21:21
TofuLynx
but why is R initialized with the values 1 and 1, and G1 also initialized as 1 and 1? what do these numbers mean?
21:22
BAndiT1983
it's a point in between of 2 green pixels, for example, so it extracts one before and one after
21:23
BAndiT1983
but maybe we can add the processing from your downscaler, e.g. which would get green pixels in both rows at once
21:24
BAndiT1983
was thinking too complicated while implementing
21:25
BAndiT1983
it's easier to give offsets to the patterns, like blue at width + 2, in case of RGGB
21:25
BAndiT1983
then the algorithm would just iterate by + 2 and get next blue from that offset
21:25
TofuLynx
I have to plan how I will implement the pattern system
21:26
TofuLynx
do you think it's neccessary to be implementing the pattern system while starting?
21:26
TofuLynx
or only after it's done, during the optimization phase?
21:27
BAndiT1983
i can create a simple example of some new pattern system, have just outlined the idea for it with much better offsets
21:27
BAndiT1983
RGGB - > red = 0; g1 = 1; g2 = width + 1; b = width + 2
21:27
BAndiT1983
or something like that
21:29
TofuLynx
so we could just do something like this: redchannel = data[red]
21:29
TofuLynx
?
21:29
BAndiT1983
redChannel = data[redOffset + index]
21:30
TofuLynx
yeah, makes sense!
21:30
TofuLynx
and it's simpler, I think
21:30
BAndiT1983
and in the loop it has just to jump at the end of the row
21:30
BAndiT1983
very similar to downscaler
21:30
TofuLynx
yeah
21:30
TofuLynx
also one question
21:31
BAndiT1983
we could merge this classes, just have to think of the way to switch between linear and bilinear
21:31
BAndiT1983
ask as much as you want
21:31
TofuLynx
basically, the downscaler, at the maximum resolution, extracts the data and the result is a image with half the width and half the height, right?
21:32
BAndiT1983
yes
21:32
BAndiT1983
we are omitting missing pixels there
21:33
TofuLynx
Exactly
21:33
TofuLynx
so the debayer will have to pad the new pixels?
21:33
TofuLynx
to the existing color array
21:33
BAndiT1983
of course
21:34
TofuLynx
but won't it be hard, as in, how do you work with offsets if it's always changing in size? You create an extra array?
21:35
BAndiT1983
width and height are supplied by image loader, afterwards you just calculate the offset, automatically, and use it for iterating
21:35
TofuLynx
that's not my problem
21:35
TofuLynx
basically
21:35
TofuLynx
the debayer will modify the existing channel arrays, right?
21:35
BAndiT1983
yes
21:36
TofuLynx
how do you modify the channel arrays without "losing" the raw channel array?
21:37
BAndiT1983
haven't considered non-destructive editing for now, was planned for later
21:37
BAndiT1983
but if the method is changed, then the image would be loaded again and processed from start
21:37
TofuLynx
yeah exactly!
21:38
TofuLynx
I think it's better to use a non destruitive method
21:38
TofuLynx
from the start
21:38
BAndiT1983
otherwise we can store raw data and re-use it, not a big deal
21:38
TofuLynx
Ok! :)
21:38
TofuLynx
I think we could modify the OCimage class
21:39
BAndiT1983
some cache system with pool allocator would be sufficient for now
21:39
TofuLynx
and add three new attributes related to raw info
21:39
TofuLynx
rawRedChannel, green and blue
21:39
BAndiT1983
we can reference the stuff from there, but the idea was to store just some integer value which points to the slot in the pool allocator
21:39
TofuLynx
hmm
21:40
TofuLynx
is there any advantage in using the pool allocator?
21:40
BAndiT1983
yes, performance -> https://www.codeproject.com/KB/cpp/MemoryPool/MemoryPool_Step5.png
21:41
BAndiT1983
everything is stored more or less linearly and you allocate the slots, which are mostly equally sized for loaded frame/s
21:41
BAndiT1983
so new/delete are done in one place and rather seldom, mostly for bigger pages
21:41
TofuLynx
I see, so we would just need some pointer, as you said
21:41
BAndiT1983
pointer or just an integer, depends on how the pool allocator works
21:42
TofuLynx
Is it implemented?
21:42
TofuLynx
Static Allocator?
21:43
BAndiT1983
planned it, but we can rely on some existing lib, posted a link before, have to find it again
21:43
BAndiT1983
at the moment i want to get more progress, so implementing c++11 compliant stuff is tedious
21:44
TofuLynx
Okk!
21:44
TofuLynx
then later tell me about the progress regarding the allocator
21:45
BAndiT1983
which progress?
21:45
TofuLynx
this: "planned it, but we can rely on some existing lib, posted a link before, have to find it again"
21:46
BAndiT1983
ok, will look for it, but there are a lot of allocator libs on github, just have to find one which fits our requirements
21:47
BAndiT1983
this ones comes up a lot in my search -> https://github.com/foonathan/memory
21:47
BAndiT1983
there is a block allocator there, but it needs evaluation
21:48
TofuLynx
is its license compatible with the project?
21:49
BAndiT1983
Bertl_oO, is the expert there
21:50
TofuLynx
Ok xD
21:50
TofuLynx
it seems in fact straightforward and easy to use
21:51
Bertl_oO
expert on what? FOSS/OH licenses?
21:51
BAndiT1983
yep
21:51
Bertl_oO
https://en.wikipedia.org/wiki/License_compatibility
21:51
g3gg0
https://github.com/foonathan/memory/blob/master/LICENSE
21:51
g3gg0
sounds very permissive
21:52
g3gg0
compatible to any source or binary release if you ask me (non-expert in FOSS)
21:52
BAndiT1983
Bertl_oO, what are the apertus requirements about licenses?
21:52
BAndiT1983
zlib is usually not a bad license
21:53
BAndiT1983
seems like GPL compatible -> https://en.wikipedia.org/wiki/Zlib_License
21:54
Bertl_oO
all FOSS/OH licenses are fine with apertus, as long as they do work with eachother (depends on project)
21:54
g3gg0
"A short permissive license, compatible with GPL. Requires altered source versions to be documented as such."
21:55
BAndiT1983
altering is not required yet, so it should be fine for now
21:55
TofuLynx
Ok cool :)
21:55
g3gg0
even if, just marking is enough
21:55
g3gg0
Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
21:57
g3gg0
dont see any risk with it. keep the LICENSE in the sources, and note if changes were made
21:58
BAndiT1983
usual approach is that cmake downloads the repo to 3rdParty folder, so it should contain everything
21:59
BAndiT1983
as it also allows to specify commit number to checkout, we are relatively safe, if newer versions should crash or do funny stuff
22:10
BAndiT1983
so, off for today, TofuLynx, if you need soemthing, then write it here or send me an email
22:10
BAndiT1983
see you
22:10
BAndiT1983
changed nick to: BAndiT1983|away
22:12
TofuLynx
Good Night!
22:17
TofuLynx
left the channel
22:46
g3gg0
left the channel
23:13
RexOrCine|away
changed nick to: RexOrCine