Update codec layouts to datasets

This commit is contained in:
Hoang Hong Quan
2024-10-17 03:17:21 +07:00
parent 4e593560ec
commit 0ae1e3cc71
4 changed files with 4 additions and 42 deletions

View File

@@ -2,7 +2,7 @@ from Scripts.datasets import chipset_data
from Scripts.datasets import gpu_data
from Scripts.datasets import os_data
from Scripts.datasets import pci_data
from Scripts import codec_layouts
from Scripts.datasets import codec_layouts
from Scripts import utils
import time

View File

@@ -3,7 +3,7 @@ from Scripts.datasets import cpu_data
from Scripts.datasets import mac_model_data
from Scripts.datasets import os_data
from Scripts.datasets import pci_data
from Scripts import codec_layouts
from Scripts.datasets import codec_layouts
from Scripts import gathering_files
from Scripts import smbios
from Scripts import utils

View File

@@ -1,41 +1,8 @@
import utils
import os
u = utils.Utils()
class Layout:
def __init__(self, id, comment):
self.id = id
self.comment = comment
def get_layout_ids(applealc_path):
if not os.path.exists(applealc_path):
return {}
plist_path = os.path.join(applealc_path, "Contents", "Info.plist")
plist_data = u.read_file(plist_path)
if not plist_data:
return {}
codec_layouts = {}
hda_config_defaults = plist_data.get("IOKitPersonalities", {}).get("as.vit9696.AppleALC", {}).get("HDAConfigDefault", [])
for layout in hda_config_defaults:
codec_id_hex = u.int_to_hex(layout.get("CodecID", 0)).zfill(8)
formatted_codec_id = "{}-{}".format(codec_id_hex[:4], codec_id_hex[-4:])
id = layout.get("LayoutID")
comment = layout.get("Codec") or layout.get("Comment") or layout.get("CodecName")
if id is not None:
if formatted_codec_id not in codec_layouts:
codec_layouts[formatted_codec_id] = []
codec_layouts[formatted_codec_id].append(Layout(id, comment))
for codec_id in codec_layouts:
codec_layouts[codec_id] = sorted(codec_layouts[codec_id], key=lambda layout:layout.id)
return codec_layouts
data = {
"10EC-0295": [
Layout(
@@ -2821,9 +2788,4 @@ data = {
comment="Enrico - GA-Z77X-D3Hrev1.0 - VIA VT2020/2021"
)
]
}
for codec_name, codec_data in data.items():
recommend_author = ("Mirone", "InsanelyDeepak", "Toleda", "DalianSky")
recommend_layouts = list(layout for layout in codec_data if u.contains_any(recommend_author, layout.comment))
print("{}: {}".format(codec_name, recommend_layouts or codec_data))
}

View File

@@ -3,7 +3,7 @@ from Scripts.datasets import cpu_data
from Scripts.datasets import kext_data
from Scripts.datasets import os_data
from Scripts.datasets import pci_data
from Scripts import codec_layouts
from Scripts.datasets import codec_layouts
from Scripts import utils
import os
import shutil