Current Server Time: 22:51 (Central Europe)

#apertus IRC Channel Logs

2018/04/24

Timezone: UTC


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