#!/usr/bin/env python
## Copyright (c) 2021, Alliance for Open Media. All rights reserved
##
## This source code is subject to the terms of the BSD 3-Clause Clear License and the
## Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear License was
## not distributed with this source code in the LICENSE file, you can obtain it
## at aomedia.org/license/software-license/bsd-3-c-c/.  If the Alliance for Open Media Patent
## License 1.0 was not distributed with this source code in the PATENTS file, you
## can obtain it at aomedia.org/license/patent-license/.
##
__author__ = "maggie.sun@intel.com, ryanlei@meta.com"

"""
Python file for definition of AV2 CTC testing clips/sets
"""

import os
import yaml

# Load CTC_VERSION from config.yaml
def _load_ctc_version():
    script_dir = os.path.dirname(os.path.abspath(__file__))
    config_file = os.path.join(script_dir, "config.yaml")
    if os.path.exists(config_file):
        with open(config_file, 'r') as f:
            config = yaml.safe_load(f)
        return config.get('ctc_version', '8.0')
    return '8.0'

CTC_VERSION = _load_ctc_version()

CTC_TEST_SET = {
    "AI": ["A1", "A2", "A3", "A4", "A5", "B1", "B2", "G1", "G2", "E"],
    "RA": ["A1", "A2", "A3", "A4", "A5", "B1", "B2", "G1", "G2", "E"],
    "LD": ["A2", "A3", "A4", "A5", "B1", "B2"],
    "AS": ["A1"],
    "STILL": ["F1", "F2"],
}

Y4M_CLIPs = {
    "A1": (
        [
            "BoxingPractice_3840x2160_5994fps_10bit_420.y4m",
            "Crosswalk_3840x2160_5994fps_10bit_420.y4m",
            "FoodMarket2_3840x2160_5994fps_10bit_420.y4m",
            "Neon1224_3840x2160_2997fps.y4m",
            "NocturneDance_3840x2160p_10bit_60fps.y4m",
            "PierSeaSide_3840x2160_2997fps_10bit_420_v2.y4m",
            "Tango_3840x2160_5994fps_10bit_420.y4m",
            "TimeLapse_3840x2160_5994fps_10bit_420.y4m",
        ]
        if (CTC_VERSION in ["4.0", "5.0", "6.0", "7.0", "8.0"])
        else [
            "BoxingPractice_3840x2160_5994fps_10bit_420.y4m",
            "Crosswalk_3840x2160_5994fps_10bit_420.y4m",
            "FoodMarket2_3840x2160_5994fps_10bit_420.y4m",
            "Neon1224_3840x2160_2997fps.y4m",
            "NocturneDance_3840x2160p_10bit_60fps.y4m",
            "PierSeaSide_3840x2160_2997fps_10bit_420.y4m",
            "Tango_3840x2160_5994fps_10bit_420.y4m",
            "TimeLapse_3840x2160_5994fps_10bit_420.y4m",
        ]
    ),
    "A2": (
        [
            "Aerial3200_1920x1080_5994_10bit_420.y4m",
            "Boat_1920x1080_5994_10bit_420.y4m",
            "CrowdRun_1920x1080p50.y4m",
            "DinnerSceneCropped_1920x1080_2997fps_10bit_420.y4m",
            "FoodMarket_1920x1080_5994_10bit_420.y4m",
            "GregoryScarf_1080x1920p30_yuv420p10le_130frames.y4m",
            "MeridianTalk_sdr_1920x1080p_5994_10bit.y4m",
            "Motorcycle_1920x1080_30fps_8bit.y4m",
            "OldTownCross_1920x1080p50.y4m",
            "PedestrianArea_1920x1080p25.y4m",
            "RitualDance_1920x1080_5994_10bit_420.y4m",
            "Riverbed_1920x1080p25.y4m",
            "RushFieldCuts_1920x1080_2997.y4m",
            "Skater227_1920x1080_30fps.y4m",
            "ToddlerFountainCropped_1080x1080p2997_yuv420p10le_130frames.y4m",
            "TreesAndGrass_1920_1080_30fps_8bit.y4m",
            "TunnelFlag_1920x1080_5994_10bit_420.y4m",
            "Vertical_bees_1080x1920_2997.y4m",
            "WorldCup_1920x1080_30p.y4m",
        ]
        if (CTC_VERSION in ["5.0", "6.0", "7.0", "8.0"])
        else [
            "Aerial3200_1920x1080_5994_10bit_420.y4m",
            "Boat_1920x1080_5994_10bit_420.y4m",
            "CrowdRun_1920x1080p50.y4m",
            "DinnerSceneCropped_1920x1080_2997fps_10bit_420.y4m",
            "FoodMarket_1920x1080_5994_10bit_420.y4m",
            "MeridianTalk_sdr_1920x1080p_5994_10bit.y4m",
            "Motorcycle_1920x1080_30fps_8bit.y4m",
            "MountainBike_1920x1080_30fps_8bit.y4m",
            "OldTownCross_1920x1080p50.y4m",
            "PedestrianArea_1920x1080p25.y4m",
            "RitualDance_1920x1080_5994_10bit_420.y4m",
            "Riverbed_1920x1080p25.y4m",
            "RushFieldCuts_1920x1080_2997.y4m",
            "Skater227_1920x1080_30fps.y4m",
            "ToddlerFountain_1920x1080_2997fps_10bit_420.y4m",
            "TreesAndGrass_1920_1080_30fps_8bit.y4m",
            "TunnelFlag_1920x1080_5994_10bit_420.y4m",
            "Vertical_bees_1080x1920_2997.y4m",
            "Vertical_Carnaby_1080x1920_5994.y4m",
            "WalkingInStreet_1920x1080_30fps.y4m",
            "WorldCup_1920x1080_30p.y4m",
            "WorldCup_far_1920x1080_30p.y4m",
        ]
    ),
    "A3": [
        "ControlledBurn_1280x720p30_420.y4m",
        "DrivingPOV_1280x720p_5994_10bit_420.y4m",
        "Johnny_1280x720_60.y4m",
        "KristenAndSara_1280x720_60.y4m",
        "RollerCoaster_1280x720p_5994_10bit_420.y4m",
        "Vidyo3_1280x720p_60fps.y4m",
        "Vidyo4_1280x720p_60fps.y4m",
        "WestWindEasy_1280x720p30_420.y4m",
    ],
    "A4": (
        [
            "BlueSky_360p25_v2.y4m",
            "RedKayak_360_2997.y4m",
            "SnowMountain_640x360_2997.y4m",
            "SpeedBag_640x360_2997.y4m",
            "Stockholm_640x360_5994.y4m",
            "TouchdownPass_640x360_2997.y4m",
        ]
        if (CTC_VERSION in ["4.0", "5.0", "6.0", "7.0", "8.0"])
        else [
            "BlueSky_360p25.y4m",
            "RedKayak_360_2997.y4m",
            "SnowMountain_640x360_2997.y4m",
            "SpeedBag_640x360_2997.y4m",
            "Stockholm_640x360_5994.y4m",
            "TouchdownPass_640x360_2997.y4m",
        ]
    ),
    "A5": [
        "FourPeople_480x270_60.y4m",
        "ParkJoy_480x270_50.y4m",
        "SparksElevator_480x270p_5994_10bit.y4m",
        "Vertical_Bayshore_270x480_2997.y4m",
    ],
    "B1": (
        [
            "CosmosTreeTrunk_sdr_2048x858_25_8bit.y4m",
            "EuroTruckSimulator2_1920x1080p60_v2.y4m",
            "GlassHalf_1920x1080p_24p_8bit_420.y4m",
            "Life_1080p30_v2.y4m",
            "MINECRAFT_1080p_60_8bit.y4m",
            "Sniper_1920x1080P_30fps_8bit.y4m",
            "SolLevanteDragons_sdr_1920x1080_24_10bit.y4m",
            "SolLevanteFace_sdr_1920x1080_24_10bit.y4m",
            "STARCRAFT_1080p60.y4m",
            "WITCHER3_1920x1080_60_8bit_420.y4m",
        ]
        if (CTC_VERSION in ["4.0", "5.0", "6.0", "7.0", "8.0"])
        else (
            [
                "CosmosTreeTrunk_sdr_2048x858_25_8bit.y4m",
                "DOTA2_1920x1080_60_8bit_420.y4m",
                "EuroTruckSimulator2_1920x1080p60.y4m",
                "GlassHalf_1920x1080p_24p_8bit_420.y4m",
                "Life_1080p30.y4m",
                "MINECRAFT_1080p_60_8bit.y4m",
                "Sniper_1920x1080P_30fps_8bit.y4m",
                "SolLevanteDragons_sdr_1920x1080_24_10bit.y4m",
                "SolLevanteFace_sdr_1920x1080_24_10bit.y4m",
                "WITCHER3_1920x1080_60_8bit_420.y4m",
            ]
            if (CTC_VERSION in ["3.0"])
            else (
                [
                    "CosmosTreeTrunk_sdr_2048x858_25_8bit.y4m",
                    "DOTA2_1920x1080_60_8bit_420.y4m",
                    "EuroTruckSimulator2_1920x1080p60.y4m",
                    "GlassHalf_1920x1080p_24p_8bit_420.y4m",
                    "Life_1080p30.y4m",
                    "MINECRAFT_1080p_60_8bit.y4m",
                    "MissionControlClip3_1920x1080_60_420.y4m",
                    "Sniper_1920x1080P_30fps_8bit.y4m",
                    "SolLevanteDragons_sdr_1920x1080_24_10bit.y4m",
                    "SolLevanteFace_sdr_1920x1080_24_10bit.y4m",
                    "Wikipedia_1920x1080p30.y4m",
                    "WITCHER3_1920x1080_60_8bit_420.y4m",
                ]
                if (CTC_VERSION in ["2.0"])
                else [
                    "AOV5_1920x1080_60_8bit_420.y4m",
                    "Baolei_2048x1080_60fps.y4m",
                    "CosmosTreeTrunk_sdr_2048x858_25_8bit.y4m",
                    "EuroTruckSimulator2_1920x1080p60.y4m",
                    "GlassHalf_1920x1080p_24p_8bit_420.y4m",
                    "Life_1080p30.y4m",
                    "MINECRAFT_1080p_60_8bit.y4m",
                    "MissionControlClip3_1920x1080_60_420.y4m",
                    "Sniper_1920x1080P_30fps_8bit.y4m",
                    "SolLevanteDragons_sdr_1920x1080_24_10bit.y4m",
                    "SolLevanteFace_sdr_1920x1080_24_10bit.y4m",
                    "Wikipedia_1920x1080p30.y4m",
                ]
            )
        )
    ),
    "B2": (
        [
            "BigBuckBunnyStudio1_1920x1080_60fps_10bit_420_020_0149.y4m",
            "Debugging_1920x1080_30fps_8bit_420.y4m",
            "MissionControlClip1_1920x1080_60fps_10bit_420_0450_0579.y4m",
            "MobileDeviceScreenSharing.y4m",
            "SceneComposition_2.y4m",
            "Slides1_1920x1080_30fps_8bit_420.y4m",
            "Slides2r_1920x1080_30fps_8bit_420.y4m",
            "Spreadsheet_1920x1080_30fps_8bit_420_130f.y4m",
            "Wikipedia_1920x1080p30.y4m",
        ]
        if (CTC_VERSION in ["5.0", "6.0", "7.0", "8.0"])
        else [
            "BigBuckBunnyStudio1_1920x1080_60fps_10bit_420_020_0149.y4m",
            "Debugging_1920x1080_30fps_8bit_420.y4m",
            "MissionControlClip1_1920x1080_60fps_10bit_420_0450_0579.y4m",
            "MissionControlClip3_1920x1080_60_420.y4m",
            "MobileDeviceScreenSharing.y4m",
            "SceneComposition_1.y4m",
            "SceneComposition_2.y4m",
            "Slides1_1920x1080_30fps_8bit_420.y4m",
            "Slides2r_1920x1080_30fps_8bit_420.y4m",
            "Spreadsheet_1920x1080_30fps_8bit_420_130f.y4m",
            "Wikipedia_1920x1080p30.y4m",
        ]
    ),
    "F1": [
        "animals_00.y4m",
        "animals_03.y4m",
        "animals_09.y4m",
        "buildings_02.y4m",
        "buildings_03.y4m",
        "church.y4m",
        "fireworks_01.y4m",
        "flowerfield.y4m",
        "flowers_08.y4m",
        "flowers_12.y4m",
        "food_02.y4m",
        "fountain.y4m",
        "lady.y4m",
        "landscape_05.y4m",
        "landscape_15.y4m",
        "landscape_16.y4m",
        "landscape_18.y4m",
        "landscape_25.y4m",
        "landscape_26.y4m",
        "landscape_28.y4m",
        "lodge.y4m",
        "party.y4m",
        "river.y4m",
        "santa.y4m",
        "seafood.y4m",
        "snow_00.y4m",
        "trees.y4m",
        "underwater_01.y4m",
    ],
    "F2": [
        "Adventure_with_the_Windmills.y4m",
        "Agapanthus_Postbloom2.y4m",
        "Baruch.y4m",
        "Berlin-Fernsehturm.y4m",
        "Big_Easy_chair.y4m",
        "Butterfly.y4m",
        "Cecret_Lake_Panorama.y4m",
        "Claudette.y4m",
        "Collage_Oppeln.y4m",
        "Corona_Arch.y4m",
        "Correfocs_Festa_Major_del_Clot.y4m",
        "Crepuscular_rays_at_Sunset_near_Waterberg_Plateau.y4m",
        "Esquibien_Jean_Perrot.y4m",
        "Florac-Le_Vibron-Source_du_Pecher.y4m",
        "Fontaine_Place_Stanislas.y4m",
        "Genmaicha_Tea.y4m",
        "Homestead_in_Montana.y4m",
        "Madeira_151_Funchal_Mercado_dos_Lavradores.y4m",
        "Madeira_159_Funchal_Mercado_dos_Lavradores.y4m",
        "MagicKindom.y4m",
        "Michigan_Stadium.y4m",
        "OperaLamps.y4m",
        "Orion_Nebula.y4m",
        "Saint_Catherine-Caravaggio.y4m",
        "Streptopelia_orientalis.y4m",
        "Swallowtail.y4m",
        "Washington_Monument.y4m",
        "Wasserfassstelle_von_1898_im_Schanerloch.y4m",
        "Zoo_de_la_Barben.y4m",
    ],
    "G1": [
        "MeridianRoad_3840x2160_5994_hdr10.y4m",
        "NocturneDance_3840x2160_60fps_hdr10.y4m",
        "NocturneRoom_3840x2160_60fps_hdr10.y4m",
        "SparksWelding_4096x2160_5994_hdr10.y4m",
    ],
    "G2": [
        "CosmosCaterpillar_2048x858p24_hdr10.y4m",
        "CosmosTreeTrunk_2048x858p24_hdr10.y4m",
        "MeridianShore_1920x1080_5994_hdr10.y4m",
        "MeridianTalk_1920x1080_5994_hdr10.y4m",
        "SolLevanteDragons_1920x1080p24_hdr10.y4m",
        "SolLevanteFace_1920x1080p24_hdr10.y4m",
        "SparksTruck_2048x1080_5994_hdr10.y4m",
    ],
    "E": (
        [
            "Artistic_Concert_1920x1080_25fps.y4m",
            "Artistic_Intro_1920x1080_2997fps.y4m",
            "MixedCoding_NewsIntroAnchor_1280x720_2997fps.y4m",
            "MixedCoding_NewsIntroOnly_1280x720_2997fps.y4m",
            "MountainBike_1920x1080_30fps_8bit.y4m",
            "Noise_AnimationCrayon_1920x1080_2398fps.y4m",
            "Noise_Animation_1280x720_2398fps.y4m",
            "Noise_Ocean_1920x1080_60fps.y4m",
            "Noise_Soccer_1920x1080_50fps.y4m",
            "Shaky_Baseball_3840x2160_5994fps.y4m",
            "Shaky_Fireworks_3840x2160_2997fps.y4m",
            "Shaky_Quad_1920x1080_30fps.y4m",
            "Shaky_Walk_1920x1080_25fps.y4m",
            "Vertical_Carnaby_1080x1920_5994.y4m",
            "WalkingInStreet_1920x1080_30fps.y4m",
            "WorldCup_far_1920x1080_30p.y4m",
        ]
        if (CTC_VERSION in ["5.0", "6.0", "7.0", "8.0"])
        else [
            "Artistic_Concert_1920x1080_25fps.y4m",
            "Artistic_Intro_1920x1080_2997fps.y4m",
            "MixedCoding_NewsIntroAnchor_1280x720_2997fps.y4m",
            "MixedCoding_NewsIntroOnly_1280x720_2997fps.y4m",
            "Noise_AnimationCrayon_1920x1080_2398fps.y4m",
            "Noise_Animation_1280x720_2398fps.y4m",
            "Noise_Ocean_1920x1080_60fps.y4m",
            "Noise_Soccer_1920x1080_50fps.y4m",
            "Shaky_Baseball_3840x2160_5994fps.y4m",
            "Shaky_Fireworks_3840x2160_2997fps.y4m",
            "Shaky_Quad_1920x1080_30fps.y4m",
            "Shaky_Walk_1920x1080_25fps.y4m",
        ]
    ),
}

ECF_TEST_SET = {
    "AI": ["ECF-1", "ECF-2", "ECF-3", "ECF-4", "ECF-5", "ECF-6"],
    "RA": ["ECF-1", "ECF-2", "ECF-3", "ECF-4", "ECF-5", "ECF-6"],
    "LD": ["ECF-1", "ECF-2", "ECF-3", "ECF-4", "ECF-5", "ECF-6"],
}

ECF_Y4M_CLIPs = {
    # ECF-1: 4:4:4 chroma subsampling (Table 14)
    "ECF-1": [
        "CrowdRun_SDR_3840x2160p50_yuv444p10.y4m",
        "MeridianTalk_SDR_3840x2160p5994_yuv444p10.y4m",
        "Neon1224_SDR_1920x1080p2997_yuv444p10.y4m",
        "Smithy_SDR_1920x1080p50_yuv444p10.y4m",
        "SparksElevator_SDR_1280x720p5994_yuv444p10.y4m",
        "STARCRAFT_SDR_1280x720p60_yuv444p.y4m",
        "MotorCycle_SDR_640x360p2997_yuv444p.y4m",
        "NocturneStairs_SDR_640x360_yuv444p10.y4m",
    ],
    # ECF-2: 4:2:2 chroma subsampling (Table 15)
    "ECF-2": [
        "SolLevanteDragons_SDR_3840x2160p24_yuv422p10.y4m",
        "Waterfall_SDR_3840x2160p50_yuv422p10.y4m",
        "DinnerSceneCropped_SDR_1920x1080p2997_yuv422p10.y4m",
        "WaterFlyover_SDR_1920x1080p50_yuv422p10.y4m",
        "EuroTruckSimulator2_SDR_1280x720p60_yuv422p.y4m",
        "PierSeaSide_SDR_1280x720pp2997_yuv422p10.y4m",
        "ControlledBurn_SDR_640x360p30_yuv422p.y4m",
        "ParkJoy_SDR_640x360p50_yuv422p10.y4m",
    ],
    # ECF-3: HDR 4:4:4 content (Table 16)
    "ECF-3": [
        "CosmosTreeTrunk_HDR_2048x858p24_yuv444p10.y4m",
        "MeridianFace_HDR_1920x1080p5994_yuv444p10.y4m",
        "MeridianShore_HDR_3840x2160p5994_yuv444p10.y4m",
        "SparksWelding_HDR_4096x2160_5994_yuv444p10.y4m",
    ],
    # ECF-4: HDR 4:2:2 content (Table 17)
    "ECF-4": [
        "NocturneDance_HDR_3840x2160p60_yuv422p10.y4m",
        "SolLevanteFace_HDR_3840x2160p24_yuv422p10.y4m",
        "CosmosCaterpillar_HDR_2048x858p24_yuv422p10.y4m",
        "NocturneRoom_HDR_1920x1080p60_yuv422p10.y4m",
    ],
    # ECF-5: YCoCg content (Table 18)
    "ECF-5": [
        "MeridianLighting_SDR_3840x2160p5994_ycgco_re.y4m",
        "CosmosSheepRun_SDR_2048x858p24_ycgco_re.y4m",
    ],
    # ECF-6: SCC content / GBR (Table 19)
    "ECF-6": [
        "AppBrowsing_SDR_2048x2732p120_yuv444p.y4m",
        "BigBuckBunnyStudio_SDR_1920x1080p60_gbrp.y4m",
        "MapsGoldenGateBridge_SDR_1920x2560p60_yuv444p.y4m",
        "MeridianCarMixedAVMTV_SDR_1920x1080p5994_yuv444p10.y4m",
        "MissionControlClip3_SDR_1920x1080p60_yuv444p.y4m",
        "PhotoBrowsing_2048x2732p2400_yuv444_130frames_cropped.y4m",
        "Spreadsheet_SDR_1920x1080p30_yuv422p.y4m",
    ],
}

AS_Downscaled_Clips = {
    "BoxingPractice_3840x2160_5994fps_10bit_420": [
        "/A1_4k_1440p/BoxingPractice_2560x1440_5994fps_10bit_420.y4m",
        "/A1_4k_1080p/BoxingPractice_1920x1080_5994fps_10bit_420.y4m",
        "/A1_4k_720p/BoxingPractice_1280x720_5994fps_10bit_420.y4m",
        "/A1_4k_540p/BoxingPractice_960x540_5994fps_10bit_420.y4m",
        "/A1_4k_360p/BoxingPractice_640x360_5994fps_10bit_420.y4m",
    ],
    "Crosswalk_3840x2160_5994fps_10bit_420": [
        "/A1_4k_1440p/Crosswalk_2560x1440_5994fps_10bit_420.y4m",
        "/A1_4k_1080p/Crosswalk_1920x1080_5994fps_10bit_420.y4m",
        "/A1_4k_720p/Crosswalk_1280x720_5994fps_10bit_420.y4m",
        "/A1_4k_540p/Crosswalk_960x540_5994fps_10bit_420.y4m",
        "/A1_4k_360p/Crosswalk_640x360_5994fps_10bit_420.y4m",
    ],
    "FoodMarket2_3840x2160_5994fps_10bit_420": [
        "/A1_4k_1440p/FoodMarket2_2560x1440_5994fps_10bit_420.y4m",
        "/A1_4k_1080p/FoodMarket2_1920x1080_5994fps_10bit_420.y4m",
        "/A1_4k_720p/FoodMarket2_1280x720_5994fps_10bit_420.y4m",
        "/A1_4k_540p/FoodMarket2_960x540_5994fps_10bit_420.y4m",
        "/A1_4k_360p/FoodMarket2_640x360_5994fps_10bit_420.y4m",
    ],
    "Neon1224_3840x2160_2997fps": [
        "/A1_4k_1440p/Neon1224_2560x1440_2997fps.y4m",
        "/A1_4k_1080p/Neon1224_1920x1080_2997fps.y4m",
        "/A1_4k_720p/Neon1224_1280x720_2997fps.y4m",
        "/A1_4k_540p/Neon1224_960x540_2997fps.y4m",
        "/A1_4k_360p/Neon1224_640x360_2997fps.y4m",
    ],
    "NocturneDance_3840x2160p_10bit_60fps": [
        "/A1_4k_1440p/NocturneDance_2560x1440p_10bit_60fps.y4m",
        "/A1_4k_1080p/NocturneDance_1920x1080p_10bit_60fps.y4m",
        "/A1_4k_720p/NocturneDance_1280x720p_10bit_60fps.y4m",
        "/A1_4k_540p/NocturneDance_960x540p_10bit_60fps.y4m",
        "/A1_4k_360p/NocturneDance_640x360p_10bit_60fps.y4m",
    ],
    "PierSeaSide_3840x2160_2997fps_10bit_420_v2": (
        [
            "/A1_4k_1440p/PierSeaSide_2560x1440_2997fps_10bit_420_v2.y4m",
            "/A1_4k_1080p/PierSeaSide_1920x1080_2997fps_10bit_420_v2.y4m",
            "/A1_4k_720p/PierSeaSide_1280x720_2997fps_10bit_420_v2.y4m",
            "/A1_4k_540p/PierSeaSide_960x540_2997fps_10bit_420_v2.y4m",
            "/A1_4k_360p/PierSeaSide_640x360_2997fps_10bit_420_v2.y4m",
        ]
        if (CTC_VERSION in ["4.0", "5.0", "6.0", "7.0", "8.0"])
        else [
            "/A1_4k_1440p/PierSeaSide_2560x1440_2997fps_10bit_420.y4m",
            "/A1_4k_1080p/PierSeaSide_1920x1080_2997fps_10bit_420.y4m",
            "/A1_4k_720p/PierSeaSide_1280x720_2997fps_10bit_420.y4m",
            "/A1_4k_540p/PierSeaSide_960x540_2997fps_10bit_420.y4m",
            "/A1_4k_360p/PierSeaSide_640x360_2997fps_10bit_420.y4m",
        ]
    ),
    "Tango_3840x2160_5994fps_10bit_420": [
        "/A1_4k_1440p/Tango_2560x1440_5994fps_10bit_420.y4m",
        "/A1_4k_1080p/Tango_1920x1080_5994fps_10bit_420.y4m",
        "/A1_4k_720p/Tango_1280x720_5994fps_10bit_420.y4m",
        "/A1_4k_540p/Tango_960x540_5994fps_10bit_420.y4m",
        "/A1_4k_360p/Tango_640x360_5994fps_10bit_420.y4m",
    ],
    "TimeLapse_3840x2160_5994fps_10bit_420": [
        "/A1_4k_1440p/TimeLapse_2560x1440_5994fps_10bit_420.y4m",
        "/A1_4k_1080p/TimeLapse_1920x1080_5994fps_10bit_420.y4m",
        "/A1_4k_720p/TimeLapse_1280x720_5994fps_10bit_420.y4m",
        "/A1_4k_540p/TimeLapse_960x540_5994fps_10bit_420.y4m",
        "/A1_4k_360p/TimeLapse_640x360_5994fps_10bit_420.y4m",
    ],
}
