blob: 5677f2f1eedb29d6db1670950a0d064da9ce48c0 [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
import sys
import csv
import struct
with open(sys.argv[1])as f:
counter=0
f_csv = csv.reader(f)
calman_ver = f_csv.next()
print(calman_ver[0])
lut_date = f_csv.next()
print(lut_date[0])
lut_size = f_csv.next()
lut_bitdepth = f_csv.next()
lut_order = f_csv.next()
print(lut_size[0])
print(lut_bitdepth[0])
print(lut_order[0])
with open('3dlut.bin', 'ab')as fb:
for row in f_csv:
if counter==0:
data0_f = 4095.0*float(row[3])
data1_f = 4095.0*float(row[4])
data2_f = 4095.0*float(row[5])
counter=1
elif counter==1:
data3_f = 4095.0*float(row[3])
data4_f = 4095.0*float(row[4])
data5_f = 4095.0*float(row[5])
data0 = int(data0_f)
data1 = int(data1_f)
data2 = int(data2_f)
data3 = int(data3_f)
data4 = int(data4_f)
data5 = int(data5_f)
#print("%d, %d, %d" %(data0, data1, data2))
#print("%d, %d, %d" %(data3, data4, data5))
combine0 = data0 | (data1 << 12)
combine1 = data2 | (data3 << 12)
combine2 = data4 | (data5 << 12)
counter=0
a = struct.pack('BBBBBBBBB', combine0 & 0xff, (combine0 >> 8) & 0xff, (combine0 >> 16) & 0xff, combine1 & 0xff, (combine1 >> 8) & 0xff, (combine1 >> 16) & 0xff, combine2 & 0xff, (combine2 >> 8) & 0xff, (combine2 >> 16) & 0xff)
fb.write(a)
if counter==1:
data0 = int(data0_f)
data1 = int(data1_f)
data2 = int(data2_f)
data3 = 4095
data4 = 4095
data5 = 4095
print("%d, %d, %d" %(data0, data1, data2))
print("%d, %d, %d" %(data3, data4, data5))
combine0 = data0 | (data1 << 12)
combine1 = data2 | (data3 << 12)
combine2 = data4 | (data5 << 12)
a = struct.pack('BBBBBBBBB', combine0 & 0xff, (combine0 >> 8) & 0xff, (combine0 >> 16) & 0xff, combine1 & 0xff, (combine1 >> 8) & 0xff, (combine1 >> 16) & 0xff, combine2 & 0xff, (combine2 >> 8) & 0xff, (combine2 >> 16) & 0xff)
fb.write(a)
print('done')