Blame src/libbluray/player_settings.h

Packit 5e46da
/*
Packit 5e46da
 * This file is part of libbluray
Packit 5e46da
 * Copyright (C) 2014-2017  VideoLAN
Packit 5e46da
 *
Packit 5e46da
 * This library is free software; you can redistribute it and/or
Packit 5e46da
 * modify it under the terms of the GNU Lesser General Public
Packit 5e46da
 * License as published by the Free Software Foundation; either
Packit 5e46da
 * version 2.1 of the License, or (at your option) any later version.
Packit 5e46da
 *
Packit 5e46da
 * This library is distributed in the hope that it will be useful,
Packit 5e46da
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 5e46da
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 5e46da
 * Lesser General Public License for more details.
Packit 5e46da
 *
Packit 5e46da
 * You should have received a copy of the GNU Lesser General Public
Packit 5e46da
 * License along with this library. If not, see
Packit 5e46da
 * <http://www.gnu.org/licenses/>.
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
#ifndef BD_PLAYER_SETTINGS_H_
Packit 5e46da
#define BD_PLAYER_SETTINGS_H_
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_AUDIO_CAP (PSR15)
Packit 5e46da
 *
Packit 5e46da
 * Player capability for audio (bitmask)
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
Packit 5e46da
    /* LPCM */
Packit 5e46da
Packit 5e46da
    /* 48/96kHz (mandatory) */
Packit 5e46da
    BLURAY_ACAP_LPCM_48_96_STEREO_ONLY = 0x0001,  /* LPCM 48kHz and 96kHz stereo */
Packit 5e46da
    BLURAY_ACAP_LPCM_48_96_SURROUND    = 0x0002,  /* LPCM 48kHz and 96kHz surround */
Packit 5e46da
Packit 5e46da
    /* 192kHz (optional) */
Packit 5e46da
    BLURAY_ACAP_LPCM_192_STEREO_ONLY   = 0x0004,  /* LPCM 192kHz stereo */
Packit 5e46da
    BLURAY_ACAP_LPCM_192_SURROUND      = 0x0008,  /* LPCM 192kHz surround */
Packit 5e46da
Packit 5e46da
    /* Dolby Digital Plus */
Packit 5e46da
Packit 5e46da
    /* independent substream (mandatory) */
Packit 5e46da
    BLURAY_ACAP_DDPLUS_STEREO_ONLY     = 0x0010,
Packit 5e46da
    BLURAY_ACAP_DDPLUS_SURROUND        = 0x0020,
Packit 5e46da
Packit 5e46da
    /* dependent substream (optional) */
Packit 5e46da
    BLURAY_ACAP_DDPLUS_DEP_STEREO_ONLY = 0x0040,
Packit 5e46da
    BLURAY_ACAP_DDPLUS_DEP_SURROUND    = 0x0080,
Packit 5e46da
Packit 5e46da
    /* DTS-HD */
Packit 5e46da
Packit 5e46da
    /* Core substream (mandatory) */
Packit 5e46da
    BLURAY_ACAP_DTSHD_CORE_STEREO_ONLY = 0x0100,
Packit 5e46da
    BLURAY_ACAP_DTSHD_CORE_SURROUND    = 0x0200,
Packit 5e46da
Packit 5e46da
    /* Extension substream (optional) */
Packit 5e46da
    BLURAY_ACAP_DTSHD_EXT_STEREO_ONLY  = 0x0400,
Packit 5e46da
    BLURAY_ACAP_DTSHD_EXT_SURROUND     = 0x0800,
Packit 5e46da
Packit 5e46da
    /* Dolby lossless (TrueHD) */
Packit 5e46da
Packit 5e46da
    /* Dolby Digital (mandatory) */
Packit 5e46da
    BLURAY_ACAP_DD_STEREO_ONLY         = 0x1000,
Packit 5e46da
    BLURAY_ACAP_DD_SURROUND            = 0x2000,
Packit 5e46da
Packit 5e46da
    /* MLP (optional) */
Packit 5e46da
    BLURAY_ACAP_MLP_STEREO_ONLY        = 0x4000,
Packit 5e46da
    BLURAY_ACAP_MLP_SURROUND           = 0x8000,
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_REGION_CODE (PSR20)
Packit 5e46da
 *
Packit 5e46da
 * Player region code (integer)
Packit 5e46da
 *
Packit 5e46da
 * Region A: the Americas, East and Southeast Asia, U.S. territories, and Bermuda.
Packit 5e46da
 * Region B: Africa, Europe, Oceania, the Middle East, the Kingdom of the Netherlands,
Packit 5e46da
 *           British overseas territories, French territories, and Greenland.
Packit 5e46da
 * Region C: Central and South Asia, Mongolia, Russia, and the People's Republic of China.
Packit 5e46da
 *
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_REGION_A = 1,
Packit 5e46da
    BLURAY_REGION_B = 2,
Packit 5e46da
    BLURAY_REGION_C = 4,
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_OUTPUT_PREFER (PSR21)
Packit 5e46da
 *
Packit 5e46da
 * Output mode preference (integer)
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_OUTPUT_PREFER_2D = 0,
Packit 5e46da
    BLURAY_OUTPUT_PREFER_3D = 1,
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_DISPLAY_CAP (PSR23)
Packit 5e46da
 *
Packit 5e46da
 * Display capability (bit mask) and display size
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
#define BLURAY_DCAP_1080p_720p_3D           0x01  /* capable of 1920x1080 23.976Hz and 1280x720 59.94Hz 3D */
Packit 5e46da
#define BLURAY_DCAP_720p_50Hz_3D            0x02  /* capable of 1280x720 50Hz 3D */
Packit 5e46da
#define BLURAY_DCAP_NO_3D_CLASSES_REQUIRED  0x04  /* 3D glasses are not required */
Packit 5e46da
#define BLURAY_DCAP_INTERLACED_3D           0x08  /* */
Packit 5e46da
Packit 5e46da
/* horizintal display size in centimeters */
Packit 5e46da
#define BLURAY_DCAP_DISPLAY_SIZE_UNDEFINED  0
Packit 5e46da
#define BLURAY_DCAP_DISPLAY_SIZE(cm)        (((cm) > 0xfff ? 0xfff : (cm)) << 8)
Packit 5e46da
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_VIDEO_CAP (PSR29)
Packit 5e46da
 *
Packit 5e46da
 * Player capability for video (bit mask)
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_VCAP_SECONDARY_HD = 0x01,  /* player can play secondary stream in HD */
Packit 5e46da
    BLURAY_VCAP_25Hz_50Hz    = 0x02,  /* player can play 25Hz and 50Hz video */
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_PLAYER_PROFILE (PSR31)
Packit 5e46da
 *
Packit 5e46da
 * Player profile and version
Packit 5e46da
 *
Packit 5e46da
 * Profile 1, version 1.0: no local storage, no VFS, no internet
Packit 5e46da
 * Profile 1, version 1.1: PiP, VFS, sec. audio, 256MB local storage, no internet
Packit 5e46da
 * Profile 2, version 2.0: BdLive (internet), 1GB local storage
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_PLAYER_PROFILE_1_v1_0 = ((0x00 << 16) | (0x0100)),   /* Profile 1, version 1.0 (Initial Standard Profile) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_1_v1_1 = ((0x01 << 16) | (0x0110)),   /* Profile 1, version 1.1 (secondary stream support) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_2_v2_0 = ((0x03 << 16) | (0x0200)),   /* Profile 2, version 2.0 (network access, BdLive) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_3_v2_0 = ((0x08 << 16) | (0x0200)),   /* Profile 3, version 2.0 (audio only player) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_5_v2_4 = ((0x13 << 16) | (0x0240)),   /* Profile 5, version 2.4 (3D) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_6_v3_0 = ((0x00 << 16) | (0x0300)),   /* Profile 6, version 3.0 (UHD) */
Packit 5e46da
    BLURAY_PLAYER_PROFILE_6_v3_1 = ((0x00 << 16) | (0x0310)),   /* Profile 6, version 3.1 (UHD) */
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
#define BLURAY_PLAYER_PROFILE_3D_FLAG       0x100000
Packit 5e46da
#define BLURAY_PLAYER_PROFILE_VERSION_MASK  0xffff
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_DECODE_PG
Packit 5e46da
 *
Packit 5e46da
 * Enable Presentation Graphics and Text Subtitle decoder
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_PG_TEXTST_DECODER_DISABLE  = 0,  /* disable both decoders */
Packit 5e46da
    BLURAY_PG_TEXTST_DECODER_ENABLE   = 1,  /* enable both decoders */
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
Packit 5e46da
/*
Packit 5e46da
 * BLURAY_PLAYER_SETTING_PERSISTENT_STORAGE
Packit 5e46da
 *
Packit 5e46da
 * Enable / disable BD-J persistent storage.
Packit 5e46da
 *
Packit 5e46da
 * If persistent storage is disabled, BD-J Xlets can't access any data
Packit 5e46da
 * stored during earlier playback sessions. Persistent data stored during
Packit 5e46da
 * current playback session will be removed and can't be accessed later.
Packit 5e46da
 *
Packit 5e46da
 * This setting can't be changed after bd_play() has been called.
Packit 5e46da
 */
Packit 5e46da
Packit 5e46da
enum {
Packit 5e46da
    BLURAY_PERSISTENT_STORAGE_DISABLE = 0,  /* disable persistent storage between playback sessions */
Packit 5e46da
    BLURAY_PERSISTENT_STORAGE_ENABLE  = 1,  /* enable persistent storage */
Packit 5e46da
};
Packit 5e46da
Packit 5e46da
#endif /* BD_PLAYER_SETTINGS_H_ */