kodi
|
Common. More...
#include <ifo_types.h>
Public Attributes | |
uint8_t | hour |
uint8_t | minute |
uint8_t | second |
uint8_t | frame_u |
uint8_t | bytes [8] |
unsigned char | mpeg_version: 2 |
unsigned char | video_format: 2 |
unsigned char | display_aspect_ratio: 2 |
unsigned char | permitted_df: 2 |
unsigned char | line21_cc_1: 1 |
unsigned char | line21_cc_2: 1 |
unsigned char | unknown1: 1 |
unsigned char | bit_rate: 1 |
unsigned char | picture_size: 2 |
unsigned char | letterboxed: 1 |
unsigned char | film_mode: 1 |
unsigned char | audio_format: 3 |
unsigned char | multichannel_extension: 1 |
unsigned char | lang_type: 2 |
unsigned char | application_mode: 2 |
unsigned char | quantization: 2 |
unsigned char | sample_frequency: 2 |
unsigned char | channels: 3 |
uint16_t | lang_code |
uint8_t | lang_extension |
uint8_t | code_extension |
uint8_t | unknown3 |
union { | |
struct ATTRIBUTE_PACKED { | |
unsigned char unknown4: 1 | |
unsigned char channel_assignment: 3 | |
unsigned char version: 2 | |
unsigned char mc_intro: 1 | |
unsigned char mode: 1 | |
unsigned char unknown5: 4 | |
unsigned char dolby_encoded: 1 | |
unsigned char unknown6: 3 | |
} karaoke | |
struct ATTRIBUTE_PACKED { | |
unsigned char unknown4: 1 | |
unsigned char channel_assignment: 3 | |
unsigned char version: 2 | |
unsigned char mc_intro: 1 | |
unsigned char mode: 1 | |
unsigned char unknown5: 4 | |
unsigned char dolby_encoded: 1 | |
unsigned char unknown6: 3 | |
} surround | |
} | app_info |
unsigned char | zero1: 7 |
reserved | |
unsigned char | ach0_gme: 1 |
unsigned char | zero2: 7 |
reserved | |
unsigned char | ach1_gme: 1 |
unsigned char | zero3: 4 |
reserved | |
unsigned char | ach2_gv1e: 1 |
unsigned char | ach2_gv2e: 1 |
unsigned char | ach2_gm1e: 1 |
unsigned char | ach2_gm2e: 1 |
unsigned char | zero4: 4 |
reserved | |
unsigned char | ach3_gv1e: 1 |
unsigned char | ach3_gv2e: 1 |
unsigned char | ach3_gmAe: 1 |
unsigned char | ach3_se2e: 1 |
unsigned char | zero5: 4 |
unsigned char | ach4_gv1e: 1 |
unsigned char | ach4_gv2e: 1 |
unsigned char | ach4_gmBe: 1 |
unsigned char | ach4_seBe: 1 |
uint8_t | zero6 [19] |
unsigned char | code_mode: 3 |
unsigned char | type: 2 |
uint8_t | zero2 |
uint16_t | nr_of_pre |
uint16_t | nr_of_post |
uint16_t | nr_of_cell |
uint16_t | last_byte |
vm_cmd_t * | pre_cmds |
vm_cmd_t * | post_cmds |
vm_cmd_t * | cell_cmds |
unsigned char | block_mode: 2 |
unsigned char | block_type: 2 |
unsigned char | seamless_play: 1 |
unsigned char | interleaved: 1 |
unsigned char | stc_discontinuity: 1 |
unsigned char | seamless_angle: 1 |
unsigned char | zero_1: 1 |
unsigned char | playback_mode: 1 |
When set, enter StillMode after each VOBU. | |
unsigned char | restricted: 1 |
?? drop out of fastforward? | |
unsigned char | cell_type: 5 |
uint8_t | still_time |
for karaoke, reserved otherwise | |
uint8_t | cell_cmd_nr |
dvd_time_t | playback_time |
uint32_t | first_sector |
uint32_t | first_ilvu_end_sector |
uint32_t | last_vobu_start_sector |
uint32_t | last_sector |
uint16_t | vob_id_nr |
uint8_t | zero_1 |
uint8_t | cell_nr |
unsigned char | zero: 7 |
unsigned char | video_pres_mode_change: 1 |
unsigned char | karaoke_audio_pres_mode_change: 1 |
unsigned char | angle_change: 1 |
unsigned char | subpic_stream_change: 1 |
unsigned char | audio_stream_change: 1 |
unsigned char | pause_on: 1 |
unsigned char | still_off: 1 |
unsigned char | button_select_or_activate: 1 |
unsigned char | resume: 1 |
unsigned char | chapter_menu_call: 1 |
unsigned char | angle_menu_call: 1 |
unsigned char | audio_menu_call: 1 |
unsigned char | subpic_menu_call: 1 |
unsigned char | root_menu_call: 1 |
unsigned char | title_menu_call: 1 |
unsigned char | backward_scan: 1 |
unsigned char | forward_scan: 1 |
unsigned char | next_pg_search: 1 |
unsigned char | prev_or_top_pg_search: 1 |
unsigned char | time_or_chapter_search: 1 |
unsigned char | go_up: 1 |
unsigned char | stop: 1 |
unsigned char | title_play: 1 |
unsigned char | chapter_search_or_play: 1 |
unsigned char | title_or_time_play: 1 |
uint16_t | zero_1 |
uint8_t | nr_of_programs |
uint8_t | nr_of_cells |
user_ops_t | prohibited_ops |
uint16_t | audio_control [8] |
uint32_t | subp_control [32] |
uint16_t | next_pgc_nr |
uint16_t | prev_pgc_nr |
uint16_t | goup_pgc_nr |
uint8_t | pg_playback_mode |
uint32_t | palette [16] |
uint16_t | command_tbl_offset |
uint16_t | program_map_offset |
uint16_t | cell_playback_offset |
uint16_t | cell_position_offset |
pgc_command_tbl_t * | command_tbl |
pgc_program_map_t * | program_map |
cell_playback_t * | cell_playback |
cell_position_t * | cell_position |
int | ref_count |
uint8_t | entry_id |
uint16_t | ptl_id_mask |
uint32_t | pgc_start_byte |
pgc_t * | pgc |
uint16_t | nr_of_pgci_srp |
uint32_t | last_byte |
pgci_srp_t * | pgci_srp |
uint8_t | exists |
uint32_t | lang_start_byte |
pgcit_t * | pgcit |
uint16_t | nr_of_lus |
pgci_lu_t * | lu |
uint16_t | vob_id |
uint8_t | cell_id |
uint32_t | start_sector |
uint16_t | nr_of_vobs |
cell_adr_t * | cell_adr_table |
uint32_t * | vobu_start_sectors |
char | vmg_identifier [12] |
uint32_t | vmg_last_sector |
uint32_t | vmgi_last_sector |
uint8_t | zero_2 |
uint8_t | specification_version |
uint32_t | vmg_category |
uint16_t | vmg_nr_of_volumes |
uint16_t | vmg_this_volume_nr |
uint8_t | disc_side |
uint8_t | zero_3 [19] |
uint16_t | vmg_nr_of_title_sets |
char | provider_identifier [32] |
uint64_t | vmg_pos_code |
uint8_t | zero_4 [24] |
uint32_t | vmgi_last_byte |
uint32_t | first_play_pgc |
uint8_t | zero_5 [56] |
uint32_t | vmgm_vobs |
uint32_t | tt_srpt |
uint32_t | vmgm_pgci_ut |
uint32_t | ptl_mait |
uint32_t | vts_atrt |
uint32_t | txtdt_mgi |
uint32_t | vmgm_c_adt |
uint32_t | vmgm_vobu_admap |
uint8_t | zero_6 [32] |
video_attr_t | vmgm_video_attr |
uint8_t | zero_7 |
uint8_t | nr_of_vmgm_audio_streams |
audio_attr_t | vmgm_audio_attr |
audio_attr_t | zero_8 [7] |
uint8_t | zero_9 [17] |
uint8_t | nr_of_vmgm_subp_streams |
subp_attr_t | vmgm_subp_attr |
subp_attr_t | zero_10 [27] |
unsigned char | multi_or_random_pgc_title: 1 |
unsigned char | jlc_exists_in_cell_cmd: 1 |
unsigned char | jlc_exists_in_prepost_cmd: 1 |
unsigned char | jlc_exists_in_button_cmd: 1 |
unsigned char | jlc_exists_in_tt_dom: 1 |
playback_type_t | pb_ty |
uint8_t | nr_of_angles |
uint16_t | nr_of_ptts |
uint16_t | parental_id |
uint8_t | title_set_nr |
uint8_t | vts_ttn |
uint32_t | title_set_sector |
uint16_t | nr_of_srpts |
title_info_t * | title |
uint16_t | country_code |
uint16_t | pf_ptl_mai_start_byte |
uint16_t | zero_2 |
pf_level_t * | pf_ptl_mai |
uint16_t | nr_of_countries |
uint16_t | nr_of_vtss |
ptl_mait_country_t * | countries |
uint32_t | vts_cat |
video_attr_t | vtsm_vobs_attr |
uint8_t | nr_of_vtsm_audio_streams |
audio_attr_t | vtsm_audio_attr |
audio_attr_t | zero_2 [7] |
uint8_t | nr_of_vtsm_subp_streams |
subp_attr_t | vtsm_subp_attr |
subp_attr_t | zero_5 [27] |
video_attr_t | vtstt_vobs_video_attr |
uint8_t | nr_of_vtstt_audio_streams |
audio_attr_t | vtstt_audio_attr [8] |
uint8_t | zero_8 [16] |
uint8_t | nr_of_vtstt_subp_streams |
subp_attr_t | vtstt_subp_attr [32] |
vts_attributes_t * | vts |
uint32_t * | vts_atrt_offsets |
uint16_t | offsets [100] |
uint8_t | char_set |
uint32_t | txtdt_start_byte |
txtdt_t * | txtdt |
char | disc_name [12] |
uint16_t | unknown1 |
uint16_t | nr_of_language_units |
txtdt_lu_t * | lu |
char | vts_identifier [12] |
uint32_t | vts_last_sector |
uint32_t | vtsi_last_sector |
uint32_t | vts_category |
uint16_t | zero_3 |
uint16_t | zero_4 |
uint16_t | zero_7 |
uint64_t | zero_9 |
uint8_t | zero_10 [24] |
uint32_t | vtsi_last_byte |
uint32_t | zero_11 |
uint8_t | zero_12 [56] |
uint32_t | vtsm_vobs |
uint32_t | vtstt_vobs |
uint32_t | vts_ptt_srpt |
uint32_t | vts_pgcit |
uint32_t | vtsm_pgci_ut |
uint32_t | vts_tmapt |
uint32_t | vtsm_c_adt |
uint32_t | vtsm_vobu_admap |
uint32_t | vts_c_adt |
uint32_t | vts_vobu_admap |
uint8_t | zero_13 [24] |
video_attr_t | vtsm_video_attr |
uint8_t | zero_14 |
audio_attr_t | zero_15 [7] |
uint8_t | zero_16 [17] |
subp_attr_t | zero_17 [27] |
uint8_t | zero_18 [2] |
video_attr_t | vts_video_attr |
uint8_t | zero_19 |
uint8_t | nr_of_vts_audio_streams |
audio_attr_t | vts_audio_attr [8] |
uint8_t | zero_20 [17] |
uint8_t | nr_of_vts_subp_streams |
subp_attr_t | vts_subp_attr [32] |
uint16_t | zero_21 |
multichannel_ext_t | vts_mu_audio_attr [8] |
uint16_t | pgcn |
uint16_t | pgn |
ptt_info_t * | ptt |
ttu_t * | title |
uint32_t * | ttu_offset |
uint8_t | tmu |
uint16_t | nr_of_entries |
map_ent_t * | map_ent |
uint16_t | nr_of_tmaps |
vts_tmap_t * | tmap |
uint32_t * | tmap_offset |
uint32_t | nv_pck_lbn |
sector address of this nav pack | |
uint16_t | vobu_cat |
'category' of vobu | |
uint16_t | zero1 |
reserved | |
user_ops_t | vobu_uop_ctl |
UOP of vobu. | |
uint32_t | vobu_s_ptm |
start presentation time of vobu | |
uint32_t | vobu_e_ptm |
end presentation time of vobu | |
uint32_t | vobu_se_e_ptm |
end ptm of sequence end in vobu | |
dvd_time_t | e_eltm |
Cell elapsed time. | |
char | vobu_isrc [32] |
uint32_t | nsml_agl_dsta [9] |
address of destination vobu in AGL_C::n | |
uint16_t | hli_ss |
status, only low 2 bits 0: no buttons, 1: different 2: equal 3: equal except for button cmds | |
uint32_t | hli_s_ptm |
start ptm of hli | |
uint32_t | hli_e_ptm |
end ptm of hli | |
uint32_t | btn_se_e_ptm |
end ptm of button select | |
unsigned int | zero1: 2 |
reserved | |
unsigned int | btngr_ns: 2 |
number of button groups 1, 2 or 3 with 36/18/12 buttons | |
unsigned int | zero2: 1 |
reserved | |
unsigned int | btngr1_dsp_ty: 3 |
display type of subpic stream for button group 1 | |
unsigned int | zero3: 1 |
reserved | |
unsigned int | btngr2_dsp_ty: 3 |
display type of subpic stream for button group 2 | |
unsigned int | zero4: 1 |
reserved | |
unsigned int | btngr3_dsp_ty: 3 |
display type of subpic stream for button group 3 | |
uint8_t | btn_ofn |
button offset number range 0-255 | |
uint8_t | btn_ns |
number of valid buttons <= 36/18/12 (low 6 bits) | |
uint8_t | nsl_btn_ns |
number of buttons selectable by U_BTNNi (low 6 bits) nsl_btn_ns <= btn_ns | |
uint8_t | zero5 |
reserved | |
uint8_t | fosl_btnn |
forcedly selected button (low 6 bits) | |
uint8_t | foac_btnn |
forcedly activated button (low 6 bits) | |
uint32_t | btn_coli [3][2] |
[button color number-1][select:0/action:1] | |
unsigned int | btn_coln: 2 |
button color number | |
unsigned int | x_start: 10 |
x start offset within the overlay | |
unsigned int | x_end: 10 |
x end offset within the overlay | |
unsigned int | auto_action_mode: 2 |
0: no, 1: activated if selected | |
unsigned int | y_start: 10 |
y start offset within the overlay | |
unsigned int | y_end: 10 |
y end offset within the overlay | |
unsigned int | up: 6 |
button index when pressing up | |
unsigned int | down: 6 |
button index when pressing down | |
unsigned int | zero5: 2 |
reserved | |
unsigned int | left: 6 |
button index when pressing left | |
unsigned int | zero6: 2 |
reserved | |
unsigned int | right: 6 |
button index when pressing right | |
vm_cmd_t | cmd |
hl_gi_t | hl_gi |
btn_colit_t | btn_colit |
btni_t | btnit [36] |
pci_gi_t | pci_gi |
nsml_agli_t | nsml_agli |
hli_t | hli |
uint8_t | zero1 [189] |
reserved | |
uint32_t | nv_pck_scr |
uint32_t | vobu_ea |
end address of this VOBU | |
uint32_t | vobu_1stref_ea |
end address of the 1st reference image | |
uint32_t | vobu_2ndref_ea |
end address of the 2nd reference image | |
uint32_t | vobu_3rdref_ea |
end address of the 3rd reference image | |
uint16_t | vobu_vob_idn |
VOB Id number that this VOBU is part of. | |
uint8_t | vobu_c_idn |
Cell Id number that this VOBU is part of. | |
dvd_time_t | c_eltm |
Cell elapsed time. | |
uint16_t | category |
'category' of seamless VOBU | |
uint32_t | ilvu_ea |
end address of interleaved Unit | |
uint32_t | ilvu_sa |
start address of next interleaved unit | |
uint16_t | size |
size of next interleaved unit More... | |
uint32_t | vob_v_s_s_ptm |
video start ptm in vob | |
uint32_t | vob_v_e_e_ptm |
video end ptm in vob | |
struct { | |
uint32_t stp_ptm1 | |
uint32_t stp_ptm2 | |
uint32_t gap_len1 | |
uint32_t gap_len2 | |
} | vob_a [8] |
uint32_t | address |
offset to next ILVU, high bit is before/after | |
sml_agl_data_t | data [9] |
uint32_t | next_video |
Next vobu that contains video. | |
uint32_t | fwda [19] |
Forwards, time. | |
uint32_t | next_vobu |
uint32_t | prev_vobu |
uint32_t | bwda [19] |
Backwards, time. | |
uint32_t | prev_video |
uint16_t | a_synca [8] |
offset to first audio packet for this VOBU | |
uint32_t | sp_synca [32] |
offset to first subpicture packet | |
dsi_gi_t | dsi_gi |
sml_pbi_t | sml_pbi |
sml_agli_t | sml_agli |
vobu_sri_t | vobu_sri |
synci_t | synci |
Common.
DSI packet.
Synchronous Information.
VOBU Search Information.
Seamless Angle Information.
Seamless Angle Information for one angle.
Seamless Playback Information.
DSI General Information.
PCI packet.
Highlight Information.
Button Information.
Button Color Information Table Each entry being a 32bit word that contains the color indexes and alpha values to use.
Highlight General Information.
Non Seamless Angle Information.
PCI General Information.
Time Map Table.
Time Map.
PartOfTitle Information.
PartOfTitle Unit Information.
VTS.
Text Data Manager Information.
Text Data Language Unit.
Text Data.
Video Title Set Attribute Table.
Video Title Set Attributes.
Parental Management Information Table.
Parental Management Information Unit Table.
PartOfTitle Search Pointer Table.
Title Information.
VMGI.
VOBU Address Map.
Cell Address Table.
Cell Address Information.
Menu PGCI Unit Table.
Menu PGCI Language Unit.
Program Chain Information Table.
Program Chain Information Search Pointer.
Program Chain Information.
User Operations.
Cell Position Information.
Cell Playback Information.
PGC Command Table.
Subpicture Attributes.
MultiChannel Extension.
Audio Attributes.
Video Attributes.
Type to store per-command data.
The following structures are used in both the VMGI and VTSI. DVD Time Information.
The following structures relate to the Video Manager. Video Manager Information Management Table.
(Incomplete)
Structures relating to the Video Title Set (VTS). Video Title Set Information Management Table.
For btngrX_dsp_ty the bits have the following meaning: 000b: normal 4/3 only buttons XX1b: wide (16/9) buttons X1Xb: letterbox buttons 1XXb: pan&scan buttons
They are all represented by 4 bit number and stored like this [Ci3, Ci2, Ci1, Ci0, A3, A2, A1, A0]. The actual palette that the indexes reference is in the PGC. split the uint32_t into a struct
NOTE: I've had to change the structure from the disk layout to get the packing to work with Sun's Forte C compiler. The 4 and 7 bytes are 'rotated' was: ABC DEF GHIJ is: ABCG DEFH IJ
uint16_t ATTRIBUTE_PACKED::size |
size of next interleaved unit
byte size of the ILVU pointed to by address