Back  |    

VM Commands

 

 

 

HDMV provides a number of Navigation Commands which are used to provide dynamic Scenario description. Navigation Commands can be used within Movie Objects and Interactive Composition Segments (Buttons) contained in Interactive Graphics streams.

 

Navigation Commands are divided into the following three groups:

 

1) Branch Commands Group

2) Compare Commands Group

3) Set Commands Group

 

 

 

 

Supported Command Codes

 

Branch Command

 

VM_Branch_Nop

This Command performs no operation.

VM_Branch_GoTo

Start execution of Command specified by Command_id.

VM_Branch_Break

Terminate execution of Commands.

VM_Branch_JumpObject

Jump to Movie Object and discard current Movie Object.

VM_Branch_JumpTitle

Jump to Movie Title and discard the current Movie Object.

VM_Branch_CallObject

Suspend playback and Jump to Movie Object.

VM_Branch_CallTitle

Suspend playback and Jump to a Title.

VM_Branch_Resume

Resume suspended playback

When Resume Command is executed, the values which stored in the Back-up registers PSR36~43 are set to the original registers and each of Back-up registers is initialized with the initial value of the original register.

VM_Branch_Play_List

Start playback of a PlayList

This Command shall not be used within an Interactive Composition Segment.

VM_Branch_Play_Item

Start playback of a PlayList at the specified PlayItem

This Command shall be ignored if a PlayList with PlayList_playback_type of 2 or 3 is specified to start playback.

This Command shall not be used within an Interactive Composition Segment.

VM_Branch_Play_Mark

Start playback of PlayList at the specified PlayList Mark

This Command shall be ignored if a PlayList with PlayList_playback_type of 2 or 3 is specified to start playback.

This Command shall not be used within an Interactive Composition Segment.

VM_Branch_Terminate

Terminate playback of a PlayList.

This Command shall not be used within a Movie Object.

VM_Branch_Link_Item

Change playback position to the specified PlayItem.

This Command shall not be used in an Interactive Composition Segment defined in a PlayList with PlayList_playback_type of 2 or 3.

This Command shall not be used within a Movie Object.

VM_Branch_Link_Mark

Change playback position to the specified PlayListMark.

This Command shall not be used in an Interactive Composition Segment defined in a PlayList with PlayList_playback_type of 2 or 3.

This Command shall not be used within a Movie Object.

Compare Command

The Compare Command Group Commands are used to compare the values in the first argument and the second argument.

If the result of the comparison is TRUE:

Proceed to the next Command in the Navigation Command.

If the result of the comparison is FALSE:

Skip processing of the next Command in the Navigation Command.  

VM_Compare_BC

Bitwise Compare (Operand 1 & Operand 2)

VM_Compare_EQ

Equal (Operand 1 == Operand 2)

VM_Compare_NE

Not Equal (Operand 1 != Operand 2)

VM_Compare_GE

Greater than or equal to (Operand 1 >= Operand 2)

VM_Compare_GT

Greater than (Operand 1 > Operand 2)

VM_Compare_LE

Less than or equal to (Operand 1 <= Operand 2)

VM_Compare_LT

Less than (Operand 1 < Operand 2)

Set Command

The Set Command Group Commands are used to perform operations using the value of the Source. Operand and the Destination Operand and assigning the result to a specified register.

VM_Set_Move

Assign (Source -> Destination)

VM_Set_Swap

Exchange (Source <- -> Destination)

VM_Set_Add

Source + Destination -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register.

When overflow occurs, the Destination shall be set to 0xFFFFFFFF.

VM_Set_Sub

Destination – Source -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register. When underflow occurs, the Destination shall be set to 0x00000000.

VM_Set_Mul

Source * Destination -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register. When overflow occurs, the Destination shall be set to 0xFFFFFFFF.

VM_Set_Div

Destination / Source -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register. When underflow occurs, the Destination shall be set to 0x00000000. When divided by 0, the Destination shall be set to 0xFFFFFFFF.

VM_Set_Mod

Destination % Source -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register. When divided by 0, the Destination shall be set to 0xFFFFFFFF.

VM_Set_Rnd

Random (Source) -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_Set_And

Source & Destination -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_Set_Or

Source | Destination -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_Set_Xor

(Source) ^ (Destination) -> Destination

The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_Set_Bit_clear

1 -> <bit number = Source> of Destination

The Destination Operand shall not be an Immediate value or a Player Status Register. When the bit number is greater than 31, the Command is ignored.

VM_Set_Shift_Left

Destination Shifted by <count = Source> -> Destination

Zeroes are shifted into the low order bit. The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_Set_Shift_Right

Destination Shifted by <count = Source> -> Destination

Zeroes are shifted into the high order bit. The Destination Operand shall not be an Immediate value or a Player Status Register.

VM_SetSystem_Set_Audio_Stream

VM_SetSystem_Set_TextST_Stream

VM_SetSystem_Set_TextST_Display

VM_SetSystem_Set_IG_Stream

VM_SetSystem_Set_Angle_Stream

The SetStream Command sets values for any or all of the Primary audio stream, PG TextST stream, Angle and Interactive Graphics stream to be presented.

VM_SetSystem_SetNVTimer

Set Navigation Timer Condition

VM_SetSystem_SetButton_Page

Set Selected Button id and/or set Page id.

VM_SetSystem_EnableButton

This Command will change the state of the specified Button to “normal” if the referenced Button is in the “disabled” state. If the referenced Button is not in the disabled state, this Command shall be ignored. If the referenced Button is in the same Button Overlap Group as the Button which is in the activated state (i.e. the Button which contains the EnableButton Command which has been executed), the activated Button shall be immediately disabled, however, rest of the Commands after the EnableButton Command shall continue executing until a SetButtonPage or any command that causes the IG stream playback to terminate such as Call, Jump and Link is executed or the command sequence ends. In this case, the Button specified by the EnableButton Command shall be set to the normal state. If at the end of the execution of all button commands, no Button is explicitly set to the selected state, the newly enabled button in the same BOG shall receive selected state. This Command shall not be used within a Movie Object.

VM_SetSystem_DisableButton

The DisableButton Command disables the Button which specified by the button id. If this Command references a Button which is in the “disabled” state, then this Command shall be ignored. In this case, even if there is another Button that is not in the “disabled” state in the same Button Overlap Group which contains the specified Button, the other Button shall maintain its state. If a Button executes a DisableButton command with the Button id set to itself, the rest of the Commands after the DisableButton Command shall continue executing until a SetButtonPage or any command that causes the IG stream playback to terminate such as Call, Jump and Link is executed or the command sequence ends. If at the end of the execution of all commands for the currently active Button there are no Buttons in the selected state, the BD-ROM Player shall execute the Button selection mechanism described in section 5.9.8 to determine which Button shall receive the selected state. This Command shall not be used within a Movie Object.

VM_SetSystem_SetSecondary_Video

VM_SetSystem_SetSecondary_Audio

VM_SetSystem_Set_Pip_TestST

The SetSecondaryStream Command sets values for any or all of the Secondary video, Secondary audio and PiP PG textST to be presented.

VM_Setsystem_PopupMenu_Off

Turn off the pop up menu on the screen. This Command shall not be used within a Movie Object.

VM_SetSystem_Still_On

Hold the presentation playback while keeping the last displayed picture on the screen. The Playback Control Engine keeps its status in “Play” and Interactive Graphics function is active. (e.g. Menu page can be called by user operation). This Command shall not be used within a Movie Object.

VM_SetSystem_Still_Off

Restart playback of a PlayList. This Command shall not be used within a Movie Object.

 

AuthoringWare Co. All rights reserved, 1997-2009.      | Legal |