/Documentation/theme/

switch'/> libcamera official repositorygit repository hosting on libcamera.org
summaryrefslogtreecommitdiff
path: root/utils/raspberrypi/ctt/convert_tuning.py
blob: f4504d457b2cf6f39c724fca08adcf34052d8e69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python3
#
# SPDX-License-Identifier: BSD-2-Clause
#
# Script to convert version 1.0 Raspberry Pi camera tuning files to version 2.0.
#
# Copyright 2022 Raspberry Pi Ltd

import argparse
import json
import sys

from ctt_pretty_print_json import pretty_print


def convert_v2(in_json: dict) -> str:

    if 'version' in in_json.keys() and in_json['version'] != 1.0:
        print(f'The JSON config reports version {in_json["version"]} that is incompatible with this tool.')
        sys.exit(-1)

    converted = {
        'version': 2.0,
        'target': 'bcm2835',
        'algorithms': [{algo: config} for algo, config in in_json.items()]
    }

    return pretty_print(converted)


if __name__ == "__main__":