ifo-spec.bfmt

MAIN
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
ifo_typeCHAR[12]IFO_TYPE
ifo{ifo_type}

VMGI
nameoffsettypetrans-
lation
valuepnameptype
vmg_last_sectorUI32
zero_1SKIPBYTE[12]
ifo_last_sectorUI32
versionIFO_VERSION
category0SKIPBYTE
prohibited_region_maskBITVECTOR[8]
category2_3SKIPBYTE[2]
vmg_num_volumesUI16
vmg_this_volume_numUI16
disc_sideUI8
zero_3SKIPBYTE[19]
vmg_num_title_setsUI8[2]
provider_identifierCHAR[32]
vmg_pos_codeUI8[8]
zero_4SKIPBYTE[24]
vmgi_last_byteUI32
fp_pgc_start_byteUI32
zero_5SKIPBYTE[56]
vmgm_vobs_start_sectorUI32
vmg_tt_srpt_start_sectorUI32
vmgm_pgci_ut_start_sectorUI32
vmg_ptl_mait_start_sectorUI32
vmg_vts_atrt_start_sectorUI32
vmg_txtdt_mg_start_sectorUI32
vmgm_c_adt_start_sectorUI32
vmgm_vobu_admap_start_sectorUI32
unknown_data1SKIPBYTE[32]
vmgm_vobs_media_attributesMEDIA_ATTRIBUTES1
fp_pgcfp_pgc_start_bytePGC
vmg_tt_srptvmg_tt_srpt_start_sector*2048TT_SRPT
vmgm_pgci_utvmgm_pgci_ut_start_sector*2048PGCI_UT
vmg_vts_atrtvmg_vts_atrt_start_sector*2048VMG_VTS_ATRT
vmg_c_adtvmgm_c_adt_start_sector*2048C_ADT
vmg_vob_admapvmgm_vobu_admap_start_sector*2048VOBU_ADMAP

VTSI
nameoffsettypetrans-
lation
valuepnameptype
vts_last_sectorUI32
zero_1SKIPBYTE[12]
ifo_last_sectorUI32
versionIFO_VERSION
categoryUI32VTS_CATEGORY
vmg_num_volumesUI16
vmg_this_volume_numUI16
disc_sideUI8
zero_3SKIPBYTE[19]
vmg_num_title_setsUI8[2]
provider_identifierCHAR[32]
vmg_pos_codeUI8[8]
zero_4SKIPBYTE[24]
mat_last_byteUI32
fp_pgc_start_byteUI32
zero_5SKIPBYTE[56]
menu_vob_start_sectorUI32
title_vob_start_sectorUI32
vts_ptt_srpt_start_sectorUI32
vts_pgcit_start_sectorUI32
vts_pgci_ut_start_sectorUI32
vts_tmapti_start_sectorUI32
vtsm_c_adt_start_sectorUI32
vtsm_vobu_admap_start_sectorUI32
vts_c_adt_start_sectorUI32
vts_vobu_admap_start_sectorUI32
unknown_data1SKIPBYTE[24]
vtsm_vobs_media_attributesMEDIA_ATTRIBUTES1
reservedSKIPBYTE[164]
vts_vobs_media_attributesMEDIA_ATTRIBUTES2
fp_pgcfp_pgc_start_bytePGC
vts_ptt_srptvts_ptt_srpt_start_sector*2048PTT_SRPT
vts_pgcitvts_pgcit_start_sector*2048PGCIT
vts_pgci_utvts_pgci_ut_start_sector*2048PGCI_UT
vts_tmaptivts_tmapti_start_sector*2048TMAPTI
vtsm_c_adtvtsm_c_adt_start_sector*2048C_ADT
vtsm_vob_admapvtsm_vobu_admap_start_sector*2048VOBU_ADMAP
vts_c_adtvts_c_adt_start_sector*2048C_ADT
vts_vob_admapvts_vobu_admap_start_sector*2048VOBU_ADMAP

Translation: IFO_TYPE
fromto
DVDVIDEO-VMGVMGI
DVDVIDEO-VTSVTSI

Translation: VTS_CATEGORY
fromto
0normal
1karaoke

IFO_VERSION
nameoffsettypetrans-
lation
valuepnameptype
reservedSKIPBYTE
majorUB[4]
minorUB[4]

MEDIA_ATTRIBUTES1
nameoffsettypetrans-
lation
valuepnameptype
video_attributesVIDEO_ATTRIBUTES
num_audio_streamsUI16
audio_attributesAUDIO_ATTRIBUTES[8,num_audio_streams]
reservedSKIPBYTE[16]
num_sub_picture_streamsUI16
sub_picure_stream_attributesSUB_PICTURE_STREAM_ATTRIBUTES

PGC
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
unknown1UI16
num_programsUI8
num_cellsUI8
playback_timeBCD_TIME
prohibited_user_operationsBITVECTOR[32]UOP
audio_stream_statusAUDIO_STREAM_STATUS[8]
sub_picture_stream_statusSUBPICTURE_STREAM_STATUS[32]
next_pgc_numberUI16
previous_pgc_numberUI16
go_up_pgc_numberUI16
still_timeUI8
pg_playback_modeUI8
palleteYUVCOLORB32[16]
pgc_command_table_start_byteUI16pgc_command_tablePGC_COMMAND_TABLE
pgc_program_map_start_byteUI16pgc_program_mapPGC_PROGRAM_MAP[num_programs]
cell_playback_information_table_start_byteUI16cell_playback_itCELL_PLAYBACK_IT[num_cells]
cell_position_information_table_start_byteUI16cell_position_itCELL_POSITION_IT[num_cells]

TT_SRPT
nameoffsettypetrans-
lation
valuepnameptype
num_title_unit_search_pointersUI16
zero1SKIPBYTE[2]
ptt_srpt_end_byteUI32
ttuTTU[num_title_unit_search_pointers]

PGCI_UT
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_pgci_luUI16
unusedSKIPBYTE[2]
pgci_lu_table_end_byteUI32
pgci_luPGCI_LU[num_pgci_lu]

VMG_VTS_ATRT
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_vts_atrUI16
reservedUI16
table_end_byteUI32
start_bytesUI32[num_vts_atr]vts_atrVTS_ATR

C_ADT
nameoffsettypetrans-
lation
valuepnameptype
num_cellsUI16
reservedUI16
end_addressUI32
cellsC_ADT_CELL[int((end_address - 7 )/12)]

VOBU_ADMAP
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
end_addressUI32
vobu_start_sectorsUI32[(end_address-3)/4]

MEDIA_ATTRIBUTES2
nameoffsettypetrans-
lation
valuepnameptype
video_attributesVIDEO_ATTRIBUTES
num_audio_streamsUI16
audio_attributesAUDIO_ATTRIBUTES[8,num_audio_streams]
reservedSKIPBYTE[16]
num_sub_picture_streamsUI16
sub_picure_stream_attributesSUB_PICTURE_STREAM_ATTRIBUTES[32,num_sub_picture_streams]
multichannel_extenstionKARAOKE_EXTENSION

PTT_SRPT
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_titlesUI16
zero1SKIPBYTE[2]
end_byteUI32
ptt_offsetsUI32[num_titles]
pttPTT[(int(end_byte+1 - 8 )/4) - num_titles]

PGCIT
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_pgci_srpUI16
reserved1UI16
pgcit_end_byteUI32
pgci_srpPGCI_SRP[num_pgci_srp]

TMAPTI
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_tmapsUI16
reserved1UI16
tmaps_end_byteUI32
tmaps_start_bytesUI32[num_tmaps]tmapsTMAP

Translation: UOP
fromto
0TIME_PLAY
1PTT_PLAY
10MENU_TITLE
11MENU_ROOT
12MENU_SUBPICTURE
13MENU_AUDIO
14MENU_ANGLE
15MENU_PTT
16RESUME
17ACTIVATE
18STILL_OFF
19PAUSE
2TITLE_PLAY
20AUDIO_STREAM_CHANGE
21SUBPICTURE_STREAM_CHANGE
22ANGLE_CHANGE
23KARAOKE_MIX_CHANGE
24PRESENTATION_MODE_CHANGE
3STOP
4GO_UP
5TIME_PTT_SEARCH
6PREV_PG
7NEXT_PG
8FORWARD
9BACKWARD

VIDEO_ATTRIBUTES
nameoffsettypetrans-
lation
valuepnameptype
codingUB[2]VIDEO_CODING
standardUB[2]VIDEO_STANDARD
aspectUB[2]VIDEO_ASPECT
disallow_auto_panscanUB
disallow_auto_letterboxUB
cc1UB
cc2UB
unknownUB
bit_rateUBVIDEO_BITRATE
resolutionUB[2]
letterboxedUB
filmUB

AUDIO_ATTRIBUTES
nameoffsettypetrans-
lation
valuepnameptype
codingUB[3]
multi_extUB
lang_typeUB[2]
app_modeUB[2]
quantizationUB[2]
sample_rateUB[2]
reservedUB
channelsUB[3]
lang_codeCHAR[2]
lang_extUI16
unknownUI8
app_infoUI8

SUB_PICTURE_STREAM_ATTRIBUTES
nameoffsettypetrans-
lation
valuepnameptype
typeUI8
zero1SKIPBYTE
lang_codeUI8[2]
lang_extUI8
zero2SKIPBYTE

BCD_TIME
nameoffsettypetrans-
lation
valuepnameptype
hourHEXDATA
minuteHEXDATA
secondHEXDATA
fpsUB[2]FPSN
frameHEXBITS[6]

AUDIO_STREAM_STATUS
nameoffsettypetrans-
lation
valuepnameptype
availableUB
reservedSKIPBITS[4]
stream_numberUB[3]
reserved2SKIPBYTE

SUBPICTURE_STREAM_STATUS
nameoffsettypetrans-
lation
valuepnameptype
availableUB
reservedSKIPBITS[2]
stream_numberUB[5]
unknownHEXDATA[3]

YUVCOLORB32
nameoffsettypetrans-
lation
valuepnameptype
zUI8
YUI8
UUI8
VUI8

PGC_COMMAND_TABLE
nameoffsettypetrans-
lation
valuepnameptype
num_pre_commandsUI16
num_post_commandsUI16
num_cell_commandsUI16
end_table_addressUI16
pre_commandsCOMMAND[num_pre_commands]
post_commandsCOMMAND[num_post_commands]
cell_commandsCOMMAND[num_cell_commands]

PGC_PROGRAM_MAP
nameoffsettypetrans-
lation
valuepnameptype
mapUI8

CELL_PLAYBACK_IT
nameoffsettypetrans-
lation
valuepnameptype
categoryCELL_CATEGORY
still_timeUI8
command_numUI8
playback_timeBCD_TIME
entry_point_sectorUI32
first_ilvu_vobu_end_sectorUI32
last_vobu_start_sectorUI32
this_cell_last_sectorUI32

CELL_POSITION_IT
nameoffsettypetrans-
lation
valuepnameptype
vob_idUI16
unknownUI8
cell_idUI8

TTU
nameoffsettypetrans-
lation
valuepnameptype
title_playback_typeTITLE_PLAYBACK_TYPE
num_anglesUI8
num_pttsUI16
parental_management_maskUI16
title_set_numberUI8
vts_ttnUI8
title_set_start_sectorUI32

PGCI_LU
nameoffsettypetrans-
lation
valuepnameptype
language_codeCHAR[2]
language_extUI8
existence_maskUI8
language_start_byteUI32lu_eaLU_EA

VTS_ATR
nameoffsettypetrans-
lation
valuepnameptype
end_byteUI32
vts_cat_app_typeUI32
vtsm_vobs_media_attributesMEDIA_ATTRIBUTES1
SKIPBYTE4SKIPBYTE[164]
vtstt_vobs_media_attributesMEDIA_ATTRIBUTES2

C_ADT_CELL
nameoffsettypetrans-
lation
valuepnameptype
VOBidnUI16
CELLidnUI8
unknownUI8
vob_start_sectorUI32
vob_end_sectorUI32

KARAOKE_EXTENSION
nameoffsettypetrans-
lation
valuepnameptype
reserved0UB[7]
ach0_guide_melody_existsUB
reserved1UB[7]
ach1_guide_melody_existsUB
reserved2UB[4]
ach2_guide_vocal1_existsUB
ach2_guide_vocal2_existsUB
ach2_guide_melody1_existsUB
ach2_guide_melody2_existsUB
reserved3UB[4]
ach3_guide_vocal1_existsUB
ach3_guide_vocal2_existsUB
ach3_guide_melody1_existsUB
ach3_guide_melody2_existsUB
reserved4UB[4]
ach4_guide_vocal1_existsUB
ach4_guide_vocal2_existsUB
ach4_guide_melody1_existsUB
ach4_guide_melody2_existsUB
unknownSKIPBYTE[13]

PTT
nameoffsettypetrans-
lation
valuepnameptype
pgcnUI16
pgnUI16

PGCI_SRP
nameoffsettypetrans-
lation
valuepnameptype
entry_pgcUB
reservedUB[3]
pgc_category_menu_typeUB[4]PCG_MENU_TYPE
categoryUI8
pgc_category_parental_id_maskUI16
pgci_start_byteUI32pgciPGC

TMAP
nameoffsettypetrans-
lation
valuepnameptype
time_unitUI8
reserved1UI8
num_entriesUI16
mapUI32[num_entries]

Translation: VIDEO_CODING
fromto
0mpeg1
1mpeg2

Translation: VIDEO_STANDARD
fromto
0NTSC
1PAL

Translation: VIDEO_ASPECT
fromto
04:3
1undefined
2reserved
316:9

Translation: VIDEO_BITRATE
fromto
0VBR
1CBR

Translation: FPSN
fromto
0-1
125
2-2
330

Translation: PCG_MENU_TYPE
fromto
0type0
1type1
2type2
3root
4sub-picture
5audio
6angle
7ptt

COMMAND
nameoffsettypetrans-
lation
valuepnameptype
command_typeUB[3]
commandCOMMAND_{command_type}

CELL_CATEGORY
nameoffsettypetrans-
lation
valuepnameptype
cell_typeUB[2]CELL_CATEGORY_ANGLE_TYPE
block_typeUB[2]CELL_CATEGORY_BLOCK_TYPE
seamless_in_pciUBBOOL
interleavedUBBOOL
discontinuityUBBOOL
seamless_in_dsiUBBOOL
restrictedUI8

TITLE_PLAYBACK_TYPE
nameoffsettypetrans-
lation
valuepnameptype
reservedSKIPBITS
not_sequentialUB
command_limitCOMMAND_LIMIT
uop1UB
uop0UB

LU_EA
nameoffsettypetrans-
lation
valuepnameptype
OFFSET_STARTEVAL
num_pgci_srpUI16
reservedUI16
lu_ea_end_byteUI32
pgci_srpPGCI_SRP[num_pgci_srp]

Translation: CELL_CATEGORY_BLOCK_TYPE
fromto
0normal
1angle

Translation: BOOL
fromto
0false
1true

COMMAND_LIMIT
nameoffsettypetrans-
lation
valuepnameptype
cellUB
pre_postUB
buttonUB
existUB

COMMAND_0
nameoffsettypetrans-
lation
valuepnameptype
directUB
setUB[4]
dir_cmpUB
cmpUB[3]
cmdUB[4]CMD_0
argsUI16[3]

COMMAND_1
nameoffsettypetrans-
lation
valuepnameptype
directUB
setUB[4]
dir_cmpUB
cmpUB[3]
cmdUB[4]CMD_1_{direct}
argsUI16[3]

COMMAND_2
nameoffsettypetrans-
lation
valuepnameptype
directUB
setUB[4]
dir_cmpUB
cmpUB[3]
cmdUB[4]CMD_2
argsUI16[3]

COMMAND_3
nameoffsettypetrans-
lation
valuepnameptype
directUB
setUB[4]
dir_cmpUB
cmpUB[3]
cmdUB[4]
argsUI16[3]

COMMAND_4
nameoffsettypetrans-
lation
valuepnameptype
set_flagUB
setUB[4]SETOP
cmp_flagUB
cmpUB[3]CMPOP
scrUB[4]
argsUI16[3]

COMMAND_5
nameoffsettypetrans-
lation
valuepnameptype
set_flagUB
setUB[4]SETOP
cmp_flagUB
cmpUB[3]CMPOP
scrUB[4]
argsUI16[3]

COMMAND_6
nameoffsettypetrans-
lation
valuepnameptype
set_flagUB
setUB[4]SETOP
cmp_flagUB
cmpUB[3]CMPOP
scrUB[4]
argsUI16[3]

COMMAND_7
nameoffsettypetrans-
lation
valuepnameptype
set_flagUB
setUB[4]
cmp_flagUB
cmpUB[3]
scrUB[4]
argsUI16[3]

Translation: CMD_0
fromto
0nop
1goto
2break
3SetTmpPML

Translation: CMD_2
fromto
0nop
1SetSTN
2SetNVTMR
3SetGPRMMD
4SetAMXMD
5SetAMXMD
6SetHL_BTNN

Translation: SETOP
fromto
0none
1mov
10or
11xor
2swp
3add
4sub
5mul
6div
7mon
8rnd
9and

Translation: CELL_CATEGORY_CELL_TYPE
fromto
0normal
1first-angle-start
2middle-angle-block
3last-angle-block

Translation: CMDOP
fromto
0none
1BC
2EQ
3NE
4GE
5GT
6LE
7LT

Translation: CMD_1_0
fromto
0nop
1LinkSubset
2xxx
4LinkPGCN
5LinkPTTN
6LinkPGN
7LinkCN

Translation: CMD_1_1
fromto
0nop
1Exit
2JumpTT
3JumpVTS_TT
5JumpVTS_PTT
6JumpSS
8CallSS

Translation: COMMAND_TYPE
fromto
0Basic
1Branch
2SetSystem
3Set
4SetCLnk
5CSetCLnk
6CmpSetLnk

Translation: USER_OPS
fromto
0time-play
1ptt-play
10title
11root
12sub-picture
13audio
14angle
15ptt
16resume
17select
18still-off
19pause-on
2title-play
20audio-change
21subpicture-change
22angle-change
23karaoke-change
24video-mode-change
3stop
4go-up
5ptt-search
6prev
7next
8forward
9back