Current Server Time: 23:47 (Central Europe)

#apertus IRC Channel Logs

2021/02/10

Timezone: UTC


03:58
eppisai
joined the channel
04:03
Bertl_oO
off to bed now ... have a good one everyone!
04:03
Bertl_oO
changed nick to: Bertl_zZ
04:37
lexano
left the channel
04:42
lexano
joined the channel
04:45
MarkVandenBorre[
left the channel
04:46
metal_dent[m]
left the channel
04:46
aleb
left the channel
04:46
elkos
left the channel
04:48
panintended
left the channel
04:49
promach3
left the channel
04:50
karl[m]
left the channel
05:07
elkos
joined the channel
05:14
panintended
joined the channel
05:18
MarkVandenBorre[
joined the channel
05:18
metal_dent[m]
joined the channel
05:19
aleb
joined the channel
05:25
promach3
joined the channel
05:25
karl[m]
joined the channel
05:54
eppisai
left the channel
05:56
eppisai
joined the channel
06:10
BAndiT1983|away
changed nick to: BAndiT1983
07:26
se6ast1an
good day
08:55
eppisai
left the channel
08:56
eppisai
joined the channel
09:29
eppisai
left the channel
09:37
miek
left the channel
11:00
comradekingu
left the channel
11:33
Bertl_zZ
changed nick to: Bertl
11:33
Bertl
morning folks!
11:33
comradekingu
joined the channel
11:33
anuejn
morning :)
12:51
Bertl
off for now ... bbs
12:51
Bertl
changed nick to: Bertl_oO
12:59
FastLizard4dJ
joined the channel
12:59
FastLizard4dJ
left the channel
13:01
brykr
joined the channel
13:01
brykr
left the channel
13:02
dxgN
joined the channel
13:02
dxgN
left the channel
13:07
foamziB
joined the channel
13:08
foamziB
/!\ this channel has moved to ##hamradio /!\
13:08
foamziB
left the channel
13:09
sjumsKV
joined the channel
13:09
sjumsKV
/!\ this channel has moved to ##hamradio /!\
13:09
sjumsKV
left the channel
13:12
MalReynolds
joined the channel
13:12
MalReynolds
/!\ this channel has moved to #nyymit /!\
13:12
brackets
joined the channel
13:13
brackets
/!\ this channel has moved to #nyymit /!\
13:13
MalReynolds
left the channel
13:13
brackets
left the channel
13:13
boserzQ
joined the channel
13:13
boserzQ
/!\ this channel has moved to #nyymit /!\
13:14
Afflictionvm
joined the channel
13:14
HoloTR
joined the channel
13:14
Afflictionvm
/!\ this channel has moved to #nyymit /!\
13:14
HoloTR
left the channel
13:15
cyberlardhT
joined the channel
13:15
boserzQ
left the channel
13:15
cyberlardhT
/!\ this channel has moved to #nyymit /!\
13:15
badpixelgK
joined the channel
13:15
badpixelgK
/!\ this channel has moved to #nyymit /!\
13:15
cyberlardhT
left the channel
13:15
Afflictionvm
left the channel
13:16
badpixelgK
left the channel
13:16
jameslzr
joined the channel
13:16
jameslzr
/!\ this channel has moved to #nyymit /!\
13:17
jameslzr
left the channel
13:23
se6ast1an
new freenode spam wave incoming?
13:49
Bertl_oO
changed nick to: Bertl
14:56
eppisai
joined the channel
15:45
BAndiT1983
changed nick to: BAndiT1983|away
15:51
BAndiT1983|away
changed nick to: BAndiT1983
16:18
eppisai
left the channel
16:43
eppisai
joined the channel
17:41
RexOrCine1
joined the channel
17:42
RexOrCine
left the channel
18:11
eppisai
left the channel
18:26
BAndiT1983
changed nick to: BAndiT1983|away
18:29
eppisai
joined the channel
18:59
intrac
left the channel
19:00
intrac
joined the channel
19:05
BAndiT1983|away
changed nick to: BAndiT1983
19:28
Bertl
off for now ... bbl
19:28
Bertl
changed nick to: Bertl_oO
20:07
eppisai
left the channel
20:40
eppisai
joined the channel
20:46
anuejn
Bertl_oO: why is the fill order of the current raw12 files the way it is
20:46
anuejn
it seems... not very handy
21:47
Bertl_oO
you mean the RG/GB/O pattern?
21:51
anuejn
no
21:51
anuejn
intuitively I would expect the data to be packed this way:
21:52
anuejn
(assuming the least significant bit is written right and the byte with the lowest address is the rightmost byte)
21:52
anuejn
BA987654 3210BA98 76543210
21:53
anuejn
but the data is encoded this way:
21:53
Bertl_oO
i.e. little endian?
21:53
anuejn
yes somehow something like that but it is not clear to me how le and be interact with the data being 12 bit
21:54
eppisai
left the channel
21:54
anuejn
76543210 3210BA98 BA987654
21:55
Bertl_oO
how do you look at the data? i.e. who assembles the bytes here?
21:55
Bertl_oO
and is that system little or big endian :)
21:55
anuejn
err 76543210 BA983210 BA987654
21:56
anuejn
currently I am doing this more or less in my head
21:56
Bertl_oO
well, if you have the following bytes:
21:56
Bertl_oO
01 23 45 67 89 (all hex)
21:56
anuejn
but afaik all the systems I work with are little endian (x86 and arm)
21:57
Bertl_oO
then there is one way to create a 'stream' of bytes from left to right
21:57
Bertl_oO
0123456789....
21:57
Bertl_oO
now if you cut that into 12bit sequences, the question is what bit comes first
21:58
Bertl_oO
i.e. big endian, you start with 102
21:58
anuejn
is your lowest memory addres on the right or on the left?
21:58
Bertl_oO
lowest memory is the first byte
21:58
Bertl_oO
i.e. on the left
21:58
anuejn
okay
21:59
Bertl_oO
ah, sorry, big endian would be 103
21:59
Bertl_oO
and little endian will be 012
22:00
Bertl_oO
it is basically one of those two options if you consider byte streams
22:00
Bertl_oO
now the real problem comes when you read the bytes in larger chunks
22:01
Bertl_oO
e.g. read 4 bytes in one 32bit word
22:01
Bertl_oO
because now the bytes can get read in two different orders depending on the endianess
22:02
Bertl_oO
so 01 23 45 67 might end up as 01234567 or 67452301
22:02
anuejn
I see that
22:03
anuejn
so your gateware writes the 12bit values big endian packed?
22:04
Bertl_oO
the data is packed in the natural order (FPGA) side and then written out by the AXI interface (without any reordering)
22:04
Bertl_oO
the arm architecture is by default big endian, although it can do little endian as well
22:05
anuejn
arm is big endian o_O?
22:06
anuejn
hm... my original confusion comes from the fact that I am also packing the data in the natural order from the fpga and write it to the axi interface
22:06
BAndiT1983
wiki says the opposite is the case
22:06
BAndiT1983
little-endianness is the dominant ordering for processor architectures (x86, most ARM implementations, base RISC-V implementations) and their associated memory.
22:06
anuejn
then I stream it over ethernet and I get different data than you
22:08
Bertl_oO
sorry, the other way round, little endian and can do big endian
22:08
anuejn
okay
22:08
anuejn
so everything in the process is le
22:09
anuejn
and I guess the natural order in the fpga is also le
22:12
Bertl_oO
no idea, IIRC, AXI is considered endianess invariant
22:13
anuejn
hm... I guess I have to read your gearbox then
22:14
Bertl_oO
the main question is if the difference doesn't come from the userspace tools repacking the image
22:15
Bertl_oO
i.e. are you looking at the .raw files or are you looking at the frame buffer memory in the beta
22:15
anuejn
I am loading the .raw12 files
22:15
Bertl_oO
because we changed the .raw format so often, that I do not have a clue what we currently do there anymore :)
22:15
anuejn
ah I see that
22:16
anuejn
I am quite confued myself (as you might see)
22:16
Bertl_oO
it is definitely confusing :)
22:16
anuejn
somehow dng only seems to allow your packing and not mine
22:17
anuejn
> If BitsPerSample is not equal to 8 or 16 or 32, then the bits
22:17
anuejn
must be packed into bytes using the TIFF default FillOrder of 1 (big-endian), even if the TIFF
22:17
anuejn
file itself uses little-endian byte order.
22:18
Bertl_oO
IIRC, we changed something back then to make dng happy, but I'm not sure if that was in the format or not
22:18
anuejn
that seems... dumb to me
22:18
anuejn
ah probably it was
22:18
anuejn
that explains that
22:18
Bertl_oO
alexML probably knows more there
22:18
anuejn
so cmv_snap already does a lot of that byte cooking?
22:19
Bertl_oO
I think DNG is somehow related to TIFF and if I'm not mistaken, TIFF is big endian encoded
22:19
BAndiT1983
DNG is TIFF extension
22:20
BAndiT1983
TIFF has also the endianess marker at the beginning
22:20
anuejn
TIFF can do both ;)
22:20
BAndiT1983
II or MM
22:20
anuejn
but the quote that I posted forbids the use of le bit packing
22:20
BAndiT1983
Every TIFF file begins with a two-byte indicator of byte order: "II" for little-endian (a.k.a. "Intel byte ordering", circa 1980)[9] or "MM" for big-endian (a.k.a. "Motorola byte ordering", circa 1980)[9] byte ordering.
22:20
BAndiT1983
https://en.wikipedia.org/wiki/TIFF
22:21
Bertl_oO
we can agree that it is all very confusing :)
22:22
BAndiT1983
is the packing in TIFF really always LE?
22:25
anuejn
no but in 12bit dng
22:25
anuejn
Bertl_oO: +1
22:31
anuejn
has an exploded head
22:32
BAndiT1983
https://thumbs.gfycat.com/BiodegradableVelvetyAnglerfish-mobile.mp4