]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android/external-libkmsxx.git/blob - py/gamma.py
draw_text: support YUV modes
[android/external-libkmsxx.git] / py / gamma.py
1 #!/usr/bin/python3
3 import pykms
4 from helpers import *
6 # This hack makes drm initialize the fbcon, setting up the default connector
7 card = pykms.Card()
8 card = 0
10 card = pykms.Card()
12 conn = card.get_first_connected_connector()
13 mode = conn.get_default_mode()
14 crtc = get_crtc_for_connector(conn)
16 fb = pykms.DumbFramebuffer(card, mode.hdisplay, mode.vdisplay, "XR24");
17 pykms.draw_test_pattern(fb);
19 crtc.set_mode(conn, fb, mode)
21 len=256
22 arr = bytearray(len*2*4)
23 view = memoryview(arr).cast("H")
25 for i in range(len):
26     g = round(65535 * pow(i / float(len), 1 / 2.2))
28     view[i * 4 + 0] = g
29     view[i * 4 + 1] = g
30     view[i * 4 + 2] = g
31     view[i * 4 + 3] = 0
33 gamma = pykms.Blob(card, arr);
35 set_prop(crtc, "GAMMA_LUT", gamma.id)
37 input("press enter to remove gamma\n")
39 set_prop(crtc, "GAMMA_LUT", 0)
41 input("press enter to exit\n")