Current Server Time: 15:05 (Central Europe)

#apertus IRC Channel Logs

2021/02/10

Timezone: UTC


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