bfg-common 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +21 -0
- package/.idea/inspectionProfiles/Project_Default.xml +49 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/uikit.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.prettierrc +5 -0
- package/PROJECT_STRUCTURE.md +42 -0
- package/README.md +42 -0
- package/assets/img/bg1.jpeg +0 -0
- package/assets/img/bg2.jpeg +0 -0
- package/assets/img/icons/icon-cps-dark-mode.png +0 -0
- package/assets/img/icons/icon-cps.png +0 -0
- package/assets/img/icons/icon-datastore.svg +1 -0
- package/assets/img/icons/icon-hcs.svg +4 -0
- package/assets/img/icons/icon-life-m-dark.svg +4 -0
- package/assets/img/icons/icon-life-m-light.svg +4 -0
- package/assets/img/icons/icon-ro-dark.svg +2 -0
- package/assets/img/icons/icon-ro-light.svg +3 -0
- package/assets/img/icons/icons-sprite-dark-1.svg +1 -0
- package/assets/img/icons/icons-sprite-dark-2.svg +1 -0
- package/assets/img/icons/icons-sprite-dark-3.svg +1 -0
- package/assets/img/icons/icons-sprite-dark-4.svg +1 -0
- package/assets/img/icons/icons-sprite-dark-5.svg +1 -0
- package/assets/img/icons/icons-sprite-light-1.svg +1 -0
- package/assets/img/icons/icons-sprite-light-2.svg +1 -0
- package/assets/img/icons/icons-sprite-light-3.svg +1 -0
- package/assets/img/icons/icons-sprite-light-4.svg +1 -0
- package/assets/img/icons/icons-sprite-light-5.svg +1 -0
- package/assets/img/icons/info.svg +8 -0
- package/assets/img/icons/sprite.png +0 -0
- package/assets/img/icons/summary-cluster.svg +1 -0
- package/assets/img/icons/vc.svg +53 -0
- package/assets/img/icons/vm-ui-icons.png +0 -0
- package/assets/img/logo copy.svg +50 -0
- package/assets/img/logo.png +0 -0
- package/assets/img/logo.svg +51 -0
- package/assets/localization/local_be.json +1851 -0
- package/assets/localization/local_en.json +1851 -0
- package/assets/localization/local_hy.json +1851 -0
- package/assets/localization/local_kk.json +1851 -0
- package/assets/localization/local_ru.json +1851 -0
- package/assets/localization/local_zh.json +1851 -0
- package/assets/scss/clarity/clr-ui.min.css +8 -0
- package/assets/scss/common/animations.scss +28 -0
- package/assets/scss/common/global.scss +178 -0
- package/assets/scss/common/icons/icons-1.scss +188 -0
- package/assets/scss/common/icons/icons-2.scss +208 -0
- package/assets/scss/common/icons/icons-3.scss +176 -0
- package/assets/scss/common/icons/icons-4.scss +179 -0
- package/assets/scss/common/icons/icons-5.scss +53 -0
- package/assets/scss/common/icons/icons.scss +14 -0
- package/assets/scss/common/mixins.scss +39 -0
- package/assets/scss/common/normalize.scss +320 -0
- package/assets/scss/common/theme.scss +230 -0
- package/assets/scss/common/utilities.scss +18 -0
- package/assets/scss/common/variables.scss +43 -0
- package/assets/scss/main.scss +13 -0
- package/components/atoms/DiagramIcon.vue +287 -0
- package/components/atoms/TheIcon.vue +1687 -0
- package/components/atoms/TheIcon2.vue +318 -0
- package/components/atoms/alert/Alert.spec.ts +38 -0
- package/components/atoms/alert/Alert.vue +84 -0
- package/components/atoms/alert/Notification.spec.ts +34 -0
- package/components/atoms/alert/Notification.vue +167 -0
- package/components/atoms/alert/models/enums.ts +12 -0
- package/components/atoms/alert/models/interfaces.ts +27 -0
- package/components/atoms/alert/models/types.ts +7 -0
- package/components/atoms/autocomplete/Autocomplete.vue +236 -0
- package/components/atoms/collapse/CollapseNav.vue +153 -0
- package/components/atoms/collapse/CollapseNavItem.vue +190 -0
- package/components/atoms/collapse/models/interfaces.ts +9 -0
- package/components/atoms/combobox/Combobox.vue +131 -0
- package/components/atoms/datepicker/Datepicker.vue +612 -0
- package/components/atoms/datepicker/config/allShortMonths.ts +103 -0
- package/components/atoms/datepicker/config/datapicker.ts +43 -0
- package/components/atoms/datepicker/models/interfaces.ts +8 -0
- package/components/atoms/dropdown/Portlet.spec.ts +26 -0
- package/components/atoms/dropdown/Portlet.vue +111 -0
- package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -0
- package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -0
- package/components/atoms/dropdown/tree/Tree.vue +134 -0
- package/components/atoms/dropdown/tree/models/interfaces.ts +9 -0
- package/components/atoms/input/Search.vue +16 -0
- package/components/atoms/list/SelectList.vue +62 -0
- package/components/atoms/list/SimpleList.vue +29 -0
- package/components/atoms/list/dragDropList/DragDropList.vue +139 -0
- package/components/atoms/list/dragDropList/config/events.ts +4 -0
- package/components/atoms/loader/BarLoader.vue +21 -0
- package/components/atoms/loader/Loader.vue +26 -0
- package/components/atoms/loader/PreLoader.vue +34 -0
- package/components/atoms/loader/Preloader.spec.ts +24 -0
- package/components/atoms/modal/Modal.spec.ts +55 -0
- package/components/atoms/modal/Modal.vue +241 -0
- package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -0
- package/components/atoms/modal/bySteps/BySteps.vue +234 -0
- package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +174 -0
- package/components/atoms/models/interfaces.ts +11 -0
- package/components/atoms/nav/NavBar.spec.ts +34 -0
- package/components/atoms/nav/NavBar.vue +116 -0
- package/components/atoms/nav/VerticalNavBar.vue +89 -0
- package/components/atoms/nav/models/interfaces.ts +5 -0
- package/components/atoms/notificationBar/NotificationBar.vue +175 -0
- package/components/atoms/notificationBar/models/enums.ts +27 -0
- package/components/atoms/notificationBar/models/interfaces.ts +6 -0
- package/components/atoms/notificationBar/models/types.ts +1 -0
- package/components/atoms/perPage/PerPage.vue +52 -0
- package/components/atoms/popover/Popover.vue +48 -0
- package/components/atoms/popup/SimplePopup.vue +90 -0
- package/components/atoms/select/TheSelect.vue +175 -0
- package/components/atoms/select/models/interfaces.ts +4 -0
- package/components/atoms/stack/StackBlock.vue +171 -0
- package/components/atoms/stack/StackContent.vue +60 -0
- package/components/atoms/step/VerticalStep.spec.ts +68 -0
- package/components/atoms/step/VerticalStep.vue +104 -0
- package/components/atoms/step/models/verticalStepItem.ts +7 -0
- package/components/atoms/switch/Switch.vue +107 -0
- package/components/atoms/table/compact/Compact.vue +526 -0
- package/components/atoms/table/compact/models/interfaces.ts +11 -0
- package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -0
- package/components/atoms/table/dataGrid/DataGrid.vue +1283 -0
- package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -0
- package/components/atoms/table/dataGrid/DataGridPage.vue +189 -0
- package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -0
- package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -0
- package/components/atoms/table/dataGrid/models/interfaces.ts +24 -0
- package/components/atoms/table/dataGrid/models/types.ts +5 -0
- package/components/atoms/table/dataGrid/utils/constructDataTable.ts +33 -0
- package/components/atoms/table/info/Info.vue +60 -0
- package/components/atoms/table/info/models/interfaces.ts +6 -0
- package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -0
- package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -0
- package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -0
- package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -0
- package/components/atoms/table/simpleTable/SimpleTable.vue +291 -0
- package/components/atoms/table/simpleTable/models/interfaces.ts +10 -0
- package/components/atoms/tabs/Tabs.vue +189 -0
- package/components/atoms/tabs/VerticalTabs.vue +81 -0
- package/components/atoms/tabs/models/interfaces.ts +4 -0
- package/components/atoms/tabs/models/types.ts +1 -0
- package/components/atoms/tooltip/Models/interfaces.ts +4 -0
- package/components/atoms/tooltip/Signpost.vue +224 -0
- package/components/atoms/tooltip/Text.vue +39 -0
- package/components/atoms/tooltip/Tooltip.vue +57 -0
- package/components/atoms/tooltip/TooltipError.vue +113 -0
- package/components/common/accordion/Accordion.vue +176 -0
- package/components/common/accordion/Recursion.vue +195 -0
- package/components/common/accordion/models/interfaces.ts +14 -0
- package/components/common/adapterManager/AdapterManager.vue +715 -0
- package/components/common/adapterManager/AddAdapterModal.vue +464 -0
- package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -0
- package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -0
- package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -0
- package/components/common/adapterManager/config/index.ts +19 -0
- package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -0
- package/components/common/adapterManager/ui/SecondTitle.vue +37 -0
- package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -0
- package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -0
- package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -0
- package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -0
- package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -0
- package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +11 -0
- package/components/common/adapterManager/ui/table/Adapters.vue +91 -0
- package/components/common/adapterManager/ui/table/Header.vue +89 -0
- package/components/common/adapterManager/ui/table/Table.vue +167 -0
- package/components/common/addNetworking/AddNetworking.vue +982 -0
- package/components/common/addNetworking/Wizard.vue +286 -0
- package/components/common/addNetworking/config/addNetworkingSteps.ts +404 -0
- package/components/common/addNetworking/config/index.ts +46 -0
- package/components/common/addNetworking/config/initialData.ts +78 -0
- package/components/common/addNetworking/config/portPropertiesStep.ts +19 -0
- package/components/common/addNetworking/config/selectSwitch.ts +19 -0
- package/components/common/addNetworking/config/sendData.ts +87 -0
- package/components/common/addNetworking/config/temporaryData.ts +8 -0
- package/components/common/addNetworking/config/validation.ts +23 -0
- package/components/common/addNetworking/mappers/mappers.ts +166 -0
- package/components/common/addNetworking/modals/SelectNetwork.vue +149 -0
- package/components/common/addNetworking/modals/SelectStandardSwitch.vue +125 -0
- package/components/common/addNetworking/modals/SelectSwitch.vue +114 -0
- package/components/common/addNetworking/models/enums.ts +7 -0
- package/components/common/addNetworking/models/interfaces.ts +207 -0
- package/components/common/addNetworking/models/types.ts +5 -0
- package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -0
- package/components/common/addNetworking/steps/CreateStandardSwitch.vue +91 -0
- package/components/common/addNetworking/steps/Header.vue +53 -0
- package/components/common/addNetworking/steps/IpFourSettings.vue +361 -0
- package/components/common/addNetworking/steps/PhysicalAdapter.vue +24 -0
- package/components/common/addNetworking/steps/PortProperties.vue +481 -0
- package/components/common/addNetworking/steps/ReadyComplete.vue +29 -0
- package/components/common/addNetworking/steps/SelectConnectionType.vue +106 -0
- package/components/common/addNetworking/steps/SelectedTargetDevice.vue +563 -0
- package/components/common/addNetworking/utils/index.ts +212 -0
- package/components/common/browse/Browse.vue +182 -0
- package/components/common/browse/blocks/Container.vue +102 -0
- package/components/common/browse/blocks/Title.vue +66 -0
- package/components/common/browse/blocks/contents/Files.vue +68 -0
- package/components/common/browse/blocks/info/Date.vue +21 -0
- package/components/common/browse/blocks/info/Size.vue +17 -0
- package/components/common/browse/blocks/info/Text.vue +17 -0
- package/components/common/browse/blocks/models/types.ts +1 -0
- package/components/common/browse/models/interfaces.ts +5 -0
- package/components/common/context/Context.spec.ts +20 -0
- package/components/common/context/Context.vue +97 -0
- package/components/common/context/ContextRecursion.spec.ts +55 -0
- package/components/common/context/ContextRecursion.vue +251 -0
- package/components/common/context/models/interfaces.ts +26 -0
- package/components/common/details/DetailsItem.vue +106 -0
- package/components/common/details/DetailsList.vue +23 -0
- package/components/common/details/model/interfaces.ts +9 -0
- package/components/common/diagramMain/Diagram.vue +186 -0
- package/components/common/diagramMain/DiagramMain.vue +979 -0
- package/components/common/diagramMain/Header.vue +160 -0
- package/components/common/diagramMain/Highlights.vue +102 -0
- package/components/common/diagramMain/adapter/Adapter.vue +105 -0
- package/components/common/diagramMain/adapter/AdapterItem.vue +227 -0
- package/components/common/diagramMain/adapter/AdapterItems.vue +57 -0
- package/components/common/diagramMain/adapter/Block.vue +41 -0
- package/components/common/diagramMain/adapter/Contents.vue +96 -0
- package/components/common/diagramMain/adapter/Lines.vue +52 -0
- package/components/common/diagramMain/adapter/SecondBlock.vue +42 -0
- package/components/common/diagramMain/config/index.ts +51 -0
- package/components/common/diagramMain/config/initial.ts +38 -0
- package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -0
- package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +535 -0
- package/components/common/diagramMain/modals/config/adapterModal.ts +110 -0
- package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -0
- package/components/common/diagramMain/modals/config/index.ts +57 -0
- package/components/common/diagramMain/modals/config/initial.ts +195 -0
- package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -0
- package/components/common/diagramMain/modals/config/networkModal.ts +337 -0
- package/components/common/diagramMain/modals/config/portModal.ts +201 -0
- package/components/common/diagramMain/modals/config/switchModal.ts +172 -0
- package/components/common/diagramMain/modals/config/vCenterModal.ts +30 -0
- package/components/common/diagramMain/modals/config/validation.ts +3 -0
- package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -0
- package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -0
- package/components/common/diagramMain/modals/editSettings/EditSettings.vue +490 -0
- package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +714 -0
- package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -0
- package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +178 -0
- package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +165 -0
- package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +392 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -0
- package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -0
- package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -0
- package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +206 -0
- package/components/common/diagramMain/modals/steps/SelectVmkernelAdapter.vue +221 -0
- package/components/common/diagramMain/modals/steps/VmkernelAdapterReadyComplete.vue +50 -0
- package/components/common/diagramMain/modals/utils/index.ts +9 -0
- package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -0
- package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -0
- package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -0
- package/components/common/diagramMain/models/enums.ts +27 -0
- package/components/common/diagramMain/models/interfaces.ts +586 -0
- package/components/common/diagramMain/models/types.ts +9 -0
- package/components/common/diagramMain/network/Block.vue +55 -0
- package/components/common/diagramMain/network/Contents.vue +238 -0
- package/components/common/diagramMain/network/Lines.vue +65 -0
- package/components/common/diagramMain/network/Network.vue +117 -0
- package/components/common/diagramMain/network/NoNetwork.vue +47 -0
- package/components/common/diagramMain/network/SecondBlock.vue +51 -0
- package/components/common/diagramMain/port/Port.vue +301 -0
- package/components/common/diagramMain/port/Ports.vue +41 -0
- package/components/common/diagramMain/switch/Switch.vue +71 -0
- package/components/common/diagramMain/switch/SwitchSelected.vue +29 -0
- package/components/common/diagramMain/utils/utils.ts +218 -0
- package/components/common/feedback/Buttons.vue +232 -0
- package/components/common/feedback/Feedback.vue +236 -0
- package/components/common/feedback/Message.vue +468 -0
- package/components/common/feedback/VisitPortal.vue +54 -0
- package/components/common/feedback/config/drawingPanel.ts +31 -0
- package/components/common/feedback/config/feedbackTabs.ts +24 -0
- package/components/common/feedback/models/interfaces.ts +15 -0
- package/components/common/graph/Graph.vue +107 -0
- package/components/common/graph/utils/renderGraph.ts +389 -0
- package/components/common/headline/Headline.vue +32 -0
- package/components/common/mainNavigationPanel/MainNavigationPanel.vue +343 -0
- package/components/common/mainNavigationPanel/models/interfaces.ts +6 -0
- package/components/common/mainNavigationPanel/models/types.ts +1 -0
- package/components/common/modals/Rename.vue +165 -0
- package/components/common/modals/config/defaultForm.ts +18 -0
- package/components/common/modals/config/renameLabelWidth.ts +3 -0
- package/components/common/modals/models/interfaces.ts +5 -0
- package/components/common/monitor/advanced/Advanced.vue +149 -0
- package/components/common/monitor/advanced/GraphView.vue +200 -0
- package/components/common/monitor/advanced/models/interfaces.ts +6 -0
- package/components/common/monitor/advanced/models/types.ts +1 -0
- package/components/common/monitor/advanced/table/Table.vue +90 -0
- package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -0
- package/components/common/monitor/advanced/table/models/interfaces.ts +12 -0
- package/components/common/monitor/advanced/table/models/types.ts +10 -0
- package/components/common/monitor/advanced/tools/Tools.vue +281 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +109 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +79 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/config/optionsActions.ts +13 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +53 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +47 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +104 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +73 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +15 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +7 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +18 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +388 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +107 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +32 -0
- package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +104 -0
- package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +73 -0
- package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -0
- package/components/common/monitor/config/getValidDateByOption.ts +14 -0
- package/components/common/monitor/models/interfaces.ts +16 -0
- package/components/common/monitor/overview/Overview.vue +412 -0
- package/components/common/monitor/overview/filters/Filters.vue +210 -0
- package/components/common/monitor/overview/filters/config/filterOptions.ts +56 -0
- package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +220 -0
- package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +35 -0
- package/components/common/monitor/overview/filters/models/interfaces.ts +6 -0
- package/components/common/monitor/overview/filters/models/types.ts +3 -0
- package/components/common/perPage/PerPage.vue +51 -0
- package/components/common/recursionTree/RecursionTree.vue +201 -0
- package/components/common/recursionTree/models/interfaces.ts +19 -0
- package/components/common/resource/models/interfaces.ts +9 -0
- package/components/common/resource/models/types.ts +1 -0
- package/components/common/resource/progressBlock/ProgressBlock.vue +105 -0
- package/components/common/resource/simple/Simple.vue +58 -0
- package/components/common/resource/simple/models/enums.ts +5 -0
- package/components/common/resource/utils.ts +33 -0
- package/components/common/select/button/ButtonDropdown.vue +100 -0
- package/components/common/select/button/models/interfaces.ts +6 -0
- package/components/common/select/radio/RadioGroup.vue +71 -0
- package/components/common/select/radio/models/interfaces.ts +10 -0
- package/components/common/spiceConsole/Drawer.vue +233 -0
- package/components/common/spiceConsole/SpiceConsole.vue +87 -0
- package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -0
- package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -0
- package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -0
- package/components/common/spiceConsole/models/types.ts +1 -0
- package/components/common/split/horizontal/Horizontal.vue +306 -0
- package/components/common/split/horizontal/models/interfaces.ts +5 -0
- package/components/common/split/vertical/Vertical.vue +213 -0
- package/components/common/split/vertical/models/interfaces.ts +3 -0
- package/components/common/tools/Actions.vue +141 -0
- package/components/common/tools/models/interfaces.ts +6 -0
- package/components/common/vm/actions/add/Add.vue +654 -0
- package/components/common/vm/actions/add/FolderTreeView.vue +83 -0
- package/components/common/vm/actions/add/config/capabilities.ts +670 -0
- package/components/common/vm/actions/add/customizeHardware/CustomizeHardware.vue +236 -0
- package/components/common/vm/actions/add/customizeHardware/config/navItems.ts +19 -0
- package/components/common/vm/actions/add/customizeHardware/models/interfaces.ts +7 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/VirtualHardware.vue +611 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/Bus.vue +86 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/config/options.ts +13 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +223 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +97 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Hv.vue +93 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Iommu.vue +52 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/MaxCpu.vue +99 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Pc.vue +54 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Sa.vue +102 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/Shares.vue +151 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +210 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/config/options.ts +28 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +278 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +23 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces.ts +125 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/types.ts +4 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +147 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +252 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +65 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/InputDevices.vue +21 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/Other.vue +27 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +228 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/config/options.ts +33 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +169 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/Vmoptions.vue +141 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/Order.vue +195 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +114 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/models/interfaces.ts +34 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +45 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +49 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +49 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +226 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +50 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +134 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +82 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -0
- package/components/common/vm/actions/add/customizeHardware/vmoptions/tools/Tools.vue +63 -0
- package/components/common/vm/actions/add/models/enums.ts +89 -0
- package/components/common/vm/actions/add/models/interfaces.ts +125 -0
- package/components/common/vm/actions/add/models/types.ts +63 -0
- package/components/common/vm/actions/add/readyToComplete/ReadyToComplete.vue +15 -0
- package/components/common/vm/actions/add/select/compatibility/Compatibility.vue +151 -0
- package/components/common/vm/actions/add/select/computeResource/ComputeResource.spec.ts +479 -0
- package/components/common/vm/actions/add/select/computeResource/ComputeResource.vue +158 -0
- package/components/common/vm/actions/add/select/computeResource/TreeView.vue +126 -0
- package/components/common/vm/actions/add/select/createType/CreateType.vue +61 -0
- package/components/common/vm/actions/add/select/createType/config/items.ts +26 -0
- package/components/common/vm/actions/add/select/models/interfaces.ts +32 -0
- package/components/common/vm/actions/add/select/models/types.ts +44 -0
- package/components/common/vm/actions/add/select/name/Name.vue +163 -0
- package/components/common/vm/actions/add/select/os/os.vue +221 -0
- package/components/common/vm/actions/add/select/storage/Storage.vue +176 -0
- package/components/common/vm/actions/add/select/storage/config/config.ts +148 -0
- package/components/common/vm/actions/add/select/storage/models/types.ts +15 -0
- package/components/common/vm/actions/add/utils.ts +118 -0
- package/components/common/vm/actions/editSettings/EditSettings.vue +312 -0
- package/components/common/vm/actions/editSettings/models/types.ts +23 -0
- package/components/common/vm/actions/editSettings/utils.ts +48 -0
- package/components/common/vm/actions/models/interfaces.ts +6 -0
- package/components/common/vm/actions/models/types.ts +11 -0
- package/components/common/vm/actions/utils.ts +221 -0
- package/components/common/wizards/datastore/add/Add.vue +382 -0
- package/components/common/wizards/datastore/add/config/stepItems.ts +160 -0
- package/components/common/wizards/datastore/add/local/Local.vue +67 -0
- package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -0
- package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -0
- package/components/common/wizards/datastore/add/models/interfaces.ts +35 -0
- package/components/common/wizards/datastore/add/models/types.ts +14 -0
- package/components/common/wizards/datastore/add/nfs/Nfs.vue +91 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -0
- package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -0
- package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -0
- package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -0
- package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -0
- package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -0
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -0
- package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -0
- package/components/common/wizards/datastore/add/nfs/version/Version.vue +70 -0
- package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -0
- package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +77 -0
- package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -0
- package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -0
- package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -0
- package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -0
- package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -0
- package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +70 -0
- package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +19 -0
- package/components/common/wizards/datastore/add/types/Types.vue +79 -0
- package/components/common/wizards/datastore/add/types/config/typeOptions.ts +31 -0
- package/components/common/wizards/datastore/add/utils.ts +69 -0
- package/components/models/interfaces.ts +14 -0
- package/composables/deepCopy.ts +21 -0
- package/composables/useDiff.ts +15 -0
- package/composables/useLocal.ts +36 -0
- package/composables/useLocalStorage.ts +45 -0
- package/composables/useThrottle.ts +32 -0
- package/composables/useUniqueId.ts +5 -0
- package/config/regExp.ts +13 -0
- package/eslint/index.js +15 -0
- package/eslint/no-import-type.js +17 -0
- package/eslint/no-invalid-type-prefix.js +32 -0
- package/minify.js +51 -0
- package/models/composables/useMyFetch/interfaces.ts +4 -0
- package/models/composables/useMyFetch/types.ts +1 -0
- package/models/enums.ts +21 -0
- package/models/interfaces.ts +29 -0
- package/models/plugins/date/interfaces.ts +5 -0
- package/models/plugins/date/types.ts +1 -0
- package/models/plugins/validation/interfaces.ts +21 -0
- package/models/plugins/validation/types.ts +1 -0
- package/models/store/host/interfaces.ts +38 -0
- package/models/store/interfaces.ts +47 -0
- package/models/store/network/interfaces.ts +13 -0
- package/models/store/storage/interfaces.ts +32 -0
- package/models/store/vm/interfaces.ts +87 -0
- package/models/types.ts +6 -0
- package/nuxt.config.ts +8 -0
- package/package.json +39 -0
- package/plugins/binary.ts +122 -0
- package/plugins/date.ts +179 -0
- package/plugins/recursion.ts +199 -0
- package/plugins/spice-console/spice.console.ts +128 -0
- package/plugins/text.ts +48 -0
- package/plugins/validation.ts +172 -0
- package/public/favicon.ico +0 -0
- package/public/spice-console/application/WorkerProcess.js +3350 -0
- package/public/spice-console/application/WorkerProcess_back.js +3144 -0
- package/public/spice-console/application/WorkerProcess_meta.js +3103 -0
- package/public/spice-console/application/WorkerProcess_reverse.js +3214 -0
- package/public/spice-console/application/agent.js +175 -0
- package/public/spice-console/application/application.js +641 -0
- package/public/spice-console/application/checkActivity.js +50 -0
- package/public/spice-console/application/clientgui.js +842 -0
- package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -0
- package/public/spice-console/application/clipboard/local/localClipboard.js +110 -0
- package/public/spice-console/application/clipboard.js +82 -0
- package/public/spice-console/application/codec.js +257 -0
- package/public/spice-console/application/imagecache.js +81 -0
- package/public/spice-console/application/inputmanager.js +270 -0
- package/public/spice-console/application/packetfactory.js +202 -0
- package/public/spice-console/application/packetfilter.js +103 -0
- package/public/spice-console/application/packetprocess.js +75 -0
- package/public/spice-console/application/rasteroperation.js +118 -0
- package/public/spice-console/application/spiceconnection.js +197 -0
- package/public/spice-console/application/stream.js +67 -0
- package/public/spice-console/application/virtualmouse.js +109 -0
- package/public/spice-console/keymaps/keyevent.js +36 -0
- package/public/spice-console/keymaps/keymap.js +229 -0
- package/public/spice-console/keymaps/keymapes.js +375 -0
- package/public/spice-console/keymaps/keymapesObj.js +317 -0
- package/public/spice-console/keymaps/keymapus.js +317 -0
- package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -0
- package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -0
- package/public/spice-console/lib/AsyncConsumer.js +204 -0
- package/public/spice-console/lib/AsyncWorker.js +60 -0
- package/public/spice-console/lib/CollisionDetector.js +27 -0
- package/public/spice-console/lib/DataLogger.js +197 -0
- package/public/spice-console/lib/GenericObjectPool.js +152 -0
- package/public/spice-console/lib/GlobalPool.js +114 -0
- package/public/spice-console/lib/ImageUncompressor.js +138 -0
- package/public/spice-console/lib/IntegrationBenchmark.js +64 -0
- package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -0
- package/public/spice-console/lib/SyncAsyncHandler.js +46 -0
- package/public/spice-console/lib/base64.js +298 -0
- package/public/spice-console/lib/biginteger.js +1640 -0
- package/public/spice-console/lib/bowser.js +276 -0
- package/public/spice-console/lib/decoder/dixie.js +7930 -0
- package/public/spice-console/lib/decoder/jmuxer.js +2815 -0
- package/public/spice-console/lib/displayRouter.js +83 -0
- package/public/spice-console/lib/encrypt.js +191 -0
- package/public/spice-console/lib/flipper.js +39 -0
- package/public/spice-console/lib/graphic.js +1230 -0
- package/public/spice-console/lib/graphicdebug.js +223 -0
- package/public/spice-console/lib/images/bitmap.js +194 -0
- package/public/spice-console/lib/images/jsquic_family.js +84 -0
- package/public/spice-console/lib/images/jsquic_rgba.js +343 -0
- package/public/spice-console/lib/images/jsquic_uncompress.js +530 -0
- package/public/spice-console/lib/images/lz.js +717 -0
- package/public/spice-console/lib/images/png.js +275 -0
- package/public/spice-console/lib/jgestures.min.js +44 -0
- package/public/spice-console/lib/jquery-2.0.3.js +8829 -0
- package/public/spice-console/lib/jquery-mousewheel.js +84 -0
- package/public/spice-console/lib/jquery-visibility.min.js +2 -0
- package/public/spice-console/lib/jsbn.js +578 -0
- package/public/spice-console/lib/jsbn2.js +675 -0
- package/public/spice-console/lib/lodash.4.0.0.min.js +136 -0
- package/public/spice-console/lib/modernizr.js +39 -0
- package/public/spice-console/lib/pixastic.js +3244 -0
- package/public/spice-console/lib/prettyprint.js +794 -0
- package/public/spice-console/lib/prng4.js +64 -0
- package/public/spice-console/lib/queue.js +259 -0
- package/public/spice-console/lib/rasterEngine.js +907 -0
- package/public/spice-console/lib/rng.js +87 -0
- package/public/spice-console/lib/runqueue.js +103 -0
- package/public/spice-console/lib/sha1.js +124 -0
- package/public/spice-console/lib/stuckkeyshandler.js +122 -0
- package/public/spice-console/lib/timelapsedetector.js +62 -0
- package/public/spice-console/lib/utils.js +327 -0
- package/public/spice-console/lib/virtualjoystick.js +370 -0
- package/public/spice-console/network/busconnection.js +195 -0
- package/public/spice-console/network/clusternodechooser.js +49 -0
- package/public/spice-console/network/connectioncontrol.js +60 -0
- package/public/spice-console/network/packetcontroller.js +62 -0
- package/public/spice-console/network/packetextractor.js +73 -0
- package/public/spice-console/network/packetlinkfactory.js +64 -0
- package/public/spice-console/network/packetreassembler.js +77 -0
- package/public/spice-console/network/reassemblerfactory.js +39 -0
- package/public/spice-console/network/sizedefiner.js +86 -0
- package/public/spice-console/network/socket.js +120 -0
- package/public/spice-console/network/socketqueue.js +95 -0
- package/public/spice-console/network/spicechannel.js +310 -0
- package/public/spice-console/network/websocketwrapper.js +75 -0
- package/public/spice-console/process/busprocess.js +309 -0
- package/public/spice-console/process/cursorprocess.js +110 -0
- package/public/spice-console/process/displaypreprocess.js +152 -0
- package/public/spice-console/process/displayprocess.js +210 -0
- package/public/spice-console/process/inputprocess.js +204 -0
- package/public/spice-console/process/mainprocess.js +78 -0
- package/public/spice-console/process/playbackprocess.js +233 -0
- package/public/spice-console/resources/magnifier.png +0 -0
- package/public/spice-console/resources/mouse.png +0 -0
- package/public/spice-console/resources/mouse_cursor.gif +0 -0
- package/public/spice-console/resources/mouse_cursor.png +0 -0
- package/public/spice-console/run.js +181 -0
- package/public/spice-console/spiceobjects/generated/protocol.js +537 -0
- package/public/spice-console/spiceobjects/spiceobjects.js +3474 -0
- package/public/spice-console/swcanvas/swcanvas.js +82 -0
- package/public/spice-console/tools/generate.php +269 -0
- package/public/spice-console/tools/generateKeyboardLayout.php +63 -0
- package/public/spice-console/tools/generateSpiceObject.php +81 -0
- package/public/spice-console-minify/application/WorkerProcess.min.js +1 -0
- package/public/spice-console-minify/application/WorkerProcess_back.min.js +1 -0
- package/public/spice-console-minify/application/WorkerProcess_meta.min.js +1 -0
- package/public/spice-console-minify/application/WorkerProcess_reverse.min.js +1 -0
- package/public/spice-console-minify/application/agent.min.js +1 -0
- package/public/spice-console-minify/application/application.min.js +1 -0
- package/public/spice-console-minify/application/checkActivity.min.js +1 -0
- package/public/spice-console-minify/application/clientgui.min.js +1 -0
- package/public/spice-console-minify/application/clipboard/clipboarddataparser.min.js +1 -0
- package/public/spice-console-minify/application/clipboard/local/localClipboard.min.js +1 -0
- package/public/spice-console-minify/application/clipboard.min.js +1 -0
- package/public/spice-console-minify/application/codec.min.js +1 -0
- package/public/spice-console-minify/application/imagecache.min.js +1 -0
- package/public/spice-console-minify/application/inputmanager.min.js +1 -0
- package/public/spice-console-minify/application/packetfactory.min.js +1 -0
- package/public/spice-console-minify/application/packetfilter.min.js +1 -0
- package/public/spice-console-minify/application/packetprocess.min.js +1 -0
- package/public/spice-console-minify/application/rasteroperation.min.js +1 -0
- package/public/spice-console-minify/application/spiceconnection.min.js +1 -0
- package/public/spice-console-minify/application/stream.min.js +1 -0
- package/public/spice-console-minify/application/virtualmouse.min.js +1 -0
- package/public/spice-console-minify/keymaps/keyevent.min.js +1 -0
- package/public/spice-console-minify/keymaps/keymap.min.js +1 -0
- package/public/spice-console-minify/keymaps/keymapes.min.js +1 -0
- package/public/spice-console-minify/keymaps/keymapesObj.min.js +1 -0
- package/public/spice-console-minify/keymaps/keymapus.min.js +1 -0
- package/public/spice-console-minify/keymaps/scanCodeObjModifier.min.js +1 -0
- package/public/spice-console-minify/keymaps/scanCodeObjProvider.min.js +1 -0
- package/public/spice-console-minify/lib/AsyncConsumer.min.js +1 -0
- package/public/spice-console-minify/lib/AsyncWorker.min.js +1 -0
- package/public/spice-console-minify/lib/CollisionDetector.min.js +1 -0
- package/public/spice-console-minify/lib/DataLogger.min.js +1 -0
- package/public/spice-console-minify/lib/GenericObjectPool.min.js +1 -0
- package/public/spice-console-minify/lib/GlobalPool.min.js +1 -0
- package/public/spice-console-minify/lib/ImageUncompressor.min.js +1 -0
- package/public/spice-console-minify/lib/IntegrationBenchmark.min.js +1 -0
- package/public/spice-console-minify/lib/PacketWorkerIdentifier.min.js +1 -0
- package/public/spice-console-minify/lib/SyncAsyncHandler.min.js +1 -0
- package/public/spice-console-minify/lib/base64.min.js +1 -0
- package/public/spice-console-minify/lib/biginteger.min.js +1 -0
- package/public/spice-console-minify/lib/bowser.min.js +1 -0
- package/public/spice-console-minify/lib/decoder/dixie.min.js +5 -0
- package/public/spice-console-minify/lib/decoder/jmuxer.min.js +1 -0
- package/public/spice-console-minify/lib/displayRouter.min.js +1 -0
- package/public/spice-console-minify/lib/encrypt.min.js +1 -0
- package/public/spice-console-minify/lib/flipper.min.js +1 -0
- package/public/spice-console-minify/lib/graphic.min.js +1 -0
- package/public/spice-console-minify/lib/graphicdebug.min.js +1 -0
- package/public/spice-console-minify/lib/images/bitmap.min.js +1 -0
- package/public/spice-console-minify/lib/images/jsquic_family.min.js +1 -0
- package/public/spice-console-minify/lib/images/jsquic_rgba.min.js +1 -0
- package/public/spice-console-minify/lib/images/jsquic_uncompress.min.js +1 -0
- package/public/spice-console-minify/lib/images/lz.min.js +1 -0
- package/public/spice-console-minify/lib/images/png.min.js +1 -0
- package/public/spice-console-minify/lib/jgestures.min.js +25 -0
- package/public/spice-console-minify/lib/jquery-2.0.3.min.js +25 -0
- package/public/spice-console-minify/lib/jquery-mousewheel.min.js +12 -0
- package/public/spice-console-minify/lib/jquery-visibility.min.js +2 -0
- package/public/spice-console-minify/lib/jsbn.min.js +1 -0
- package/public/spice-console-minify/lib/jsbn2.min.js +1 -0
- package/public/spice-console-minify/lib/lodash.4.0.0.min.js +6 -0
- package/public/spice-console-minify/lib/modernizr.min.js +1 -0
- package/public/spice-console-minify/lib/pixastic.min.js +1 -0
- package/public/spice-console-minify/lib/prettyprint.min.js +1 -0
- package/public/spice-console-minify/lib/prng4.min.js +1 -0
- package/public/spice-console-minify/lib/queue.min.js +1 -0
- package/public/spice-console-minify/lib/rasterEngine.min.js +1 -0
- package/public/spice-console-minify/lib/rng.min.js +1 -0
- package/public/spice-console-minify/lib/runqueue.min.js +1 -0
- package/public/spice-console-minify/lib/sha1.min.js +1 -0
- package/public/spice-console-minify/lib/stuckkeyshandler.min.js +1 -0
- package/public/spice-console-minify/lib/timelapsedetector.min.js +1 -0
- package/public/spice-console-minify/lib/utils.min.js +1 -0
- package/public/spice-console-minify/lib/virtualjoystick.min.js +1 -0
- package/public/spice-console-minify/network/busconnection.min.js +1 -0
- package/public/spice-console-minify/network/clusternodechooser.min.js +1 -0
- package/public/spice-console-minify/network/connectioncontrol.min.js +1 -0
- package/public/spice-console-minify/network/packetcontroller.min.js +1 -0
- package/public/spice-console-minify/network/packetextractor.min.js +1 -0
- package/public/spice-console-minify/network/packetlinkfactory.min.js +1 -0
- package/public/spice-console-minify/network/packetreassembler.min.js +1 -0
- package/public/spice-console-minify/network/reassemblerfactory.min.js +1 -0
- package/public/spice-console-minify/network/sizedefiner.min.js +1 -0
- package/public/spice-console-minify/network/socket.min.js +1 -0
- package/public/spice-console-minify/network/socketqueue.min.js +1 -0
- package/public/spice-console-minify/network/spicechannel.min.js +1 -0
- package/public/spice-console-minify/network/websocketwrapper.min.js +1 -0
- package/public/spice-console-minify/process/busprocess.min.js +1 -0
- package/public/spice-console-minify/process/cursorprocess.min.js +1 -0
- package/public/spice-console-minify/process/displaypreprocess.min.js +1 -0
- package/public/spice-console-minify/process/displayprocess.min.js +1 -0
- package/public/spice-console-minify/process/inputprocess.min.js +1 -0
- package/public/spice-console-minify/process/mainprocess.min.js +1 -0
- package/public/spice-console-minify/process/playbackprocess.min.js +1 -0
- package/public/spice-console-minify/run.min.js +1 -0
- package/public/spice-console-minify/spiceobjects/generated/protocol.min.js +1 -0
- package/public/spice-console-minify/spiceobjects/spiceobjects.min.js +1 -0
- package/public/spice-console-minify/swcanvas/swcanvas.min.js +1 -0
- package/tsconfig.json +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.SyncAsyncHandler=$.spcExtend(wdi.EventObject.prototype,{init:function(s){this.isAsync=!!s.isAsync,this.isAsync&&(this.asyncWorker=s.asyncWorker||new wdi.AsyncWorker({script:wdi.spiceClientPath+"/spice-console/application/WorkerProcess.js"}))},isAsync:null,dispatch:function(s,i,n){if(this.isAsync)this.asyncWorker.run(s,i,n);else{var c=window.workerDispatch(s,this.isAsync);i.call(n,c)}},dispose:function(){this.isAsync&&this.asyncWorker.dispose()}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var Base64={toBase64Table:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",base64Pad:"=",encode:function(r){"use strict";var e,t="",a=Base64.toBase64Table.split(""),o=Base64.base64Pad,n=r.length;for(e=0;e<n-2;e+=3)t+=a[r[e]>>2],t+=a[((3&r[e])<<4)+(r[e+1]>>4)],t+=a[((15&r[e+1])<<2)+(r[e+2]>>6)],t+=a[63&r[e+2]];return n%3&&(t+=a[r[e=n-n%3]>>2],n%3==2?(t+=a[((3&r[e])<<4)+(r[e+1]>>4)],t+=a[(15&r[e+1])<<2],t+=o):(t+=a[(3&r[e])<<4],t+=o+o)),t},toBinaryTable:[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1],decode:function(r,e){"use strict";e=void 0!==e?e:0;var t,a,o,n,c,h,d=Base64.toBinaryTable,i=Base64.base64Pad,f=0,C=0,s=r.indexOf("=")-e;for(s<0&&(s=r.length-e),a=3*(s>>2)+Math.floor(s%4/1.5),t=new Array(a),o=0,n=e;n<r.length;n++)c=d[127&r.charCodeAt(n)],h=r.charAt(n)===i,-1!==c?(C=C<<6|c,(f+=6)>=8&&(f-=8,h||(t[o++]=C>>f&255),C&=(1<<f)-1)):console.error("Illegal character code "+r.charCodeAt(n)+" at position "+n);if(f)throw{name:"Base64-Error",message:"Corrupted base64 string"};return t},_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encodeStr:function(r){var e,t,a,o,n,c,h,d="",i=0;for(r=Base64._utf8_encode(r);i<r.length;)o=(e=r.charCodeAt(i++))>>2,n=(3&e)<<4|(t=r.charCodeAt(i++))>>4,c=(15&t)<<2|(a=r.charCodeAt(i++))>>6,h=63&a,isNaN(t)?c=h=64:isNaN(a)&&(h=64),d=d+this._keyStr.charAt(o)+this._keyStr.charAt(n)+this._keyStr.charAt(c)+this._keyStr.charAt(h);return d},decodeStr:function(r){var e,t,a,o,n,c,h="",d=0;for(r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");d<r.length;)e=this._keyStr.indexOf(r.charAt(d++))<<2|(o=this._keyStr.indexOf(r.charAt(d++)))>>4,t=(15&o)<<4|(n=this._keyStr.indexOf(r.charAt(d++)))>>2,a=(3&n)<<6|(c=this._keyStr.indexOf(r.charAt(d++))),h+=String.fromCharCode(e),64!=n&&(h+=String.fromCharCode(t)),64!=c&&(h+=String.fromCharCode(a));return h=Base64._utf8_decode(h)},_utf8_encode:function(r){r=r.replace(/\r\n/g,"\n");for(var e="",t=0;t<r.length;t++){var a=r.charCodeAt(t);a<128?e+=String.fromCharCode(a):a>127&&a<2048?(e+=String.fromCharCode(a>>6|192),e+=String.fromCharCode(63&a|128)):(e+=String.fromCharCode(a>>12|224),e+=String.fromCharCode(a>>6&63|128),e+=String.fromCharCode(63&a|128))}return e},_utf8_decode:function(r){for(var e="",t=0,a=c1=c2=0;t<r.length;)(a=r.charCodeAt(t))<128?(e+=String.fromCharCode(a),t++):a>191&&a<224?(c2=r.charCodeAt(t+1),e+=String.fromCharCode((31&a)<<6|63&c2),t+=2):(c2=r.charCodeAt(t+1),c3=r.charCodeAt(t+2),e+=String.fromCharCode((15&a)<<12|(63&c2)<<6|63&c3),t+=3);return e}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function BigInteger(e,t){if(!(this instanceof BigInteger))return e instanceof BigInteger?e:void 0===e?BigInteger.ZERO:BigInteger.parse(e);for(e=e||[];e.length&&!e[e.length-1];)--e.length;this._d=e,this._s=e.length?t||1:0}Array.prototype.map||(Array.prototype.map=function(e){var t=this.length>>>0;if("function"!=typeof e)throw new TypeError;for(var r=new Array(t),n=arguments[1],i=0;i<t;i++)i in this&&(r[i]=e.call(n,this[i],i,this));return r}),BigInteger.base=1e7,BigInteger.base_log10=7,BigInteger.init=function(){BigInteger.ZERO=new BigInteger([],0),BigInteger.ONE=new BigInteger([1],1),BigInteger.M_ONE=new BigInteger(BigInteger.ONE._d,-1),BigInteger._0=BigInteger.ZERO,BigInteger._1=BigInteger.ONE,BigInteger.small=[BigInteger.ZERO,BigInteger.ONE,new BigInteger([2],1),new BigInteger([3],1),new BigInteger([4],1),new BigInteger([5],1),new BigInteger([6],1),new BigInteger([7],1),new BigInteger([8],1),new BigInteger([9],1),new BigInteger([10],1),new BigInteger([11],1),new BigInteger([12],1),new BigInteger([13],1),new BigInteger([14],1),new BigInteger([15],1),new BigInteger([16],1),new BigInteger([17],1),new BigInteger([18],1),new BigInteger([19],1),new BigInteger([20],1),new BigInteger([21],1),new BigInteger([22],1),new BigInteger([23],1),new BigInteger([24],1),new BigInteger([25],1),new BigInteger([26],1),new BigInteger([27],1),new BigInteger([28],1),new BigInteger([29],1),new BigInteger([30],1),new BigInteger([31],1),new BigInteger([32],1),new BigInteger([33],1),new BigInteger([34],1),new BigInteger([35],1),new BigInteger([36],1)]},BigInteger.init(),BigInteger.digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),BigInteger.prototype.toString=function(e){if((e=+e||10)<2||e>36)throw new Error("illegal radix "+e+".");if(0===this._s)return"0";if(10===e){var t=this._s<0?"-":"";t+=this._d[this._d.length-1].toString();for(var r=this._d.length-2;r>=0;r--){for(var n=this._d[r].toString();n.length<BigInteger.base_log10;)n="0"+n;t+=n}return t}var i=BigInteger.digits;e=BigInteger.small[e];for(var g,s=this._s,o=this.abs(),a=[];0!==o._s;){var I=o.divRem(e);o=I[0],g=I[1],a.push(i[g.valueOf()])}return(s<0?"-":"")+a.reverse().join("")},BigInteger.radixRegex=[/^$/,/^$/,/^[01]*$/,/^[012]*$/,/^[0-3]*$/,/^[0-4]*$/,/^[0-5]*$/,/^[0-6]*$/,/^[0-7]*$/,/^[0-8]*$/,/^[0-9]*$/,/^[0-9aA]*$/,/^[0-9abAB]*$/,/^[0-9abcABC]*$/,/^[0-9a-dA-D]*$/,/^[0-9a-eA-E]*$/,/^[0-9a-fA-F]*$/,/^[0-9a-gA-G]*$/,/^[0-9a-hA-H]*$/,/^[0-9a-iA-I]*$/,/^[0-9a-jA-J]*$/,/^[0-9a-kA-K]*$/,/^[0-9a-lA-L]*$/,/^[0-9a-mA-M]*$/,/^[0-9a-nA-N]*$/,/^[0-9a-oA-O]*$/,/^[0-9a-pA-P]*$/,/^[0-9a-qA-Q]*$/,/^[0-9a-rA-R]*$/,/^[0-9a-sA-S]*$/,/^[0-9a-tA-T]*$/,/^[0-9a-uA-U]*$/,/^[0-9a-vA-V]*$/,/^[0-9a-wA-W]*$/,/^[0-9a-xA-X]*$/,/^[0-9a-yA-Y]*$/,/^[0-9a-zA-Z]*$/],BigInteger.parse=function(e,t){e=e.toString(),void 0!==t&&10!=+t||(e=e.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/,"e").replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/,(function(e,t,r,n,i){var g=(i=+i)<0,s=r.length+i;e=(g?r:n).length,i=(i=Math.abs(i))>=e?i-e+g:0;var o=new Array(i+1).join("0"),a=r+n;return(t||"")+(g?a=o+a:a+=o).substr(0,s+=g?o.length:0)+(s<a.length?"."+a.substr(s):"")})));var r=/^([+\-]?)(0[xXcCbB])?([0-9A-Za-z]*)(?:\.\d*)?$/.exec(e);if(r){var n=r[1]||"+",i=r[2]||"",g=r[3]||"";if(void 0===t)t="0x"===i||"0X"===i?16:"0c"===i||"0C"===i?8:"0b"===i||"0B"===i?2:10;else if(t<2||t>36)throw new Error("Illegal radix "+t+".");if(t=+t,!BigInteger.radixRegex[t].test(g))throw new Error("Bad digit for radix "+t);if(0===(g=g.replace(/^0+/,"").split("")).length)return BigInteger.ZERO;if(n="-"===n?-1:1,10==t){for(var s=[];g.length>=BigInteger.base_log10;)s.push(parseInt(g.splice(-BigInteger.base_log10).join(""),10));return s.push(parseInt(g.join(""),10)),new BigInteger(s,n)}if(t===BigInteger.base)return new BigInteger(g.map(Number).reverse(),n);s=BigInteger.ZERO;t=BigInteger.small[t];for(var o=BigInteger.small,a=0;a<g.length;a++)s=s.multiply(t).add(o[parseInt(g[a],36)]);return new BigInteger(s._d,n)}throw new Error("Invalid BigInteger format: "+e)},BigInteger.prototype.add=function(e){if(0===this._s)return BigInteger(e);if(0===(e=BigInteger(e))._s)return this;if(this._s!==e._s)return e=e.negate(),this.subtract(e);for(var t,r=this._d,n=e._d,i=r.length,g=n.length,s=new Array(Math.max(i,g)+1),o=Math.min(i,g),a=0,I=0;I<o;I++)t=r[I]+n[I]+a,s[I]=t%BigInteger.base,a=t/BigInteger.base|0;for(g>i&&(r=n,i=g),I=o;a&&I<i;I++)t=r[I]+a,s[I]=t%BigInteger.base,a=t/BigInteger.base|0;for(a&&(s[I]=a);I<i;I++)s[I]=r[I];return new BigInteger(s,this._s)},BigInteger.prototype.negate=function(){return new BigInteger(this._d,-this._s)},BigInteger.prototype.abs=function(){return this._s<0?this.negate():this},BigInteger.prototype.subtract=function(e){if(0===this._s)return BigInteger(e).negate();if(0===(e=BigInteger(e))._s)return this;if(this._s!==e._s)return e=e.negate(),this.add(e);var t,r=this;this._s<0&&(t=r,r=new BigInteger(e._d,1),e=new BigInteger(t._d,1));var n=r.compareAbs(e);if(0===n)return BigInteger.ZERO;n<0&&(t=e,e=r,r=t);var i,g,s=r._d,o=e._d,a=s.length,I=o.length,B=new Array(a),h=0;for(i=0;i<I;i++)(g=s[i]-h-o[i])<0?(g+=BigInteger.base,h=1):h=0,B[i]=g;for(i=I;i<a;i++){if(!((g=s[i]-h)<0)){B[i++]=g;break}g+=BigInteger.base,B[i]=g}for(;i<a;i++)B[i]=s[i];return new BigInteger(B,n)},function(){function e(e,t){for(var r=e._d,n=r.slice(),i=0;;){var g=(r[i]||0)+1;if(n[i]=g%BigInteger.base,g<=BigInteger.base-1)break;++i}return new BigInteger(n,t)}function t(e,t){for(var r=e._d,n=r.slice(),i=0;;){var g=(r[i]||0)-1;if(!(g<0)){n[i]=g;break}n[i]=g+BigInteger.base,++i}return new BigInteger(n,t)}BigInteger.prototype.next=function(){switch(this._s){case 0:return BigInteger.ONE;case-1:return t(this,-1);default:return e(this,1)}},BigInteger.prototype.prev=function(){switch(this._s){case 0:return BigInteger.M_ONE;case-1:return e(this,-1);default:return t(this,1)}}}(),BigInteger.prototype.compareAbs=function(e){if(this===e)return 0;if(!(e instanceof BigInteger)){if(!isFinite(e))return isNaN(e)?e:-1;e=BigInteger(e)}if(0===this._s)return 0!==e._s?-1:0;if(0===e._s)return 1;var t=this._d.length,r=e._d.length;if(t<r)return-1;if(t>r)return 1;for(var n=this._d,i=e._d,g=t-1;g>=0;g--)if(n[g]!==i[g])return n[g]<i[g]?-1:1;return 0},BigInteger.prototype.compare=function(e){return this===e?0:(e=BigInteger(e),0===this._s?-e._s:this._s===e._s?this.compareAbs(e)*this._s:this._s)},BigInteger.prototype.isUnit=function(){return this===BigInteger.ONE||this===BigInteger.M_ONE||1===this._d.length&&1===this._d[0]},BigInteger.prototype.multiply=function(e){if(0===this._s)return BigInteger.ZERO;if(0===(e=BigInteger(e))._s)return BigInteger.ZERO;if(this.isUnit())return this._s<0?e.negate():e;if(e.isUnit())return e._s<0?this.negate():this;if(this===e)return this.square();var t,r=this._d.length>=e._d.length,n=(r?this:e)._d,i=(r?e:this)._d,g=n.length,s=i.length,o=g+s,a=new Array(o);for(t=0;t<o;t++)a[t]=0;for(t=0;t<s;t++){for(var I,B=0,h=i[t],u=g+t,f=t;f<u;f++)B=(I=a[f]+h*n[f-t]+B)/BigInteger.base|0,a[f]=I%BigInteger.base|0;B&&(B=(I=a[f]+B)/BigInteger.base|0,a[f]=I%BigInteger.base)}return new BigInteger(a,this._s*e._s)},BigInteger.prototype.multiplySingleDigit=function(e){if(0===e||0===this._s)return BigInteger.ZERO;if(1===e)return this;var t;if(1===this._d.length)return(t=this._d[0]*e)>=BigInteger.base?new BigInteger([t%BigInteger.base|0,t/BigInteger.base|0],1):new BigInteger([t],1);if(2===e)return this.add(this);if(this.isUnit())return new BigInteger([e],1);for(var r=this._d,n=r.length,i=n+1,g=new Array(i),s=0;s<i;s++)g[s]=0;for(var o=0,a=0;a<n;a++)o=(t=e*r[a]+o)/BigInteger.base|0,g[a]=t%BigInteger.base|0;return o&&(o=(t=o)/BigInteger.base|0,g[a]=t%BigInteger.base),new BigInteger(g,1)},BigInteger.prototype.square=function(){if(0===this._s)return BigInteger.ZERO;if(this.isUnit())return BigInteger.ONE;var e,t,r,n,i=this._d,g=i.length,s=new Array(g+g+1);for(n=0;n<g;n++)r=2*n,t=(e=i[n]*i[n])/BigInteger.base|0,s[r]=e%BigInteger.base,s[r+1]=t;for(n=0;n<g;n++){t=0,r=2*n+1;for(var o=n+1;o<g;o++,r++)t=(e=i[o]*i[n]*2+s[r]+t)/BigInteger.base|0,s[r]=e%BigInteger.base;var a=t+s[r=g+n];t=a/BigInteger.base|0,s[r]=a%BigInteger.base,s[r+1]+=t}return new BigInteger(s,1)},BigInteger.prototype.quotient=function(e){return this.divRem(e)[0]},BigInteger.prototype.divide=BigInteger.prototype.quotient,BigInteger.prototype.remainder=function(e){return this.divRem(e)[1]},BigInteger.prototype.divRem=function(e){if(0===(e=BigInteger(e))._s)throw new Error("Divide by zero");if(0===this._s)return[BigInteger.ZERO,BigInteger.ZERO];if(1===e._d.length)return this.divRemSmall(e._s*e._d[0]);switch(this.compareAbs(e)){case 0:return[this._s===e._s?BigInteger.ONE:BigInteger.M_ONE,BigInteger.ZERO];case-1:return[BigInteger.ZERO,this]}var t,r=this._s*e._s,n=e.abs(),i=this._d.slice(),g=(e._d.length,i.length,[]),s=new BigInteger([],1);for(s._s=1;i.length;)if(s._d.unshift(i.pop()),(s=new BigInteger(s._d,1)).compareAbs(e)<0)g.push(0);else{if(0===s._s)t=0;else{var o=s._d.length,a=n._d.length,I=s._d[o-1]*BigInteger.base+s._d[o-2],B=n._d[a-1]*BigInteger.base+n._d[a-2];s._d.length>n._d.length&&(I=(I+1)*BigInteger.base),t=Math.ceil(I/B)}do{var h=n.multiplySingleDigit(t);if(h.compareAbs(s)<=0)break;t--}while(t);if(g.push(t),t){var u=s.subtract(h);s._d=u._d.slice()}}return[new BigInteger(g.reverse(),r),new BigInteger(s._d,this._s)]},BigInteger.prototype.divRemSmall=function(e){var t;if(0===(e=+e))throw new Error("Divide by zero");var r=e<0?-1:1,n=this._s*r;if((e=Math.abs(e))<1||e>=BigInteger.base)throw new Error("Argument out of range");if(0===this._s)return[BigInteger.ZERO,BigInteger.ZERO];if(1===e||-1===e)return[1===n?this.abs():new BigInteger(this._d,n),BigInteger.ZERO];if(1===this._d.length){var i=new BigInteger([this._d[0]/e|0],1);return t=new BigInteger([this._d[0]%e|0],1),n<0&&(i=i.negate()),this._s<0&&(t=t.negate()),[i,t]}for(var g,s=this._d.slice(),o=new Array(s.length),a=0,I=0,B=0;s.length;){if((a=a*BigInteger.base+s[s.length-1])<e)o[B++]=0,s.pop(),I=BigInteger.base*I+a;else I=a-e*(g=0===a?0:a/e|0),o[B++]=g,g?(s.pop(),a=I):s.pop()}return t=new BigInteger([I],1),this._s<0&&(t=t.negate()),[new BigInteger(o.reverse(),n),t]},BigInteger.prototype.isEven=function(){var e=this._d;return 0===this._s||0===e.length||e[0]%2==0},BigInteger.prototype.isOdd=function(){return!this.isEven()},BigInteger.prototype.sign=function(){return this._s},BigInteger.prototype.isPositive=function(){return this._s>0},BigInteger.prototype.isNegative=function(){return this._s<0},BigInteger.prototype.isZero=function(){return 0===this._s},BigInteger.prototype.exp10=function(e){if(0===(e=+e))return this;if(Math.abs(e)>Number(BigInteger.MAX_EXP))throw new Error("exponent too large in BigInteger.exp10");if(e>0){for(var t=new BigInteger(this._d.slice(),this._s);e>=BigInteger.base_log10;e-=BigInteger.base_log10)t._d.unshift(0);return 0==e?t:(t._s=1,t=t.multiplySingleDigit(Math.pow(10,e)),this._s<0?t.negate():t)}if(-e>=this._d.length*BigInteger.base_log10)return BigInteger.ZERO;t=new BigInteger(this._d.slice(),this._s);for(e=-e;e>=BigInteger.base_log10;e-=BigInteger.base_log10)t._d.shift();return 0==e?t:t.divRemSmall(Math.pow(10,e))[0]},BigInteger.prototype.pow=function(e){if(this.isUnit())return this._s>0||BigInteger(e).isOdd()?this:this.negate();if(0===(e=BigInteger(e))._s)return BigInteger.ONE;if(e._s<0){if(0===this._s)throw new Error("Divide by zero");return BigInteger.ZERO}if(0===this._s)return BigInteger.ZERO;if(e.isUnit())return this;if(e.compareAbs(BigInteger.MAX_EXP)>0)throw new Error("exponent too large in BigInteger.pow");for(var t=this,r=BigInteger.ONE,n=BigInteger.small[2];e.isPositive();){if(e.isOdd()&&(r=r.multiply(t),e.isUnit()))return r;t=t.square(),e=e.quotient(n)}return r},BigInteger.prototype.modPow=function(e,t){for(var r=BigInteger.ONE,n=this;e.isPositive();)e.isOdd()&&(r=r.multiply(n).remainder(t)),(e=e.quotient(BigInteger.small[2])).isPositive()&&(n=n.square().remainder(t));return r},BigInteger.prototype.log=function(){switch(this._s){case 0:return-1/0;case-1:return NaN}var e=this._d.length;if(e*BigInteger.base_log10<30)return Math.log(this.valueOf());var t=Math.ceil(30/BigInteger.base_log10),r=this._d.slice(e-t);return Math.log(new BigInteger(r,1).valueOf())+(e-t)*Math.log(BigInteger.base)},BigInteger.prototype.valueOf=function(){return parseInt(this.toString(),10)},BigInteger.prototype.toJSValue=function(){return parseInt(this.toString(),10)},BigInteger.MAX_EXP=BigInteger(2147483647),function(){function e(e){return function(t){return e.call(BigInteger(t))}}function t(e){return function(t,r){return e.call(BigInteger(t),BigInteger(r))}}function r(e){return function(t,r,n){return e.call(BigInteger(t),BigInteger(r),BigInteger(n))}}!function(){var n,i,g="toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(","),s="compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(","),o=["modPow"];for(n=0;n<g.length;n++)BigInteger[i=g[n]]=e(BigInteger.prototype[i]);for(n=0;n<s.length;n++)BigInteger[i=s[n]]=t(BigInteger.prototype[i]);for(n=0;n<o.length;n++)BigInteger[i=o[n]]=r(BigInteger.prototype[i]);BigInteger.exp10=function(e,t){return BigInteger(e).exp10(t)}}()}(),"undefined"!=typeof exports&&(exports.BigInteger=BigInteger);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,i){"undefined"!=typeof module&&module.exports?module.exports.browser=i():this.bowser=i()}(0,(function(){var e=!0;function i(i){function o(e){var o=i.match(e);return o&&o.length>1&&o[1]||""}var s,r=o(/(ipod|iphone|ipad)/i).toLowerCase(),n=!/like android/i.test(i)&&/android/i.test(i),a=o(/version\/(\d+(\.\d+)?)/i),t=/tablet/i.test(i),d=!t&&/[^-]mobi/i.test(i);/opera|opr/i.test(i)?s={name:"Opera",opera:e,version:a||o(/(?:opera|opr)[\s\/](\d+(\.\d+)?)/i)}:/windows phone/i.test(i)?s={name:"Windows Phone",windowsphone:e,msie:e,version:o(/iemobile\/(\d+(\.\d+)?)/i)}:/msie|trident/i.test(i)?s={name:"Internet Explorer",msie:e,version:o(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:/chrome|crios|crmo/i.test(i)?s={name:"Chrome",chrome:e,version:o(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:r?(s={name:"iphone"==r?"iPhone":"ipad"==r?"iPad":"iPod"},a&&(s.version=a)):/sailfish/i.test(i)?s={name:"Sailfish",sailfish:e,version:o(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(i)?s={name:"SeaMonkey",seamonkey:e,version:o(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel/i.test(i)?(s={name:"Firefox",firefox:e,version:o(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(i)&&(s.firefoxos=e)):/silk/i.test(i)?s={name:"Amazon Silk",silk:e,version:o(/silk\/(\d+(\.\d+)?)/i)}:n?s={name:"Android",version:a}:/phantom/i.test(i)?s={name:"PhantomJS",phantom:e,version:o(/phantomjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(i)||/rim\stablet/i.test(i)?s={name:"BlackBerry",blackberry:e,version:a||o(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:/(web|hpw)os/i.test(i)?(s={name:"WebOS",webos:e,version:a||o(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(i)&&(s.touchpad=e)):s=/bada/i.test(i)?{name:"Bada",bada:e,version:o(/dolfin\/(\d+(\.\d+)?)/i)}:/tizen/i.test(i)?{name:"Tizen",tizen:e,version:o(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||a}:/safari/i.test(i)?{name:"Safari",safari:e,version:a}:{},/(apple)?webkit/i.test(i)?(s.name=s.name||"Webkit",s.webkit=e,!s.version&&a&&(s.version=a)):!s.opera&&/gecko\//i.test(i)&&(s.name=s.name||"Gecko",s.gecko=e,s.version=s.version||o(/gecko\/(\d+(\.\d+)?)/i)),n||s.silk?s.android=e:r&&(s[r]=e,s.ios=e);var m="";r?m=(m=o(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):n?m=o(/android[ \/-](\d+(\.\d+)*)/i):s.windowsphone?m=o(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):s.webos?m=o(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):s.blackberry?m=o(/rim\stablet\sos\s(\d+(\.\d+)*)/i):s.bada?m=o(/bada\/(\d+(\.\d+)*)/i):s.tizen&&(m=o(/tizen[\/\s](\d+(\.\d+)*)/i)),m&&(s.osversion=m);var v=m.split(".")[0];return t||"ipad"==r||n&&(3==v||4==v&&!d)||s.silk?s.tablet=e:(d||"iphone"==r||"ipod"==r||n||s.blackberry||s.webos||s.bada)&&(s.mobile=e),s.msie&&s.version>=9||s.chrome&&s.version>=20||s.firefox&&s.version>=10||s.safari&&s.version>=5||s.opera&&s.version>=10||s.ios&&s.osversion&&s.osversion.split(".")[0]>=6?s.a=e:s.msie&&s.version<9||s.chrome&&s.version<20||s.firefox&&s.version<10||s.safari&&s.version<5||s.opera&&s.version<10||s.ios&&s.osversion&&s.osversion.split(".")[0]<6?s.c=e:s.x=e,s}var o=i("undefined"!=typeof navigator?navigator.userAgent:"");return o._detect=i,window.bowser||(window.bowser=o),o}));
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";function strcmp(_,e){return _==e?0:_>e?1:-1}var ptr=0,EXIT_SUCCESS=0,EXIT_FAILURE=1,SEEK_CUR=1,SEEK_END=2,SEEK_SET=0,buffer8k=function(){return Arr(8800,0)};function fread(_,e,r,t){if(_.val=new buffer8k,t.data.length<r+t.data_off)return t.data_off+=r,0;for(var n=0;n<r;++n)_.val[n]=t.data[t.data_off++];return _.val.length=r,n}function ftell(_){return _.data_off}function feof(_){return _.data.length<_.data_off?1:0}var char_=0,short_=0,int_=0,long_=0,void_=0,int8_t=char_,uint8_t=char_,int16_t=short_,uint16_t=short_,int32_t=int_,uint32_t=int_,uint64_t=long_,int64_t=long_,float_=0,size_t=0,double_=0,score_t=int64_t,CHAR_BIT=8,ptrdiff_t=int_,UINT8=char_,INT16=short_;function newObjectIt(_){return void 0===_?"error":JSON.parse(JSON.stringify(_))}function memcpy(_,e,r,t,n){var i;for(i=0;i<n;++i)_[e+i]=r[t+i];return _}function memset(_,e,r,t){var n=0;for(n=0;n<t;++n)_[e+n]=r}function malloc(_,e){var r,t=new Array;for(r=0;r<_;++r)t.push(e);return t}function assert(_){if(!_)throw new Error("assert :P")}function setjmp(_){return 0}function offsetof(_,e){return e}function Arr(_,e){var r,t=new Array;for(r=0;r<_;++r)t.push(e);return t}function Arr_new(_,e){var r,t=new Array;for(r=0;r<_;++r)t.push(new e);return t}function Arr_nOI(_,e){var r,t=new Array;for(r=0;r<_;++r)t.push(newObjectIt(e));return t}function ArrM(_,e){var r;new Array;for(r=_.length-1;r>=0;--r)e=newObjectIt(Arr(_[r],e));return e}function create_obj_vals_from_arrayChilds(_,e){var r;for(r=0;r<e.length;++r)e[r]=create_obj_vals_from_array(new _,e[r]);return e}function create_obj_vals_from_array(_,e){var r=_,t=0;for(var n in r)"object"==typeof r[n]&&Object.keys(r[n]).length==e[t].length?r[n]=create_obj_vals_from_array(r[n],e[t]):r[n]=e[t],t++;return r}var DC_PRED=0,V_PRED=1,H_PRED=2,TM_PRED=3,B_PRED=4,NEARESTMV=5,NEARMV=6,ZEROMV=7,NEWMV=8,SPLITMV=9,MB_MODE_COUNT=10,B_DC_PRED=0,B_TM_PRED=1,B_VE_PRED=2,B_HE_PRED=3,B_LD_PRED=4,B_RD_PRED=5,B_VR_PRED=6,B_VL_PRED=7,B_HD_PRED=8,B_HU_PRED=9,LEFT4X4=10,ABOVE4X4=11,ZERO4X4=12,NEW4X4=13,B_MODE_COUNT=14;function CODEC_INTERFACE(_,e){window[_+"_algo"]=create_obj_vals_from_array(vpx_codec_iface_t,e)}var VPX_CODEC_INTERNAL_ABI_VERSION=3,VPX_CODEC_CAP_DECODER=1,vpx_codec_ctrl_fn_map_t=function(){this.ctrl_id=int_,this.fn=0
|
|
2
|
+
/*!\brief Decoder algorithm interface interface 285
|
|
3
|
+
*
|
|
4
|
+
* All decoders \ref MUST expose a variable of this type.
|
|
5
|
+
*/},vpx_codec_iface=function(){this.name=char_,this.abi_version=int_,this.caps=long_,this.init="vpx_codec_init_fn_t",this.destroy="vpx_codec_destroy_fn_t",this.ctrl_maps=new vpx_codec_ctrl_fn_map_t,this.get_mmap="vpx_codec_get_mmap_fn_t",this.set_mmap="vpx_codec_set_mmap_fn_t",this.dec=new Object({peek_si:"vpx_codec_peek_si_fn_t",get_si:"vpx_codec_get_si_fn_t",decode:"vpx_codec_decode_fn_t",get_frame:"vpx_codec_get_frame_fn_t"})},vpx_codec_iface_t=vpx_codec_iface,VERSION_STRING=" v0.9.7",VPX_CODEC_OK=0,VPX_CODEC_MEM_ERROR=2,VPX_IMAGE_ABI_VERSION=1;VPX_IMG_FMT_I420=258,VPX_IMG_FMT_VPXI420=260;var VPX_PLANE_PACKED=0,VPX_PLANE_Y=0,VPX_PLANE_U=1,VPX_PLANE_V=2,VPX_PLANE_ALPHA=3,PLANE_PACKED=VPX_PLANE_PACKED,PLANE_Y=VPX_PLANE_Y,PLANE_U=VPX_PLANE_U,PLANE_V=VPX_PLANE_V,PLANE_ALPHA=VPX_PLANE_ALPHA,vpx_image_t=function(){this.fmt=0,this.w=this.w=int_,this.h=this.h=int_,this.d_w=this.d_w=int_,this.d_h=this.d_h=int_,this.x_chroma_shift=this.x_chroma_shift=int_,this.y_chroma_shift=this.y_chroma_shift=int_,this.planes=this.planes=new Array(4),this.planes_off=this.planes_off=new Array(4),this.stride=this.stride=new Array(4),this.bps=this.bps=int_,this.user_priv=this.user_priv=void_,this.img_data=this.img_data=char_,this.img_data_off=this.img_data_off=0,this.img_data_owner=this.img_data_owner=int_,this.self_allocd=this.self_allocd=int_},NESTEGG_TRACK_VIDEO=0,NESTEGG_TRACK_AUDIO=1,NESTEGG_CODEC_VP8=0,NESTEGG_CODEC_VORBIS=1,NESTEGG_SEEK_SET=0,NESTEGG_SEEK_CUR=1,NESTEGG_SEEK_END=2,NESTEGG_LOG_DEBUG=1,NESTEGG_LOG_INFO=10,NESTEGG_LOG_WARNING=100,NESTEGG_LOG_ERROR=1e3,NESTEGG_LOG_CRITICAL=1e4,nestegg_io=function(){this.read=int_,this.seek=int_,this.tell=int64_t,this.userdata=void_},nestegg_video_params=function(){this.width=int_,this.height=int_,this.display_width=int_,this.display_height=int_,this.crop_bottom=int_,this.crop_top=int_,this.crop_left=int_,this.crop_right=int_},ID_EBML=440786851,ID_EBML_VERSION=17030,ID_EBML_READ_VERSION=17143,ID_EBML_MAX_ID_LENGTH=17138,ID_EBML_MAX_SIZE_LENGTH=17139,ID_DOCTYPE=17026,ID_DOCTYPE_VERSION=17031,ID_DOCTYPE_READ_VERSION=17029,ID_VOID=236,ID_CRC32=191,ID_SEGMENT=408125543,ID_SEEK_HEAD=290298740,ID_SEEK=19899,ID_SEEK_ID=21419,ID_SEEK_POSITION=21420,ID_INFO=357149030,ID_TIMECODE_SCALE=2807729,ID_DURATION=17545,ID_CLUSTER=524531317,ID_TIMECODE=231,ID_BLOCK_GROUP=160,ID_SIMPLE_BLOCK=163,ID_BLOCK=161,ID_BLOCK_DURATION=155,ID_REFERENCE_BLOCK=251,ID_TRACKS=374648427,ID_TRACK_ENTRY=174,ID_TRACK_NUMBER=215,ID_TRACK_UID=29637,ID_TRACK_TYPE=131,ID_FLAG_ENABLED=185,ID_FLAG_DEFAULT=136,ID_FLAG_LACING=156,ID_TRACK_TIMECODE_SCALE=2306383,ID_LANGUAGE=2274716,ID_CODEC_ID=134,ID_CODEC_PRIVATE=25506,ID_VIDEO=224,ID_PIXEL_WIDTH=176,ID_PIXEL_HEIGHT=186,ID_PIXEL_CROP_BOTTOM=21674,ID_PIXEL_CROP_TOP=21691,ID_PIXEL_CROP_LEFT=21708,ID_PIXEL_CROP_RIGHT=21725,ID_DISPLAY_WIDTH=21680,ID_DISPLAY_HEIGHT=21690,ID_AUDIO=225,ID_SAMPLING_FREQUENCY=181,ID_CHANNELS=159,ID_BIT_DEPTH=25188,ID_CUES=475249515,ID_CUE_POINT=187,ID_CUE_TIME=179,ID_CUE_TRACK_POSITIONS=183,ID_CUE_TRACK=247,ID_CUE_CLUSTER_POSITION=241,ID_CUE_BLOCK_NUMBER=21368,TYPE_UNKNOWN=0,TYPE_MASTER=1,TYPE_UINT=2,TYPE_FLOAT=3,TYPE_INT=4,TYPE_STRING=5,TYPE_BINARY=6,LIMIT_STRING=1<<20,LIMIT_BINARY=1<<24,LIMIT_BLOCK=1<<30,LIMIT_FRAME=1<<28,DESC_FLAG_NONE=0,DESC_FLAG_MULTI=1,DESC_FLAG_SUSPEND=2,DESC_FLAG_OFFSET=4,BLOCK_FLAGS_LACING=6,LACING_NONE=0,LACING_XIPH=1,LACING_FIXED=2,LACING_EBML=3,TRACK_TYPE_VIDEO=1,TRACK_TYPE_AUDIO=2,TRACK_ID_VP8="V_VP8",TRACK_ID_VORBIS="A_VORBIS",MASK_NONE=0,MASK_FIRST_BIT=1,ebml_binary=function(){this.data=char_,this.length=size_t},ebml_list_node=function(){this.next=null,this.id=uint64_t,this.data=void_},ebml_list=function(){this.head=null,this.tail=null},ebml_type=function(){this.v=new Object({u:uint64_t,f:double_,i:int64_t,s:char_,b:new ebml_binary}),this.type=0,this.read=int_},ebml=window.ebml=function(){this.ebml_version=this.ebml_version=new ebml_type,this.ebml_read_version=this.ebml_read_version=new ebml_type,this.ebml_max_id_length=this.ebml_max_id_length=new ebml_type,this.ebml_max_size_length=this.ebml_max_size_length=new ebml_type,this.doctype=this.doctype=new ebml_type,this.doctype_version=this.doctype_version=new ebml_type,this.doctype_read_version=this.doctype_read_version=new ebml_type},seek=window.seek=function(){this.id=this.id=new ebml_type,this.position=this.position=new ebml_type},seek_head=window.seek_head=function(){this.seek=this.seek=new ebml_list},info=window.info=function(){this.timecode_scale=this.timecode_scale=new ebml_type,this.duration=this.duration=new ebml_type},block_group=window.block_group=function(){this.duration=this.duration=new ebml_type,this.reference_block=this.reference_block=new ebml_type},cluster=window.cluster=function(){this.timecode=this.timecode=new ebml_type,this.block_group=this.block_group=new ebml_list},video=window.video=function(){this.pixel_width=this.pixel_width=new ebml_type,this.pixel_height=this.pixel_height=new ebml_type,this.pixel_crop_bottom=this.pixel_crop_bottom=new ebml_type,this.pixel_crop_top=this.pixel_crop_top=new ebml_type,this.pixel_crop_left=this.pixel_crop_left=new ebml_type,this.pixel_crop_right=this.pixel_crop_right=new ebml_type,this.display_width=this.display_width=new ebml_type,this.display_height=this.display_height=new ebml_type},audio=window.audio=function(){this.sampling_frequency=this.sampling_frequency=new ebml_type,this.channels=this.channels=new ebml_type,this.bit_depth=this.bit_depth=new ebml_type},track_entry=window.track_entry=function(){this.number=this.number=new ebml_type,this.uid=this.uid=new ebml_type,this.type=this.type=new ebml_type,this.flag_enabled=this.flag_enabled=new ebml_type,this.flag_default=this.flag_default=new ebml_type,this.flag_lacing=this.flag_lacing=new ebml_type,this.track_timecode_scale=this.track_timecode_scale=new ebml_type,this.language=this.language=new ebml_type,this.codec_id=this.codec_id=new ebml_type,this.codec_private=this.codec_private=new ebml_type,this.video=this.video=new video,this.audio=this.audio=new audio},tracks=window.tracks=function(){this.track_entry=this.track_entry=new ebml_list},cue_track_positions=window.cue_track_positions=function(){this.track=this.track=new ebml_type,this.cluster_position=this.cluster_position=new ebml_type,this.block_number=this.block_number=new ebml_type},cue_point=window.cue_point=function(){this.time=this.time=new ebml_type,this.cue_track_positions=this.cue_track_positions=new ebml_list},cues=window.cues=function(){this.cue_point=this.cue_point=new ebml_list},segment=window.segment=function(){this.seek_head=this.seek_head=new ebml_list,this.info=this.info=new info,this.cluster=this.cluster=new ebml_list,this.tracks=this.tracks=new tracks,this.cues=this.cues=new cues},pool_ctx=function(){this.dummy=char_},list_node=function(){this.previous=0,this.node=new ebml_element_desc,this.data=char_},frame=function(){this.data=char_,this.length=size_t,this.next=null},nestegg=function(){this.io=new nestegg_io,this.log_=0,this.alloc_pool=new pool_ctx,this.last_id=uint64_t,this.last_size=uint64_t,this.ancestor=null,this.ebml=this.ebml=new ebml,this.segment=this.segment=new segment,this.segment_offset=int64_t,this.track_count=int_},nestegg_packet=function(){this.track=uint64_t,this.timecode=uint64_t,this.frame=new frame},ebml_element_desc=function(){this.name=char_,this.id=uint64_t,this.type=0,this.offset=size_t,this.flags=int_,this.children=null,this.size=size_t,this.data_offset=size_t};function E_FIELD(_,e,r,t,n){return new Array(_,e,r,n,DESC_FLAG_NONE,null,0,0)}function E_MASTER(_,e,r,t,n,i){return new Array(_,e,r,n,DESC_FLAG_MULTI,i,1,0)}function E_SINGLE_MASTER_O(_,e,r,t,n,i){return new Array(_,e,r,n,DESC_FLAG_OFFSET,i,0,n+"_offset")}function E_SINGLE_MASTER(_,e,r,t,n,i){return new Array(_,e,r,n,DESC_FLAG_NONE,i,0,0)}function E_SUSPEND(_,e,r){return new Array(_,e,r,0,DESC_FLAG_SUSPEND,null,0,0)}var E_LAST=new Array(null,0,0,0,DESC_FLAG_NONE,null,0,0),ne_ebml_elements=create_ebml_element_desc(new Array(E_FIELD("ID_EBML_VERSION",ID_EBML_VERSION,TYPE_UINT,"ebml","ebml_version"),E_FIELD("ID_EBML_READ_VERSION",ID_EBML_READ_VERSION,TYPE_UINT,"ebml","ebml_read_version"),E_FIELD("ID_EBML_MAX_ID_LENGTH",ID_EBML_MAX_ID_LENGTH,TYPE_UINT,"ebml","ebml_max_id_length"),E_FIELD("ID_EBML_MAX_SIZE_LENGTH",ID_EBML_MAX_SIZE_LENGTH,TYPE_UINT,"ebml","ebml_max_size_length"),E_FIELD("ID_DOCTYPE",ID_DOCTYPE,TYPE_STRING,"ebml","doctype"),E_FIELD("ID_DOCTYPE_VERSION",ID_DOCTYPE_VERSION,TYPE_UINT,"ebml","doctype_version"),E_FIELD("ID_DOCTYPE_READ_VERSION",ID_DOCTYPE_READ_VERSION,TYPE_UINT,"ebml","doctype_read_version"),E_LAST)),ne_seek_elements=create_ebml_element_desc(new Array(E_FIELD("ID_SEEK_ID",ID_SEEK_ID,TYPE_BINARY,"seek","id"),E_FIELD("ID_SEEK_POSITION",ID_SEEK_POSITION,TYPE_UINT,"seek","position"),E_LAST)),ne_seek_head_elements=create_ebml_element_desc(new Array(E_MASTER("ID_SEEK",ID_SEEK,TYPE_MASTER,"seek_head","seek",ne_seek_elements),E_LAST)),ne_info_elements=create_ebml_element_desc(new Array(E_FIELD("ID_TIMECODE_SCALE",ID_TIMECODE_SCALE,TYPE_UINT,"info","timecode_scale"),E_FIELD("ID_DURATION",ID_DURATION,TYPE_FLOAT,"info","duration"),E_LAST)),ne_block_group_elements=create_ebml_element_desc(new Array(E_SUSPEND("ID_BLOCK",ID_BLOCK,TYPE_BINARY),E_FIELD("ID_BLOCK_DURATION",ID_BLOCK_DURATION,TYPE_UINT,"block_group","duration"),E_FIELD("ID_REFERENCE_BLOCK",ID_REFERENCE_BLOCK,TYPE_INT,"block_group","reference_block"),E_LAST)),ne_cluster_elements=create_ebml_element_desc(new Array(E_FIELD("ID_TIMECODE",ID_TIMECODE,TYPE_UINT,"cluster","timecode"),E_MASTER("ID_BLOCK_GROUP",ID_BLOCK_GROUP,TYPE_MASTER,"cluster","block_group",ne_block_group_elements),E_SUSPEND("ID_SIMPLE_BLOCK",ID_SIMPLE_BLOCK,TYPE_BINARY),E_LAST)),ne_video_elements=create_ebml_element_desc(new Array(E_FIELD("ID_PIXEL_WIDTH",ID_PIXEL_WIDTH,TYPE_UINT,"video","pixel_width"),E_FIELD("ID_PIXEL_HEIGHT",ID_PIXEL_HEIGHT,TYPE_UINT,"video","pixel_height"),E_FIELD("ID_PIXEL_CROP_BOTTOM",ID_PIXEL_CROP_BOTTOM,TYPE_UINT,"video","pixel_crop_bottom"),E_FIELD("ID_PIXEL_CROP_TOP",ID_PIXEL_CROP_TOP,TYPE_UINT,"video","pixel_crop_top"),E_FIELD("ID_PIXEL_CROP_LEFT",ID_PIXEL_CROP_LEFT,TYPE_UINT,"video","pixel_crop_left"),E_FIELD("ID_PIXEL_CROP_RIGHT",ID_PIXEL_CROP_RIGHT,TYPE_UINT,"video","pixel_crop_right"),E_FIELD("ID_DISPLAY_WIDTH",ID_DISPLAY_WIDTH,TYPE_UINT,"video","display_width"),E_FIELD("ID_DISPLAY_HEIGHT",ID_DISPLAY_HEIGHT,TYPE_UINT,"video","display_height"),E_LAST)),ne_audio_elements=create_ebml_element_desc(new Array(E_FIELD("ID_SAMPLING_FREQUENCY",ID_SAMPLING_FREQUENCY,TYPE_FLOAT,"audio","sampling_frequency"),E_FIELD("ID_CHANNELS",ID_CHANNELS,TYPE_UINT,"audio","channels"),E_FIELD("ID_BIT_DEPTH",ID_BIT_DEPTH,TYPE_UINT,"audio","bit_depth"),E_LAST)),ne_track_entry_elements=create_ebml_element_desc(new Array(E_FIELD("ID_TRACK_NUMBER",ID_TRACK_NUMBER,TYPE_UINT,"track_entry","number"),E_FIELD("ID_TRACK_UID",ID_TRACK_UID,TYPE_UINT,"track_entry","uid"),E_FIELD("ID_TRACK_TYPE",ID_TRACK_TYPE,TYPE_UINT,"track_entry","type"),E_FIELD("ID_FLAG_ENABLED",ID_FLAG_ENABLED,TYPE_UINT,"track_entry","flag_enabled"),E_FIELD("ID_FLAG_DEFAULT",ID_FLAG_DEFAULT,TYPE_UINT,"track_entry","flag_default"),E_FIELD("ID_FLAG_LACING",ID_FLAG_LACING,TYPE_UINT,"track_entry","flag_lacing"),E_FIELD("ID_TRACK_TIMECODE_SCALE",ID_TRACK_TIMECODE_SCALE,TYPE_FLOAT,"track_entry","track_timecode_scale"),E_FIELD("ID_LANGUAGE",ID_LANGUAGE,TYPE_STRING,"track_entry","language"),E_FIELD("ID_CODEC_ID",ID_CODEC_ID,TYPE_STRING,"track_entry","codec_id"),E_FIELD("ID_CODEC_PRIVATE",ID_CODEC_PRIVATE,TYPE_BINARY,"track_entry","codec_private"),E_SINGLE_MASTER("ID_VIDEO",ID_VIDEO,TYPE_MASTER,"track_entry","video",ne_video_elements),E_SINGLE_MASTER("ID_AUDIO",ID_AUDIO,TYPE_MASTER,"track_entry","audio",ne_audio_elements),E_LAST)),ne_tracks_elements=create_ebml_element_desc(new Array(E_MASTER("ID_TRACK_ENTRY",ID_TRACK_ENTRY,TYPE_MASTER,"tracks","track_entry",ne_track_entry_elements),E_LAST)),ne_cue_track_positions_elements=create_ebml_element_desc(new Array(E_FIELD("ID_CUE_TRACK",ID_CUE_TRACK,TYPE_UINT,"cue_track_positions","track"),E_FIELD("ID_CUE_CLUSTER_POSITION",ID_CUE_CLUSTER_POSITION,TYPE_UINT,"cue_track_positions","cluster_position"),E_FIELD("ID_CUE_BLOCK_NUMBER",ID_CUE_BLOCK_NUMBER,TYPE_UINT,"cue_track_positions","block_number"),E_LAST)),ne_cue_point_elements=create_ebml_element_desc(new Array(E_FIELD("ID_CUE_TIME",ID_CUE_TIME,TYPE_UINT,"cue_point","time"),E_MASTER("ID_CUE_TRACK_POSITIONS",ID_CUE_TRACK_POSITIONS,TYPE_MASTER,"cue_point","cue_track_positions",ne_cue_track_positions_elements),E_LAST)),ne_cues_elements=create_ebml_element_desc(new Array(E_MASTER("ID_CUE_POINT",ID_CUE_POINT,TYPE_MASTER,"cues","cue_point",ne_cue_point_elements),E_LAST)),ne_segment_elements=create_ebml_element_desc(new Array(E_MASTER("ID_SEEK_HEAD",ID_SEEK_HEAD,TYPE_MASTER,"segment","seek_head",ne_seek_head_elements),E_SINGLE_MASTER("ID_INFO",ID_INFO,TYPE_MASTER,"segment","info",ne_info_elements),E_MASTER("ID_CLUSTER",ID_CLUSTER,TYPE_MASTER,"segment","cluster",ne_cluster_elements),E_SINGLE_MASTER("ID_TRACKS",ID_TRACKS,TYPE_MASTER,"segment","tracks",ne_tracks_elements),E_SINGLE_MASTER("ID_CUES",ID_CUES,TYPE_MASTER,"segment","cues",ne_cues_elements),E_LAST)),ne_top_level_elements=create_ebml_element_desc(new Array(E_SINGLE_MASTER("ID_EBML",ID_EBML,TYPE_MASTER,"nestegg","ebml",ne_ebml_elements),E_SINGLE_MASTER_O("ID_SEGMENT",ID_SEGMENT,TYPE_MASTER,"nestegg","segment",ne_segment_elements),E_LAST));function create_ebml_element_desc(_){for(var e=new Array,r=0;r<_.length;++r){var t=0,n=new ebml_element_desc;for(var i in n)"undefined"!==_[r][t]&&(n[i]=_[r][t++]);e.push(n)}return e}function ne_pool_init(_){return new pool_ctx}var buffer_8192=Arr(8192,0);function ne_io_read_skip(_,e){for(var r=size_t,t={val:buffer_8192},n=1;e>0&&1==(n=ne_io_read(_,t,r=e<t.val.length?e:t.val.length));)e-=r;return n}function ne_io_tell(_){return _.tell(_.userdata)}function ne_bare_read_vint(_,e,r,t){var n=int_,i={val:char_},a=1,o=128;if(1!=(n=ne_io_read(_,i,1)))return n;for(;a<8&&0==(i.val[0]&o);)o>>=1,a+=1;for(r&&(r.val=a),e.val=i.val[0],t==MASK_FIRST_BIT&&(e.val=i.val[0]&~o);--a;){if(1!=(n=ne_io_read(_,i,1)))return n;e.val<<=8,e.val|=i.val[0]}return 1}function ne_io_read(_,e,r){return _.read(e,r,_.userdata)}function ne_read_id(_,e,r){return ne_bare_read_vint(_,e,r,MASK_NONE)}function ne_read_vint(_,e,r){return ne_bare_read_vint(_,e,r,MASK_FIRST_BIT)}function ne_read_svint(_,e,r){var t=int_,n=[uint64_t],i=[uint64_t],a=new Array(63,8191,1048575,134217727,17179869183,2199023255551,0xffffffffffff,0x80000000000000);return 1!=(t=ne_bare_read_vint(_,n,i,MASK_FIRST_BIT))||(e[0]=n-a[i-1],r&&(r[0]=i)),t}function ne_read_uint(_,e,r){var t={val:char_},n=int_;if(0==r||r>8)return-1;if(1!=(n=ne_io_read(_,t,1)))return n;for(e[0]=t.val[0];--r;){if(1!=(n=ne_io_read(_,t,1)))return n;e[0]<<=8,e[0]|=t.val[0]}return 1}function ne_read_int(_,e,r){var t,n=[uint64_t],i=uint64_t;return 1!=(t=ne_read_uint(_,n,r))?t:(r<8?(i=1,n>=(i<<=8*r-1)?(i=1,i<<=8*r):i=0,e[0]=n-i):e[0]=n,1)}function ne_read_float(_,e,r){var t,n={u:[uint64_t],f:[float_],d:[double_]};return 4!=r&&8!=r?-1:1!=(t=ne_read_uint(_,n.u,r))?t:(e[0]=4==r?n.f=n.u:n.d=n.u,1)}function ne_read_string(_,e,r){var t,n={val:char_};if(0==r||r>LIMIT_STRING)return-1;if(1!=(t=ne_io_read(_.io,n,r)))return t;for(var i="",a=0;a<r;++a)i+=String.fromCharCode(n.val[a]);return n.val=i,e[0]=n.val,1}function ne_read_binary(_,e,r){return 0==r||r>LIMIT_BINARY?-1:(e.data={val:0},e.length=r,ne_io_read(_.io,e.data,r))}function ne_get_uint(_,e){return _.read?(assert(_.type==TYPE_UINT),e[0]=_.v.u,0):-1}function ne_get_string(_,e){return _.read?(assert(_.type==TYPE_STRING),e[0]=_.v.s,0):-1}function ne_is_ancestor_element(_,e){for(;e;e=e.previous)for(var r=e.node,t=0;r[t].id;++t)if(r[t].id==_)return 1;return 0}function ne_find_element(_,e){for(var r=e,t=0;r[t].id;++t)if(r[t].id==_)return r[t];return null}function ne_ctx_push(_,e,r){var t=new list_node;t.previous=_.ancestor,t.node=e,t.data=r,_.ancestor=t}function ne_ctx_pop(_){var e;e=_.ancestor,_.ancestor=e.previous,e=""}function ne_peek_element(_,e,r){var t=int_;return _.last_id&&_.last_size?(e&&(e[0]=_.last_id),r&&(r[0]=_.last_size),1):(_.last_id={val:_.last_id},t=ne_read_id(_.io,_.last_id,null),_.last_id=_.last_id.val,1!=t?t:(_.last_size={val:_.last_size},t=ne_read_vint(_.io,_.last_size,null),_.last_size=_.last_size.val,1!=t?t:(e&&(e[0]=_.last_id),r&&(r[0]=_.last_size),1)))}function ne_read_element(_,e,r){var t;return 1!=(t=ne_peek_element(_,e,r))?t:(_.last_id=0,_.last_size=0,1)}function ne_read_master(_,e){var r,t,n=new ebml_list_node;assert(e.type==TYPE_MASTER&&e.flags&DESC_FLAG_MULTI),_.ancestor.data[e.offset]&&(r=_.ancestor.data[e.offset]),n.id=e.id,n.data=new window[e.offset],(t=r.tail)&&(t.next=n),r.tail=n,r.head||(r.head=n),ne_ctx_push(_,e.children,n.data)}function ne_read_single_master(_,e){assert(e.type==TYPE_MASTER&&!(e.flags&DESC_FLAG_MULTI)),ne_ctx_push(_,e.children,_.ancestor.data[e.offset])}function ne_read_simple(_,e,r){var t,n=int_;if(_.ancestor.data[e.offset]&&(t=_.ancestor.data[e.offset]),t.read)return 0;switch(t.type=e.type,n=-1,e.type){case TYPE_UINT:t.v.u=[t.v.u],n=ne_read_uint(_.io,t.v.u,r),t.v.u=t.v.u[0];break;case TYPE_FLOAT:t.v.f=[t.v.f],n=ne_read_float(_.io,t.v.f,r),t.v.f=t.v.f[0];break;case TYPE_INT:t.v.i=[t.v.i],n=ne_read_int(_.io,t.v.i,r),t.v.i=t.v.i[0];break;case TYPE_STRING:t.v.s=[t.v.s],n=ne_read_string(_,t.v.s,r),t.v.s=t.v.s[0];break;case TYPE_BINARY:n=ne_read_binary(_,t.v.b,r);break;case TYPE_MASTER:case TYPE_UNKNOWN:assert(0)}return 1==n&&(t.read=1),n}function ne_parse(_,e){var r,t=int_,n=int64_t,i=[uint64_t],a=[uint64_t];if(!_.ancestor)return-1;for(;1==(t=ne_peek_element(_,i,a));)if(r=ne_find_element(i[0],_.ancestor.node)){if(r.flags&DESC_FLAG_SUSPEND){assert(r.type==TYPE_BINARY),t=1;break}if(1!=(t=ne_read_element(_,i,a)))break;if(r.flags&DESC_FLAG_OFFSET&&((n=_.ancestor.data[r.data_offset]={v:null}).v=ne_io_tell(_.io),n<0)){t=-1;break}if(r.type==TYPE_MASTER){r.flags&DESC_FLAG_MULTI?ne_read_master(_,r):ne_read_single_master(_,r);continue}if((t=ne_read_simple(_,r,a[0]))<0)break}else if(ne_is_ancestor_element(i,_.ancestor.previous)){if(e&&_.ancestor.node==e){t=1;break}ne_ctx_pop(_)}else{if(1!=(t=ne_read_element(_,i,a)))break;if(1!=(t=ne_io_read_skip(_.io,a[0])))break}if(1!=t)for(;_.ancestor;)ne_ctx_pop(_);return t}function ne_read_xiph_lace_value(_,e,r,t){var n=int_,i=[uint64_t];if(1!=(n=ne_read_uint(_,i,1)))return n;for(t[0]+=1,e[r+0]=i[0];255==i[0];){if(1!=(n=ne_read_uint(_,i,1)))return n;t[0]+=1,e[r+0]+=i[0]}return 1}function ne_read_xiph_lacing(_,e,r,t,n){for(var i=int_,a=0,o=0;--t;){if(1!=(i=ne_read_xiph_lace_value(_,n,a,r)))return i;o+=n[a],a+=1}return r[0]+o>e?-1:(n[a]=e-r[0]-o,1)}function ne_read_ebml_lacing(_,e,r,t,n){var i=int_,a=[uint64_t],o=uint64_t,s=[uint64_t],f=[int64_t],d=0;if(1!=(i=ne_read_vint(_,a,s)))return i;for(r[0]+=s[0],n[d]=a[0],o=n[d],d+=1,t-=1;--t;){if(1!=(i=ne_read_svint(_,f,s)))return i;r[0]+=s[0],n[d]=n[d-1]+f[0],o+=n[d],d+=1}return r[0]+o>e?-1:(n[d]=e-r[0]-o,1)}function ne_get_timecode_scale(_){var e=[uint64_t];return 0!=ne_get_uint(_.segment.info.timecode_scale,e)&&(e[0]=1e6),e[0]}function ne_find_track_entry(_,e){for(var r=0,t=_.segment.tracks.track_entry.head;t;){if(assert(t.id==ID_TRACK_ENTRY),e==r)return t.data;r+=1,t=t.next}return null}var frame_sizes_256=Arr(256,0);function ne_read_block(_,e,r,t){var n,i,a,o,s,f,d=int_,E=[int64_t],c={val:uint64_t},l={val:uint64_t},m=frame_sizes_256,A=[uint64_t],u=[uint64_t],p=[uint64_t],T=uint64_t,y=int_,b=[0];if(t[0]=null,r>LIMIT_BLOCK)return-1;if(1!=(d=ne_read_vint(_.io,c,l)))return d;if(0==c.val||c.val>_.track_count)return-1;if(b[0]+=l.val,1!=(d=ne_read_int(_.io,E,2)))return d;if(b[0]+=2,1!=(d=ne_read_uint(_.io,u,1)))return d;switch(b[0]+=1,p[0]=0,f=(u[0]&BLOCK_FLAGS_LACING)>>1){case LACING_NONE:p[0]=1;break;case LACING_XIPH:case LACING_FIXED:case LACING_EBML:if(1!=(d=ne_read_uint(_.io,p,1)))return d;b[0]+=1,p[0]+=1}if(p[0]>256)return-1;switch(f){case LACING_NONE:m[0]=r-b[0];break;case LACING_XIPH:if(1==p)return-1;if(1!=(d=ne_read_xiph_lacing(_.io,r,b,p,m)))return d;break;case LACING_FIXED:if((r-b[0])%p[0])return-1;for(y=0;y<p[0];++y)m[y]=(r-b[0])/p>>0;break;case LACING_EBML:if(1==p[0])return-1;if(1!=(d=ne_read_ebml_lacing(_.io,r,b,p,m)))return d}for(T=b[0],y=0;y<p[0];++y)T+=m[y];if(T>r)return-1;if(!ne_find_track_entry(_,c.val-1))return-1;if(1,s=ne_get_timecode_scale(_),assert(_.segment.cluster.tail.id==ID_CLUSTER),0!=ne_get_uint(_.segment.cluster.tail.data.timecode,A))return-1;if((n=E[0]+A[0])<0)return-1;for((i=new nestegg_packet).track=c.val-1,i.timecode=n*s*1,o=null,y=0;y<p[0];++y){if(m[y]>LIMIT_FRAME)return nestegg_free_packet(i),-1;if((a=new frame).data=[],a.length=m[y],a.data={val:a.data},d=ne_io_read(_.io,a.data,m[y]),a.data=a.data.val,1!=d)return a.data=null,a=null,nestegg_free_packet(i),-1;o?o.next=a:i.frame=a,o=a}return t[0]=i,1}function ne_null_log_callback(_,e,r,t){}function ne_is_suspend_element(_){return _==ID_SIMPLE_BLOCK||_==ID_BLOCK?1:0}var ctx_=new nestegg;function nestegg_init(_,e,r){var t,n=[0],i=[0],a=[uint64_t],o=[char_],s=ctx_;if(!(e.read&&e.seek&&e.tell))return-1;if(s.io=e,s.alloc_pool=ne_pool_init(),1!=ne_peek_element(s,n,null))return nestegg_destroy(s),-1;if(n[0]!=ID_EBML)return nestegg_destroy(s),-1;if(ne_ctx_push(s,ne_top_level_elements,s),1!=ne_parse(s,null))return nestegg_destroy(s),-1;if(0!=ne_get_uint(s.ebml.ebml_read_version,i)&&(i=1),1!=i[0])return nestegg_destroy(s),-1;if(0!=ne_get_string(s.ebml.doctype,o)&&(o[0]="matroska"),0!=strcmp(o[0],"webm"))return nestegg_destroy(s),-1;if(0!=ne_get_uint(s.ebml.doctype_read_version,a)&&(a[0]=1),a[0]<1||a[0]>2)return nestegg_destroy(s),-1;if(!s.segment.tracks.track_entry.head)return nestegg_destroy(s),-1;for(t=s.segment.tracks.track_entry.head,s.track_count=0;t;)s.track_count+=1,t=t.next;return _[0]=s,0}function nestegg_destroy(_){}function nestegg_track_count(_,e){return e[0]=_.track_count,0}function nestegg_track_type(_,e){var r=[uint64_t],t=ne_find_track_entry(_,e);return t?0!=ne_get_uint(t.type,r)?-1:r[0]&TRACK_TYPE_VIDEO?NESTEGG_TRACK_VIDEO:r[0]&TRACK_TYPE_AUDIO?NESTEGG_TRACK_AUDIO:-1:-1}function nestegg_track_codec_id(_,e){var r=[char_],t=ne_find_track_entry(_,e);return t?0!=ne_get_string(t.codec_id,r)?-1:0==strcmp(r[0],TRACK_ID_VP8)?NESTEGG_CODEC_VP8:0==strcmp(r[0],TRACK_ID_VORBIS)?NESTEGG_CODEC_VORBIS:-1:-1}function nestegg_track_video_params(_,e,r){var t=[uint64_t],n=ne_find_track_entry(_,e);return n?nestegg_track_type(_,e)!=NESTEGG_TRACK_VIDEO||0!=ne_get_uint(n.video.pixel_width,t)?-1:(r.width=t[0],0!=ne_get_uint(n.video.pixel_height,t)?-1:(r.height=t[0],t[0]=0,ne_get_uint(n.video.pixel_crop_bottom,t),r.crop_bottom=t[0],t[0]=0,ne_get_uint(n.video.pixel_crop_top,t),r.crop_top=t[0],t[0]=0,ne_get_uint(n.video.pixel_crop_left,t),r.crop_left=t[0],t[0]=0,ne_get_uint(n.video.pixel_crop_right,t),r.crop_right=t[0],t[0]=r.width,ne_get_uint(n.video.display_width,t),r.display_width=t[0],t[0]=r.height,ne_get_uint(n.video.display_height,t),r.display_height=t[0],0)):-1}function nestegg_read_packet(_,e){var r=int_,t=[uint64_t],n=[uint64_t];for(e[0]=null;;){if(1!=(r=ne_peek_element(_,t,n)))return r;if(ne_is_suspend_element(t))return 1!=(r=ne_read_element(_,t,n))?r:r=ne_read_block(_,t,n[0],e);if(1!=(r=ne_parse(_,null)))return r}return 1}function nestegg_free_packet(_){for(var e;_.frame;)e=_.frame,_.frame=e.next,e.data="",e="";_=""}function nestegg_packet_track(_,e){return e[0]=_[0].track,0}function nestegg_packet_count(_,e){var r=_[0].frame;for(e[0]=0;r;)e[0]+=1,r=r.next;return 0}function nestegg_packet_data(_,e,r,t){var n=_[0].frame,i=0;for(r[0]=null,t[0]=0;n;){if(i==e)return r[0]=n.data,t[0]=n.length,0;i+=1,n=n.next}return-1}VPX_IMAGE_ABI_VERSION=1;var VPX_IMG_FMT_PLANAR=256,VPX_IMG_FMT_UV_FLIP=512,VPX_IMG_FMT_HAS_ALPHA=1024,VPX_IMG_FMT_NONE=0,VPX_IMG_FMT_RGB24=1,VPX_IMG_FMT_RGB32=2,VPX_IMG_FMT_RGB565=3,VPX_IMG_FMT_RGB555=4,VPX_IMG_FMT_UYVY=5,VPX_IMG_FMT_YUY2=6,VPX_IMG_FMT_YVYU=7,VPX_IMG_FMT_BGR24=8,VPX_IMG_FMT_RGB32_LE=9,VPX_IMG_FMT_ARGB=10,VPX_IMG_FMT_ARGB_LE=11,VPX_IMG_FMT_RGB565_LE=12,VPX_IMG_FMT_RGB555_LE=13,VPX_IMG_FMT_YV12=VPX_IMG_FMT_PLANAR|VPX_IMG_FMT_UV_FLIP|1,VPX_IMG_FMT_I420=2|VPX_IMG_FMT_PLANAR,VPX_IMG_FMT_VPXYV12=VPX_IMG_FMT_PLANAR|VPX_IMG_FMT_UV_FLIP|3,VPX_IMG_FMT_VPXI420=4|VPX_IMG_FMT_PLANAR,IMG_FMT_PLANAR=VPX_IMG_FMT_PLANAR,IMG_FMT_UV_FLIP=VPX_IMG_FMT_UV_FLIP,IMG_FMT_HAS_ALPHA=VPX_IMG_FMT_HAS_ALPHA,IMG_FMT_NONE=VPX_IMG_FMT_NONE,IMG_FMT_RGB24=VPX_IMG_FMT_RGB24,IMG_FMT_RGB32=VPX_IMG_FMT_RGB32,IMG_FMT_RGB565=VPX_IMG_FMT_RGB565,IMG_FMT_RGB555=VPX_IMG_FMT_RGB555,IMG_FMT_UYVY=VPX_IMG_FMT_UYVY,IMG_FMT_YUY2=VPX_IMG_FMT_YUY2,IMG_FMT_YVYU=VPX_IMG_FMT_YVYU,IMG_FMT_BGR24=VPX_IMG_FMT_BGR24,IMG_FMT_RGB32_LE=VPX_IMG_FMT_RGB32_LE,IMG_FMT_ARGB=VPX_IMG_FMT_ARGB,IMG_FMT_ARGB_LE=VPX_IMG_FMT_ARGB_LE,IMG_FMT_RGB565_LE=VPX_IMG_FMT_RGB565_LE,IMG_FMT_RGB555_LE=VPX_IMG_FMT_RGB555_LE,IMG_FMT_YV12=VPX_IMG_FMT_YV12,IMG_FMT_I420=VPX_IMG_FMT_I420,IMG_FMT_VPXYV12=VPX_IMG_FMT_VPXYV12,IMG_FMT_VPXI420=VPX_IMG_FMT_VPXI420;function img_alloc_helper(_,e,r,t,n,i){var a,o,s=int_,f=int_,d=int_,E=int_,c=int_;switch(n||(n=1),n&n-1&&alert("goto fail"),e){case VPX_IMG_FMT_RGB32:case VPX_IMG_FMT_RGB32_LE:case VPX_IMG_FMT_ARGB:case VPX_IMG_FMT_ARGB_LE:E=32;break;case VPX_IMG_FMT_RGB24:case VPX_IMG_FMT_BGR24:E=24;break;case VPX_IMG_FMT_RGB565:case VPX_IMG_FMT_RGB565_LE:case VPX_IMG_FMT_RGB555:case VPX_IMG_FMT_RGB555_LE:case VPX_IMG_FMT_UYVY:case VPX_IMG_FMT_YUY2:case VPX_IMG_FMT_YVYU:E=16;break;case VPX_IMG_FMT_I420:case VPX_IMG_FMT_YV12:case VPX_IMG_FMT_VPXI420:case VPX_IMG_FMT_VPXYV12:E=12;break;default:E=16}switch(e){case VPX_IMG_FMT_I420:case VPX_IMG_FMT_YV12:case VPX_IMG_FMT_VPXI420:case VPX_IMG_FMT_VPXYV12:f=1;break;default:f=0}switch(e){case VPX_IMG_FMT_I420:case VPX_IMG_FMT_YV12:case VPX_IMG_FMT_VPXI420:case VPX_IMG_FMT_VPXYV12:d=1;break;default:d=0}return o=r+(c=(1<<f)-1)&~c,a=t+(c=(1<<d)-1)&~c,s=(s=e&VPX_IMG_FMT_PLANAR?o:E*o/8)+n-1&~(n-1),_||((_=new vpx_image_t)||alert("goto fail"),_.self_allocd=1),_.img_data=i,i||(_.img_data=malloc(e&VPX_IMG_FMT_PLANAR?a*o*E/8:a*s,0),_.img_data_owner=1),_.img_data||alert("goto fail"),_.fmt=_.fmt=e,_.w=_.w=o,_.h=_.h=a,_.x_chroma_shift=_.x_chroma_shift=f,_.y_chroma_shift=_.y_chroma_shift=d,_.bps=_.bps=E,_.stride[VPX_PLANE_Y]=_.stride[VPX_PLANE_ALPHA]=s,_.stride[VPX_PLANE_U]=_.stride[VPX_PLANE_V]=s>>f,vpx_img_set_rect(_,0,0,r,t)?(vpx_img_free(_),null):_}function vpx_img_alloc(_,e,r,t,n){return img_alloc_helper(_,e,r,t,n,null)}function vpx_img_set_rect(_,e,r,t,n){var i=char_,a=0;return e+t<=_.w&&r+n<=_.h?(_.d_w=_.d_w=t,_.d_h=_.d_h=n,_.fmt&VPX_IMG_FMT_PLANAR?(i=_.img_data,a=_.img_data_off,_.fmt&VPX_IMG_FMT_HAS_ALPHA&&(_.planes[VPX_PLANE_ALPHA]=i,_.planes_off[VPX_PLANE_ALPHA]=a+e+r*_.stride[VPX_PLANE_ALPHA],a+=_.h*_.stride[VPX_PLANE_ALPHA]),_.planes[VPX_PLANE_Y]=i,_.planes_off[VPX_PLANE_Y]=a+e+r*_.stride[VPX_PLANE_Y],a+=_.h*_.stride[VPX_PLANE_Y],_.fmt&VPX_IMG_FMT_UV_FLIP?(_.planes[VPX_PLANE_V]=i,_.planes_off[VPX_PLANE_V]=a+(e>>_.x_chroma_shift)+(r>>_.y_chroma_shift)*_.stride[VPX_PLANE_V],a+=(_.h>>_.y_chroma_shift)*_.stride[VPX_PLANE_V],_.planes[VPX_PLANE_U]=i,_.planes_off[VPX_PLANE_U]=a+(e>>_.x_chroma_shift)+(r>>_.y_chroma_shift)*_.stride[VPX_PLANE_U]):(_.planes[VPX_PLANE_U]=i,_.planes_off[VPX_PLANE_U]=a+(e>>_.x_chroma_shift)+(r>>_.y_chroma_shift)*_.stride[VPX_PLANE_U],a+=(_.h>>_.y_chroma_shift)*_.stride[VPX_PLANE_U],_.planes[VPX_PLANE_V]=i,_.planes_off[VPX_PLANE_V]=a+(e>>_.x_chroma_shift)+(r>>_.y_chroma_shift)*_.stride[VPX_PLANE_V])):(_.planes[VPX_PLANE_PACKED]=_.img_data,_.img_data_of,parseInt(e*_.bps/8+r*_.stride[VPX_PLANE_PACKED],10)),0):-1}function vpx_img_free(_){_&&(_.img_data&&_.img_data_owner&&(_.img_data=""),_.self_allocd&&(_=""))}var bool_decoder=function(){this.input=char_,this.input_off=0,this.input_len=size_t,this.range=int_,this.value=int_,this.bit_count=int_};function init_bool_decoder(_,e,r,t){t>=2?(_.value=e[r+0]<<8|e[r+1],_.input=e,_.input_off=r+2,_.input_len=t-2):(_.value=0,_.input=null,_.input_len=0),_.range=255,_.bit_count=0}function bool_get(_,e){var r=1+((_.range-1)*e>>8),t=r<<8,n=int_;for(_.value>=t?(n=1,_.range-=r,_.value-=t):(n=0,_.range=r);_.range<128;)_.value<<=1,_.range<<=1,8==++_.bit_count&&(_.bit_count=0,_.input_len&&(_.value|=_.input[_.input_off++],_.input_len--));return n}function bool_get_bit(_){return bool_get(_,128)}function bool_get_uint(_,e){var r=0,t=int_;for(t=e-1;t>=0;t--)r|=bool_get_bit(_)<<t;return r}function bool_get_int(_,e){var r=0,t=int_;for(t=e-1;t>=0;t--)r|=bool_get_bit(_)<<t;return bool_get_bit(_)?-r:r}function bool_maybe_get_int(_,e){return bool_get_bit(_)?bool_get_int(_,e):0}function bool_read_tree(_,e,r,t){var n=0;if(void 0!==t)for(;(n=e[n+bool_get(_,r[t+(n>>1)])])>0;);else for(;(n=e[n+bool_get(_,r[n>>1])])>0;);return-n}function BITS_MASK(_){return(1<<_)-1}function BITS_GET(_,e,r){return _>>e&BITS_MASK(r)}var vp8_frame_hdr=function(){this.is_keyframe=int_,this.is_experimental=int_,this.version=int_,this.is_shown=int_,this.part0_sz=int_,this.kf=new Object({w:int_,h:int_,scale_w:int_,scale_h:int_}),this.frame_size_updated=int_},MB_FEATURE_TREE_PROBS=3,MAX_MB_SEGMENTS=4,vp8_segment_hdr=function(){this.enabled=int_,this.update_data=int_,this.update_map=int_,this.abs_=int_,this.tree_probs=new Array(MB_FEATURE_TREE_PROBS),this.lf_level=new Array(MAX_MB_SEGMENTS),this.quant_idx=new Array(MAX_MB_SEGMENTS)},BLOCK_CONTEXTS=4,vp8_loopfilter_hdr=function(){this.use_simple=int_,this.level=int_,this.sharpness=int_,this.delta_enabled=int_,this.ref_delta=new Array(BLOCK_CONTEXTS),this.mode_delta=new Array(BLOCK_CONTEXTS)},MAX_PARTITIONS=8,vp8_token_hdr=function(){this.partitions=int_,this.partition_sz=new Array(MAX_PARTITIONS)},vp8_quant_hdr=function(){this.q_index=int_,this.delta_update=int_,this.y1_dc_delta_q=int_,this.y2_dc_delta_q=int_,this.y2_ac_delta_q=int_,this.uv_dc_delta_q=int_,this.uv_ac_delta_q=int_},vp8_reference_hdr=function(){this.refresh_last=int_,this.refresh_gf=int_,this.refresh_arf=int_,this.copy_gf=int_,this.copy_arf=int_,this.sign_bias=new Array(4),this.refresh_entropy=int_},BLOCK_TYPES=4,PREV_COEF_CONTEXTS=3,COEF_BANDS=8,ENTROPY_NODES=11,coeff_probs_table_t=function(){return ArrM(new Array(BLOCK_TYPES,COEF_BANDS,PREV_COEF_CONTEXTS,ENTROPY_NODES),char_)},MV_PROB_CNT=19,mv_component_probs_t=function(){return new Array(MV_PROB_CNT)},Arr_1056=Arr(1056,0),vp8_entropy_hdr=function(){this.coeff_probs=new coeff_probs_table_t,this.coeff_probs_=Arr(1056,0),this.mv_probs=Arr_new(2,mv_component_probs_t),this.coeff_skip_enabled=int_,this.coeff_skip_prob=char_,this.y_mode_probs=new Array(0,0,0,0),this.uv_mode_probs=new Array(0,0,0),this.prob_inter=char_,this.prob_last=char_,this.prob_gf=char_},CURRENT_FRAME=0,LAST_FRAME=1,GOLDEN_FRAME=2,ALTREF_FRAME=3,NUM_REF_FRAMES=4,filter_t=function(){return new Array(6)},mv=function(){this.d={x:int16_t,y:int16_t}},mb_base_info=function(){this.y_mode=char_,this.uv_mode=char_,this.segment_id=char_,this.ref_frame=char_,this.skip_coeff=char_,this.need_mc_border=char_,this.partitioning=null,this.mv=new mv,this.eob_mask=int_},mb_info=function(){this.base=new mb_base_info,this.splitt=new Object({mvs:Arr_new(16,mv),modes:new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)})},token_entropy_ctx_t=function(){return new Array(9)},token_decoder=function(){this.bool=new bool_decoder,this.left_token_entropy_ctx=new token_entropy_ctx_t,this.coeffs=short_},TOKEN_BLOCK_Y1=0,TOKEN_BLOCK_UV=1,TOKEN_BLOCK_Y2=2,TOKEN_BLOCK_TYPES=3,dequant_factors=function(){this.quant_idx=int_,this.factor=ArrM(new Array(TOKEN_BLOCK_TYPES,2),short_)},ref_cnt_img=function(){this.img=new vpx_image_t,this.ref_cnt=int_},vp8_decoder_ctx=function(){this.error=[],this.frame_cnt=int_,this.frame_hdr=new vp8_frame_hdr,this.segment_hdr=new vp8_segment_hdr,this.loopfilter_hdr=new vp8_loopfilter_hdr,this.token_hdr=new vp8_token_hdr,this.quant_hdr=new vp8_quant_hdr,this.reference_hdr=new vp8_reference_hdr,this.entropy_hdr=new vp8_entropy_hdr,this.saved_entropy=new vp8_entropy_hdr,this.saved_entropy_valid=int_,this.mb_rows=int_,this.mb_cols=int_,this.mb_info_storage=null,this.mb_info_storage_off=0,this.mb_info_storage_object=mb_info,this.mb_info_rows_storage=null,this.mb_info_rows_storage_off=0,this.mb_info_rows_storage_object=mb_info,this.mb_info_rows=null,this.mb_info_rows_off=0,this.above_token_entropy_ctx=null,this.above_token_entropy_ctx_object=token_entropy_ctx_t,this.tokens=Arr_new(MAX_PARTITIONS,token_decoder),this.dequant_factors=Arr_new(MAX_MB_SEGMENTS,dequant_factors),this.frame_strg=Arr_new(NUM_REF_FRAMES,ref_cnt_img),this.ref_frames=Arr_new(NUM_REF_FRAMES,ref_cnt_img),this.ref_frame_offsets=new Array(0,0,0,0),this.ref_frame_offsets_=new Array(0,0,0,0),this.subpixel_filters=new filter_t};function CLAMP_255(_){return _<0?0:_>255?255:_}function vp8_dixie_walsh(_,e,r,t){var n=int_,i=int_,a=int_,o=int_,s=int_,f=int_,d=int_,E=int_,c=int_,l=_,m=e,A=r,u=t;for(n=0;n<4;n++)i=l[m+0]+l[m+12],a=l[m+4]+l[m+8],o=l[m+4]-l[m+8],s=l[m+0]-l[m+12],A[u+0]=i+a,A[u+4]=o+s,A[u+8]=i-a,A[u+12]=s-o,m++,u++;for(l=r,m=t,A=r,u=t,n=0;n<4;n++)f=(i=l[m+0]+l[m+3])+(a=l[m+1]+l[m+2]),d=(o=l[m+1]-l[m+2])+(s=l[m+0]-l[m+3]),E=i-a,c=s-o,A[u+0]=f+3>>3,A[u+1]=d+3>>3,A[u+2]=E+3>>3,A[u+3]=c+3>>3,m+=4,u+=4}var cospi8sqrt2minus1=20091,sinpi8sqrt2=35468;function idct_columns(_,e,r,t){var n=int_,i=int_,a=int_,o=int_,s=int_,f=_,d=e,E=r,c=t;for(n=0;n<4;n++)i=f[d+0]+f[d+8],a=f[d+0]-f[d+8],o=(f[d+4]*sinpi8sqrt2>>16)-(f[d+12]+(f[d+12]*cospi8sqrt2minus1>>16)),s=f[d+4]+(f[d+4]*cospi8sqrt2minus1>>16)+(f[d+12]*sinpi8sqrt2>>16),E[c+0]=i+s,E[c+12]=i-s,E[c+4]=a+o,E[c+8]=a-o,d++,c++}var tmp_2=Arr(16,0);function vp8_dixie_idct_add(_,e,r,t,n,i,a){var o=int_,s=int_,f=int_,d=int_,E=int_;for(idct_columns(i,a,tmp_2,0),i=tmp_2,a=0,o=0;o<4;o++)s=i[a+0]+i[a+2],f=i[a+0]-i[a+2],d=(i[a+1]*sinpi8sqrt2>>16)-(i[a+3]+(i[a+3]*cospi8sqrt2minus1>>16)),E=i[a+1]+(i[a+1]*cospi8sqrt2minus1>>16)+(i[a+3]*sinpi8sqrt2>>16),_[e+0]=r[t+0]+(s+E+4>>3),_[e+3]=r[t+3]+(s-E+4>>3),_[e+1]=r[t+1]+(f+d+4>>3),_[e+2]=r[t+2]+(f-d+4>>3),a+=4,e+=n,t+=n}var k_coeff_entropy_update_probs=new Array(new Array(new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(176,246,255,255,255,255,255,255,255,255,255),new Array(223,241,252,255,255,255,255,255,255,255,255),new Array(249,253,253,255,255,255,255,255,255,255,255)),new Array(new Array(255,244,252,255,255,255,255,255,255,255,255),new Array(234,254,254,255,255,255,255,255,255,255,255),new Array(253,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,246,254,255,255,255,255,255,255,255,255),new Array(239,253,254,255,255,255,255,255,255,255,255),new Array(254,255,254,255,255,255,255,255,255,255,255)),new Array(new Array(255,248,254,255,255,255,255,255,255,255,255),new Array(251,255,254,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,253,254,255,255,255,255,255,255,255,255),new Array(251,254,254,255,255,255,255,255,255,255,255),new Array(254,255,254,255,255,255,255,255,255,255,255)),new Array(new Array(255,254,253,255,254,255,255,255,255,255,255),new Array(250,255,254,255,254,255,255,255,255,255,255),new Array(254,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255))),new Array(new Array(new Array(217,255,255,255,255,255,255,255,255,255,255),new Array(225,252,241,253,255,255,254,255,255,255,255),new Array(234,250,241,250,253,255,253,254,255,255,255)),new Array(new Array(255,254,255,255,255,255,255,255,255,255,255),new Array(223,254,254,255,255,255,255,255,255,255,255),new Array(238,253,254,254,255,255,255,255,255,255,255)),new Array(new Array(255,248,254,255,255,255,255,255,255,255,255),new Array(249,254,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,253,255,255,255,255,255,255,255,255,255),new Array(247,254,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,253,254,255,255,255,255,255,255,255,255),new Array(252,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,254,254,255,255,255,255,255,255,255,255),new Array(253,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,254,253,255,255,255,255,255,255,255,255),new Array(250,255,255,255,255,255,255,255,255,255,255),new Array(254,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255))),new Array(new Array(new Array(186,251,250,255,255,255,255,255,255,255,255),new Array(234,251,244,254,255,255,255,255,255,255,255),new Array(251,251,243,253,254,255,254,255,255,255,255)),new Array(new Array(255,253,254,255,255,255,255,255,255,255,255),new Array(236,253,254,255,255,255,255,255,255,255,255),new Array(251,253,253,254,254,255,255,255,255,255,255)),new Array(new Array(255,254,254,255,255,255,255,255,255,255,255),new Array(254,254,254,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,254,255,255,255,255,255,255,255,255,255),new Array(254,254,255,255,255,255,255,255,255,255,255),new Array(254,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(254,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255))),new Array(new Array(new Array(248,255,255,255,255,255,255,255,255,255,255),new Array(250,254,252,254,255,255,255,255,255,255,255),new Array(248,254,249,253,255,255,255,255,255,255,255)),new Array(new Array(255,253,253,255,255,255,255,255,255,255,255),new Array(246,253,253,255,255,255,255,255,255,255,255),new Array(252,254,251,254,254,255,255,255,255,255,255)),new Array(new Array(255,254,252,255,255,255,255,255,255,255,255),new Array(248,254,253,255,255,255,255,255,255,255,255),new Array(253,255,254,254,255,255,255,255,255,255,255)),new Array(new Array(255,251,254,255,255,255,255,255,255,255,255),new Array(245,251,254,255,255,255,255,255,255,255,255),new Array(253,253,254,255,255,255,255,255,255,255,255)),new Array(new Array(255,251,253,255,255,255,255,255,255,255,255),new Array(252,253,254,255,255,255,255,255,255,255,255),new Array(255,254,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,252,255,255,255,255,255,255,255,255,255),new Array(249,255,254,255,255,255,255,255,255,255,255),new Array(255,255,254,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,253,255,255,255,255,255,255,255,255),new Array(250,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)),new Array(new Array(255,255,255,255,255,255,255,255,255,255,255),new Array(254,255,255,255,255,255,255,255,255,255,255),new Array(255,255,255,255,255,255,255,255,255,255,255)))),k_default_y_mode_probs=new Array(112,86,140,37),k_default_uv_mode_probs=new Array(162,101,204),k_default_coeff_probs=new Array(new Array(new Array(new Array(128,128,128,128,128,128,128,128,128,128,128),new Array(128,128,128,128,128,128,128,128,128,128,128),new Array(128,128,128,128,128,128,128,128,128,128,128)),new Array(new Array(253,136,254,255,228,219,128,128,128,128,128),new Array(189,129,242,255,227,213,255,219,128,128,128),new Array(106,126,227,252,214,209,255,255,128,128,128)),new Array(new Array(1,98,248,255,236,226,255,255,128,128,128),new Array(181,133,238,254,221,234,255,154,128,128,128),new Array(78,134,202,247,198,180,255,219,128,128,128)),new Array(new Array(1,185,249,255,243,255,128,128,128,128,128),new Array(184,150,247,255,236,224,128,128,128,128,128),new Array(77,110,216,255,236,230,128,128,128,128,128)),new Array(new Array(1,101,251,255,241,255,128,128,128,128,128),new Array(170,139,241,252,236,209,255,255,128,128,128),new Array(37,116,196,243,228,255,255,255,128,128,128)),new Array(new Array(1,204,254,255,245,255,128,128,128,128,128),new Array(207,160,250,255,238,128,128,128,128,128,128),new Array(102,103,231,255,211,171,128,128,128,128,128)),new Array(new Array(1,152,252,255,240,255,128,128,128,128,128),new Array(177,135,243,255,234,225,128,128,128,128,128),new Array(80,129,211,255,194,224,128,128,128,128,128)),new Array(new Array(1,1,255,128,128,128,128,128,128,128,128),new Array(246,1,255,128,128,128,128,128,128,128,128),new Array(255,128,128,128,128,128,128,128,128,128,128))),new Array(new Array(new Array(198,35,237,223,193,187,162,160,145,155,62),new Array(131,45,198,221,172,176,220,157,252,221,1),new Array(68,47,146,208,149,167,221,162,255,223,128)),new Array(new Array(1,149,241,255,221,224,255,255,128,128,128),new Array(184,141,234,253,222,220,255,199,128,128,128),new Array(81,99,181,242,176,190,249,202,255,255,128)),new Array(new Array(1,129,232,253,214,197,242,196,255,255,128),new Array(99,121,210,250,201,198,255,202,128,128,128),new Array(23,91,163,242,170,187,247,210,255,255,128)),new Array(new Array(1,200,246,255,234,255,128,128,128,128,128),new Array(109,178,241,255,231,245,255,255,128,128,128),new Array(44,130,201,253,205,192,255,255,128,128,128)),new Array(new Array(1,132,239,251,219,209,255,165,128,128,128),new Array(94,136,225,251,218,190,255,255,128,128,128),new Array(22,100,174,245,186,161,255,199,128,128,128)),new Array(new Array(1,182,249,255,232,235,128,128,128,128,128),new Array(124,143,241,255,227,234,128,128,128,128,128),new Array(35,77,181,251,193,211,255,205,128,128,128)),new Array(new Array(1,157,247,255,236,231,255,255,128,128,128),new Array(121,141,235,255,225,227,255,255,128,128,128),new Array(45,99,188,251,195,217,255,224,128,128,128)),new Array(new Array(1,1,251,255,213,255,128,128,128,128,128),new Array(203,1,248,255,255,128,128,128,128,128,128),new Array(137,1,177,255,224,255,128,128,128,128,128))),new Array(new Array(new Array(253,9,248,251,207,208,255,192,128,128,128),new Array(175,13,224,243,193,185,249,198,255,255,128),new Array(73,17,171,221,161,179,236,167,255,234,128)),new Array(new Array(1,95,247,253,212,183,255,255,128,128,128),new Array(239,90,244,250,211,209,255,255,128,128,128),new Array(155,77,195,248,188,195,255,255,128,128,128)),new Array(new Array(1,24,239,251,218,219,255,205,128,128,128),new Array(201,51,219,255,196,186,128,128,128,128,128),new Array(69,46,190,239,201,218,255,228,128,128,128)),new Array(new Array(1,191,251,255,255,128,128,128,128,128,128),new Array(223,165,249,255,213,255,128,128,128,128,128),new Array(141,124,248,255,255,128,128,128,128,128,128)),new Array(new Array(1,16,248,255,255,128,128,128,128,128,128),new Array(190,36,230,255,236,255,128,128,128,128,128),new Array(149,1,255,128,128,128,128,128,128,128,128)),new Array(new Array(1,226,255,128,128,128,128,128,128,128,128),new Array(247,192,255,128,128,128,128,128,128,128,128),new Array(240,128,255,128,128,128,128,128,128,128,128)),new Array(new Array(1,134,252,255,255,128,128,128,128,128,128),new Array(213,62,250,255,255,128,128,128,128,128,128),new Array(55,93,255,128,128,128,128,128,128,128,128)),new Array(new Array(128,128,128,128,128,128,128,128,128,128,128),new Array(128,128,128,128,128,128,128,128,128,128,128),new Array(128,128,128,128,128,128,128,128,128,128,128))),new Array(new Array(new Array(202,24,213,235,186,191,220,160,240,175,255),new Array(126,38,182,232,169,184,228,174,255,187,128),new Array(61,46,138,219,151,178,240,170,255,216,128)),new Array(new Array(1,112,230,250,199,191,247,159,255,255,128),new Array(166,109,228,252,211,215,255,174,128,128,128),new Array(39,77,162,232,172,180,245,178,255,255,128)),new Array(new Array(1,52,220,246,198,199,249,220,255,255,128),new Array(124,74,191,243,183,193,250,221,255,255,128),new Array(24,71,130,219,154,170,243,182,255,255,128)),new Array(new Array(1,182,225,249,219,240,255,224,128,128,128),new Array(149,150,226,252,216,205,255,171,128,128,128),new Array(28,108,170,242,183,194,254,223,255,255,128)),new Array(new Array(1,81,230,252,204,203,255,192,128,128,128),new Array(123,102,209,247,188,196,255,233,128,128,128),new Array(20,95,153,243,164,173,255,203,128,128,128)),new Array(new Array(1,222,248,255,216,213,128,128,128,128,128),new Array(168,175,246,252,235,205,255,255,128,128,128),new Array(47,116,215,255,211,212,255,255,128,128,128)),new Array(new Array(1,121,236,253,212,214,255,255,128,128,128),new Array(141,84,213,252,201,202,255,219,128,128,128),new Array(42,80,160,240,162,185,255,205,128,128,128)),new Array(new Array(1,1,255,128,128,128,128,128,128,128,128),new Array(244,1,255,128,128,128,128,128,128,128,128),new Array(238,1,255,128,128,128,128,128,128,128,128)))),k_mv_entropy_update_probs=new Array(new Array(237,246,253,253,254,254,254,254,254,254,254,254,254,254,250,250,252,254,254),new Array(231,243,245,253,254,254,254,254,254,254,254,254,254,254,251,251,254,254,254)),k_default_mv_probs=function(){return new Array(new Array(162,128,225,146,172,147,214,39,156,128,129,132,75,145,178,206,239,254,254),new Array(164,128,204,170,119,235,140,230,228,128,130,130,74,148,180,203,236,254,254))},dc_q_lookup=new Array(4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157),ac_q_lookup=new Array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284),kf_y_mode_probs=new Array(145,156,163,128),kf_uv_mode_probs=new Array(142,114,183),kf_b_mode_probs=new Array(new Array(new Array(231,120,48,89,115,113,120,152,112),new Array(152,179,64,126,170,118,46,70,95),new Array(175,69,143,80,85,82,72,155,103),new Array(56,58,10,171,218,189,17,13,152),new Array(144,71,10,38,171,213,144,34,26),new Array(114,26,17,163,44,195,21,10,173),new Array(121,24,80,195,26,62,44,64,85),new Array(170,46,55,19,136,160,33,206,71),new Array(63,20,8,114,114,208,12,9,226),new Array(81,40,11,96,182,84,29,16,36)),new Array(new Array(134,183,89,137,98,101,106,165,148),new Array(72,187,100,130,157,111,32,75,80),new Array(66,102,167,99,74,62,40,234,128),new Array(41,53,9,178,241,141,26,8,107),new Array(104,79,12,27,217,255,87,17,7),new Array(74,43,26,146,73,166,49,23,157),new Array(65,38,105,160,51,52,31,115,128),new Array(87,68,71,44,114,51,15,186,23),new Array(47,41,14,110,182,183,21,17,194),new Array(66,45,25,102,197,189,23,18,22)),new Array(new Array(88,88,147,150,42,46,45,196,205),new Array(43,97,183,117,85,38,35,179,61),new Array(39,53,200,87,26,21,43,232,171),new Array(56,34,51,104,114,102,29,93,77),new Array(107,54,32,26,51,1,81,43,31),new Array(39,28,85,171,58,165,90,98,64),new Array(34,22,116,206,23,34,43,166,73),new Array(68,25,106,22,64,171,36,225,114),new Array(34,19,21,102,132,188,16,76,124),new Array(62,18,78,95,85,57,50,48,51)),new Array(new Array(193,101,35,159,215,111,89,46,111),new Array(60,148,31,172,219,228,21,18,111),new Array(112,113,77,85,179,255,38,120,114),new Array(40,42,1,196,245,209,10,25,109),new Array(100,80,8,43,154,1,51,26,71),new Array(88,43,29,140,166,213,37,43,154),new Array(61,63,30,155,67,45,68,1,209),new Array(142,78,78,16,255,128,34,197,171),new Array(41,40,5,102,211,183,4,1,221),new Array(51,50,17,168,209,192,23,25,82)),new Array(new Array(125,98,42,88,104,85,117,175,82),new Array(95,84,53,89,128,100,113,101,45),new Array(75,79,123,47,51,128,81,171,1),new Array(57,17,5,71,102,57,53,41,49),new Array(115,21,2,10,102,255,166,23,6),new Array(38,33,13,121,57,73,26,1,85),new Array(41,10,67,138,77,110,90,47,114),new Array(101,29,16,10,85,128,101,196,26),new Array(57,18,10,102,102,213,34,20,43),new Array(117,20,15,36,163,128,68,1,26)),new Array(new Array(138,31,36,171,27,166,38,44,229),new Array(67,87,58,169,82,115,26,59,179),new Array(63,59,90,180,59,166,93,73,154),new Array(40,40,21,116,143,209,34,39,175),new Array(57,46,22,24,128,1,54,17,37),new Array(47,15,16,183,34,223,49,45,183),new Array(46,17,33,183,6,98,15,32,183),new Array(65,32,73,115,28,128,23,128,205),new Array(40,3,9,115,51,192,18,6,223),new Array(87,37,9,115,59,77,64,21,47)),new Array(new Array(104,55,44,218,9,54,53,130,226),new Array(64,90,70,205,40,41,23,26,57),new Array(54,57,112,184,5,41,38,166,213),new Array(30,34,26,133,152,116,10,32,134),new Array(75,32,12,51,192,255,160,43,51),new Array(39,19,53,221,26,114,32,73,255),new Array(31,9,65,234,2,15,1,118,73),new Array(88,31,35,67,102,85,55,186,85),new Array(56,21,23,111,59,205,45,37,192),new Array(55,38,70,124,73,102,1,34,98)),new Array(new Array(102,61,71,37,34,53,31,243,192),new Array(69,60,71,38,73,119,28,222,37),new Array(68,45,128,34,1,47,11,245,171),new Array(62,17,19,70,146,85,55,62,70),new Array(75,15,9,9,64,255,184,119,16),new Array(37,43,37,154,100,163,85,160,1),new Array(63,9,92,136,28,64,32,201,85),new Array(86,6,28,5,64,255,25,248,1),new Array(56,8,17,132,137,255,55,116,128),new Array(58,15,20,82,135,57,26,121,40)),new Array(new Array(164,50,31,137,154,133,25,35,218),new Array(51,103,44,131,131,123,31,6,158),new Array(86,40,64,135,148,224,45,183,128),new Array(22,26,17,131,240,154,14,1,209),new Array(83,12,13,54,192,255,68,47,28),new Array(45,16,21,91,64,222,7,1,197),new Array(56,21,39,155,60,138,23,102,213),new Array(85,26,85,85,128,128,32,146,171),new Array(18,11,7,63,144,171,4,4,246),new Array(35,27,10,146,174,171,12,26,128)),new Array(new Array(190,80,35,99,180,80,126,54,45),new Array(85,126,47,87,176,51,41,20,32),new Array(101,75,128,139,118,146,116,128,85),new Array(56,41,15,176,236,85,37,9,62),new Array(146,36,19,30,171,255,97,27,20),new Array(71,30,17,119,118,255,17,18,138),new Array(101,38,60,138,55,70,43,26,142),new Array(138,45,61,62,219,1,81,188,64),new Array(32,41,20,117,151,142,20,21,163),new Array(112,19,12,61,195,128,48,4,24))),kf_y_mode_tree=new Array(-B_PRED,2,4,6,-DC_PRED,-V_PRED,-H_PRED,-TM_PRED),y_mode_tree=new Array(-DC_PRED,2,4,6,-V_PRED,-H_PRED,-TM_PRED,-B_PRED),uv_mode_tree=new Array(-DC_PRED,2,-V_PRED,4,-H_PRED,-TM_PRED),b_mode_tree=new Array(-B_DC_PRED,2,-B_TM_PRED,4,-B_VE_PRED,6,8,12,-B_HE_PRED,10,-B_RD_PRED,-B_VR_PRED,-B_LD_PRED,14,-B_VL_PRED,16,-B_HD_PRED,-B_HU_PRED),small_mv_tree=new Array(2,8,4,6,-0,-1,-2,-3,10,12,-4,-5,-6,-7),mv_ref_tree=new Array(-ZEROMV,2,-NEARESTMV,4,-NEARMV,6,-NEWMV,-SPLITMV),submv_ref_tree=new Array(-LEFT4X4,2,-ABOVE4X4,4,-ZERO4X4,-NEW4X4),split_mv_tree=new Array(-3,2,-2,4,-0,-1),default_b_mode_probs=new Array(120,90,79,133,87,85,80,111,151),mv_counts_to_probs=new Array(new Array(7,1,1,143),new Array(14,18,14,107),new Array(135,64,57,68),new Array(60,56,128,65),new Array(159,134,128,34),new Array(234,188,128,28)),split_mv_probs=new Array(110,111,150),submv_ref_probs2=new Array(new Array(147,136,18),new Array(106,145,1),new Array(179,121,1),new Array(223,1,34),new Array(208,1,1)),mv_partitions=new Array(new Array(0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1),new Array(0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1),new Array(0,0,1,1,0,0,1,1,2,2,3,3,2,2,3,3),new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)),mv_clamp_rect=function(){this.to_left=int_,this.to_right=int_,this.to_top=int_,this.to_bottom=int_};function clamp_mv(_,e){var r=new mv;return r.d.x=_.d.x<e.to_left?e.to_left:_.d.x,r.d.x=_.d.x>e.to_right?e.to_right:r.d.x,r.d.y=_.d.y<e.to_top?e.to_top:_.d.y,r.d.y=_.d.y>e.to_bottom?e.to_bottom:r.d.y,r}function read_segment_id(_,e){return bool_get(_,e.tree_probs[0])?2+bool_get(_,e.tree_probs[2]):bool_get(_,e.tree_probs[1])}function above_block_mode(_,e,r){if(r<4)switch(e.base.y_mode){case DC_PRED:return B_DC_PRED;case V_PRED:return B_VE_PRED;case H_PRED:return B_HE_PRED;case TM_PRED:return B_TM_PRED;case B_PRED:return e.splitt.mvs[r+12].d.x;default:assert(0)}return _.splitt.mvs[r-4].d.x}function left_block_mode(_,e,r){if(!(3&r))switch(e.base.y_mode){case DC_PRED:return B_DC_PRED;case V_PRED:return B_VE_PRED;case H_PRED:return B_HE_PRED;case TM_PRED:return B_TM_PRED;case B_PRED:return e.splitt.mvs[r+3].d.x;default:assert(0)}return _.splitt.mvs[r-1].d.x}function decode_kf_mb_mode(_,e,r,t,n,i,a){var o,s;if((o=bool_read_tree(a,kf_y_mode_tree,kf_y_mode_probs))==B_PRED){var f=int_;for(f=0;f<16;f++){var d,E=above_block_mode(_[e],n[i],f),c=left_block_mode(_[e],r[t],f);d=bool_read_tree(a,b_mode_tree,kf_b_mode_probs[E][c]),_[e].splitt.modes[f]=_[e].splitt.mvs[f].d.x=d,_[e].splitt.mvs[f].d.y=0}}s=bool_read_tree(a,uv_mode_tree,kf_uv_mode_probs),_[e].base.y_mode=o,_[e].base.uv_mode=s,_[e].base.mv.d.x=_[e].base.mv.d.y=0,_[e].base.ref_frame=0}function decode_intra_mb_mode(_,e,r){var t,n;if((t=bool_read_tree(r,y_mode_tree,e.y_mode_probs))==B_PRED){var i=int_;for(i=0;i<16;i++){var a;a=bool_read_tree(r,b_mode_tree,default_b_mode_probs),_.splitt.modes[i]=_.splitt.mvs[i].d.x=a,_.splitt.mvs[i].d.y=0}}n=bool_read_tree(r,uv_mode_tree,e.uv_mode_probs),_.base.y_mode=t,_.base.uv_mode=n,_.base.mv.d.x=_.base.mv.d.y=0,_.base.ref_frame=CURRENT_FRAME}function read_mv_component(_,e){var r=0;if(bool_get(_,e[0])){var t=0;for(t=0;t<3;t++)r+=bool_get(_,e[9+t])<<t;for(t=9;t>3;t--)r+=bool_get(_,e[9+t])<<t;65520&r&&!bool_get(_,e[12])||(r+=8)}else r=bool_read_tree(_,small_mv_tree,e,2);return r&&bool_get(_,e[1])&&(r=-r),r<<1}function above_block_mv(_,e,r){return r<4?e.base.y_mode==SPLITMV?e.splitt.mvs[r+12]:e.base.mv:_.splitt.mvs[r-4]}function left_block_mv(_,e,r){return 3&r?_.splitt.mvs[r-1]:e.base.y_mode==SPLITMV?e.splitt.mvs[r+3]:e.base.mv}function submv_ref(_,e,r){var t=!(e.d.x||e.d.y)+0,n=!(r.d.x||r.d.y)+0,i=(e.d.x==r.d.x&&e.d.y==r.d.y)+0,a=0;return i&&t?a=4:i?a=3:n?a=2:t&&(a=1),bool_read_tree(_,submv_ref_tree,submv_ref_probs2[a])}function read_mv(_,e,r){e.d.y=read_mv_component(_,r[0]),e.d.x=read_mv_component(_,r[1])}function mv_bias(_,e,r,t){e[_.base.ref_frame]^e[r]&&(t.d.x*=-1,t.d.y*=-1)}var CNT_BEST=0,CNT_ZEROZERO=0,CNT_NEAREST=1,CNT_NEAR=2,CNT_SPLITMV=3,this_mv_1=new mv,this_mv_2=new mv;function find_near_mvs(_,e,r,t,n,i,a,o){var s=t,f=n-1,d=a,E=0,c=o,l=0;d[0].d.x=d[1].d.x=d[2].d.x=0,d[0].d.y=d[1].d.y=d[2].d.y=0,o[0]=o[1]=o[2]=o[3]=0;var m,A=t[n],u=e[r],p=s[f];(A.base.ref_frame!=CURRENT_FRAME&&((A.base.mv.d.x||A.base.mv.d.y)&&(d[++E].d.x=A.base.mv.d.x,d[E].d.y=A.base.mv.d.y,mv_bias(A,i,_.base.ref_frame,d[E]),++l),c[l]+=2),u.base.ref_frame!=CURRENT_FRAME)&&(u.base.mv.d.x||u.base.mv.d.y?((m=this_mv_1).d.x=u.base.mv.d.x,m.d.y=u.base.mv.d.y,mv_bias(u,i,_.base.ref_frame,m),m.d.x==d[E].d.x&&m.d.y==d[E].d.y||(d[++E].d.x=m.d.x,d[E].d.y=m.d.y,++l),c[l]+=2):o[CNT_ZEROZERO]+=2);p.base.ref_frame!=CURRENT_FRAME&&(p.base.mv.d.x||p.base.mv.d.y?((m=this_mv_2).d.x=p.base.mv.d.x,m.d.y=p.base.mv.d.y,mv_bias(p,i,_.base.ref_frame,m),m.d.x==d[E].d.x&&m.d.y==d[E].d.y||(d[++E].d.x=m.d.x,d[E].d.y=m.d.y,++l),c[l]+=1):o[CNT_ZEROZERO]+=1);if(o[CNT_SPLITMV]&&d[E].d.x==a[CNT_NEAREST].d.x&&d[E].d.y==a[CNT_NEAREST].d.y&&(o[CNT_NEAREST]+=1),o[CNT_SPLITMV]=2*((A.base.y_mode==SPLITMV)+(u.base.y_mode==SPLITMV))+(p.base.y_mode==SPLITMV),o[CNT_NEAR]>o[CNT_NEAREST]){var T,y=int_;y=o[CNT_NEAREST],o[CNT_NEAREST]=o[CNT_NEAR],o[CNT_NEAR]=y,y=a[CNT_NEAREST].d.x,T=a[CNT_NEAREST].d.y,a[CNT_NEAREST].d.x=a[CNT_NEAR].d.x,a[CNT_NEAREST].d.y=a[CNT_NEAR].d.y,a[CNT_NEAR].d.x=y,a[CNT_NEAR].d.y=T}o[CNT_NEAREST]>=o[CNT_BEST]&&(a[CNT_BEST].d.x=a[CNT_NEAREST].d.x,a[CNT_BEST].d.y=a[CNT_NEAREST].d.y)}function decode_split_mv(_,e,r,t,n,i){var a,o,s=int_,f=int_,d=int_;for(o=bool_read_tree(i,split_mv_tree,split_mv_probs),a=mv_partitions[o],_.base.partitioning=o,s=0,d=0;d<65535;s++){var E,c,l=new mv;for(f=0;s!=a[f];f++);switch(submv_ref(i,E=left_block_mv(_,e,f),c=above_block_mv(_,r,f))){case LEFT4X4:l=E;break;case ABOVE4X4:l=c;break;case ZERO4X4:l.d.x=l.d.y=0;break;case NEW4X4:read_mv(i,l,t.mv_probs),l.d.x+=n.d.x,l.d.y+=n.d.y;break;default:assert(0)}for(;f<16;f++)s==a[f]&&(_.splitt.mvs[f].d.x=l.d.x,_.splitt.mvs[f].d.y=l.d.y,d|=1<<f)}}function need_mc_border(_,e,r,t,n,i){return e+=_.d.x>>3,r+=_.d.y>>3,e>>1<2||n-(e+t)>>1<3||r>>1<2||i-(r+t)>>1<3}var near_mvs_4=Arr_new(4,mv),mv_cnts_4=new Array(0,0,0,0),probs_4=new Array(0,0,0,0),chroma_mv_4=Arr_new(4,mv),clamped_best_mv_1=new mv;function decode_mvs(_,e,r,t,n,i,a,o,s){var f,d,E,c,l=_.entropy_hdr,m=near_mvs_4,A=clamped_best_mv_1,u=mv_cnts_4,p=probs_4,T=int_;switch(e[r].base.ref_frame=bool_get(s,l.prob_last)?2+bool_get(s,l.prob_gf):1,find_near_mvs(e[r],e,r-1,i,a,_.reference_hdr.sign_bias,m,u),p[0]=mv_counts_to_probs[u[0]][0],p[1]=mv_counts_to_probs[u[1]][1],p[2]=mv_counts_to_probs[u[2]][2],p[3]=mv_counts_to_probs[u[3]][3],(e=e[r]).base.y_mode=bool_read_tree(s,mv_ref_tree,p),e.base.uv_mode=e.base.y_mode,e.base.need_mc_border=0,f=-o.to_left-128>>3,d=-o.to_top-128>>3,E=16*_.mb_cols,c=16*_.mb_rows,e.base.y_mode){case NEARESTMV:e.base.mv=clamp_mv(m[1],o);break;case NEARMV:e.base.mv=clamp_mv(m[2],o);break;case ZEROMV:return void(e.base.mv.d.x=e.base.mv.d.y=0);case NEWMV:A=clamp_mv(m[0],o),read_mv(s,e.base.mv,l.mv_probs),e.base.mv.d.x+=A.d.x,e.base.mv.d.y+=A.d.y;break;case SPLITMV:var y=chroma_mv_4;for(A=clamp_mv(m[0],o),decode_split_mv(e,t[n],i[a],l,A,s),e.base.mv.d.x=e.splitt.mvs[15].d.x,e.base.mv.d.y=e.splitt.mvs[15].d.y,T=0;T<16;T++)if(y[(T>>1&1)+(T>>2&2)].d.x+=e.splitt.mvs[T].d.x,y[(T>>1&1)+(T>>2&2)].d.y+=e.splitt.mvs[T].d.y,need_mc_border(e.splitt.mvs[T],f+4*(3&T),d+(-4&T),4,E,c)){e.base.need_mc_border=1;break}for(T=0;T<4;T++)if(y[T].d.x+=4,y[T].d.y+=4,y[T].d.x>>=2,y[T].d.y>>=2,need_mc_border(y[T],f+8*(1&T),d+8*(T>>1),16,E,c)){e.base.need_mc_border=1;break}return;default:assert(0)}need_mc_border(e.base.mv,f,d,16,E,c)&&(e.base.need_mc_border=1)}var bounds_=new mv_clamp_rect;function vp8_dixie_modemv_process_row(_,e,r,t,n){var i,a,o=0,s=0,f=int_,d=bounds_;for(a=_.mb_info_rows[1+r],s=_.mb_info_rows_off[1+r]+t,i=_.mb_info_rows[1+r-1],o=_.mb_info_rows_off[1+r-1]+t,d.to_left=-(t+1<<7),d.to_right=_.mb_cols-t<<7,d.to_top=-(r+1<<7),d.to_bottom=_.mb_rows-r<<7,f=t;f<t+n;f++)_.segment_hdr.update_map&&(a[s].base.segment_id=read_segment_id(e,_.segment_hdr)),_.entropy_hdr.coeff_skip_enabled&&(a[s].base.skip_coeff=bool_get(e,_.entropy_hdr.coeff_skip_prob)),_.frame_hdr.is_keyframe?(_.segment_hdr.update_map||(a[s].base.segment_id=0),decode_kf_mb_mode(a,s,a,s-1,i,o,e)):(bool_get(e,_.entropy_hdr.prob_inter)?decode_mvs(_,a,s,a,s-1,i,o,d,e):decode_intra_mb_mode(a[s],_.entropy_hdr,e),d.to_left-=128,d.to_right-=128),s++,o++}function vp8_dixie_modemv_init(_){var e,r,t=int_,n=new mb_info,i=0;for(e=_.mb_cols+1,r=_.mb_rows+1,_.frame_hdr.frame_size_updated&&(_.mb_info_storage=null,_.mb_info_rows_storage=null),_.mb_info_storage||(_.mb_info_storage=Arr_new(e*r,_.mb_info_storage_object),_.mb_info_storage_off=0),_.mb_info_rows_storage||(_.mb_info_rows_storage=Arr_new(r,_.mb_info_rows_storage_object),_.mb_info_rows_storage_off=new Array(r)),n=_.mb_info_storage,i=_.mb_info_storage_off+1,t=0;t<r;t++)_.mb_info_rows_storage[t]=n,_.mb_info_rows_storage_off[t]=i,i+=e;_.mb_info_rows=_.mb_info_rows_storage,_.mb_info_rows_off=_.mb_info_rows_storage_off}var EOB_CONTEXT_NODE=0,ZERO_CONTEXT_NODE=1,ONE_CONTEXT_NODE=2,LOW_VAL_CONTEXT_NODE=3,TWO_CONTEXT_NODE=4,THREE_CONTEXT_NODE=5,HIGH_LOW_CONTEXT_NODE=6,CAT_ONE_CONTEXT_NODE=7,CAT_THREEFOUR_CONTEXT_NODE=8,CAT_THREE_CONTEXT_NODE=9,CAT_FIVE_CONTEXT_NODE=10,ZERO_TOKEN=0,ONE_TOKEN=1,TWO_TOKEN=2,THREE_TOKEN=3,FOUR_TOKEN=4,DCT_VAL_CATEGORY1=5,DCT_VAL_CATEGORY2=6,DCT_VAL_CATEGORY3=7,DCT_VAL_CATEGORY4=8,DCT_VAL_CATEGORY5=9,DCT_VAL_CATEGORY6=10,DCT_EOB_TOKEN=11,MAX_ENTROPY_TOKENS=12,left_context_index=new Array(0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8),above_context_index=new Array(0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,4,5,4,5,6,7,6,7,8);function X(_){return _*PREV_COEF_CONTEXTS*ENTROPY_NODES}var bands_x=new Array(X(0),X(1),X(2),X(3),X(6),X(4),X(5),X(6),X(6),X(6),X(6),X(6),X(6),X(6),X(6),X(7)),extrabits=new Array({min_val:0,length:-1,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)},{min_val:1,length:0,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)},{min_val:2,length:0,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)},{min_val:3,length:0,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)},{min_val:4,length:0,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)},{min_val:5,length:0,probs:new Array(159,0,0,0,0,0,0,0,0,0,0,0)},{min_val:7,length:1,probs:new Array(145,165,0,0,0,0,0,0,0,0,0,0)},{min_val:11,length:2,probs:new Array(140,148,173,0,0,0,0,0,0,0,0,0)},{min_val:19,length:3,probs:new Array(135,140,155,176,0,0,0,0,0,0,0,0)},{min_val:35,length:4,probs:new Array(130,134,141,157,180,0,0,0,0,0,0,0)},{min_val:67,length:10,probs:new Array(129,130,133,140,153,177,196,230,243,254,254,0)},{min_val:0,length:-1,probs:new Array(0,0,0,0,0,0,0,0,0,0,0,0)}),zigzag=new Array(0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15),BLOCK_LOOP=0,DO_WHILE=1,CHECK_0_=2,CAT_FIVE_CONTEXT_NODE_0_=3,CAT_THREEFOUR_CONTEXT_NODE_0_=4,CAT_THREE_CONTEXT_NODE_0_=5,HIGH_LOW_CONTEXT_NODE_0_=6,CAT_ONE_CONTEXT_NODE_0_=7,LOW_VAL_CONTEXT_NODE_0_=8,THREE_CONTEXT_NODE_0_=9,TWO_CONTEXT_NODE_0_=10,ONE_CONTEXT_NODE_0_=11,BLOCK_FINISHED=12,END=13;function decode_mb_tokens(_,e,r,t,n,i,a,o){function s(e){y=(bool_get_bit(_)?-e:e)*P[!!p+0]}function f(e,r){if(!bool_get(_,e))return g=r,1}function d(e,r){if(!bool_get(_,e))return D=R,p<15?(++p,D+=bands_x[p],g=r,1):(g=BLOCK_FINISHED,1)}function E(_){return s(_),D=R+2*ENTROPY_NODES,p<15?(w[I+zigzag[p]]=y,++p,g=DO_WHILE,1):(w[I+zigzag[15]]=y,g=BLOCK_FINISHED,1)}function c(e,r){b+=bool_get(_,extrabits[e].probs[r])<<r}var l,m=int_,A=int_,u=int_,p=int_,T=int_,y=int_,b=int_,v=int_,h=int_,w=short_,I=0,R=0,N=char_,D=0,P=short_;h=0,i!=B_PRED&&i!=SPLITMV?(m=24,A=24,u=1,w=t,I=n+384,P=o[TOKEN_BLOCK_Y2]):(m=0,A=16,u=3,w=t,I=n,P=o[TOKEN_BLOCK_Y1]),l=a,R=u*COEF_BANDS*PREV_COEF_CONTEXTS*ENTROPY_NODES;var g=BLOCK_LOOP;do{if(g==BLOCK_LOOP&&(T=e[left_context_index[m]]+r[above_context_index[m]],p=!u+0,N=l,D=R,D+=T*ENTROPY_NODES,g=DO_WHILE),g==DO_WHILE){if(f(N[(D+=bands_x[p])+EOB_CONTEXT_NODE],BLOCK_FINISHED))continue;g=CHECK_0_}if(g==CHECK_0_){if(d(N[D+ZERO_CONTEXT_NODE],CHECK_0_))continue;if(f(N[D+ONE_CONTEXT_NODE],ONE_CONTEXT_NODE_0_))continue;if(f(N[D+LOW_VAL_CONTEXT_NODE],LOW_VAL_CONTEXT_NODE_0_))continue;if(f(N[D+HIGH_LOW_CONTEXT_NODE],HIGH_LOW_CONTEXT_NODE_0_))continue;if(f(N[D+CAT_THREEFOUR_CONTEXT_NODE],CAT_THREEFOUR_CONTEXT_NODE_0_))continue;if(f(N[D+CAT_FIVE_CONTEXT_NODE],CAT_FIVE_CONTEXT_NODE_0_))continue;b=extrabits[DCT_VAL_CATEGORY6].min_val,v=extrabits[DCT_VAL_CATEGORY6].length;do{c(DCT_VAL_CATEGORY6,v),v--}while(v>=0);if(E(b))continue}if(g!=CAT_FIVE_CONTEXT_NODE_0_||(b=extrabits[DCT_VAL_CATEGORY5].min_val,c(DCT_VAL_CATEGORY5,4),c(DCT_VAL_CATEGORY5,3),c(DCT_VAL_CATEGORY5,2),c(DCT_VAL_CATEGORY5,1),c(DCT_VAL_CATEGORY5,0),!E(b))){if(g==CAT_THREEFOUR_CONTEXT_NODE_0_){if(f(N[D+CAT_THREE_CONTEXT_NODE],CAT_THREE_CONTEXT_NODE_0_))continue;if(b=extrabits[DCT_VAL_CATEGORY4].min_val,c(DCT_VAL_CATEGORY4,3),c(DCT_VAL_CATEGORY4,2),c(DCT_VAL_CATEGORY4,1),c(DCT_VAL_CATEGORY4,0),E(b))continue}if(g!=CAT_THREE_CONTEXT_NODE_0_||(b=extrabits[DCT_VAL_CATEGORY3].min_val,c(DCT_VAL_CATEGORY3,2),c(DCT_VAL_CATEGORY3,1),c(DCT_VAL_CATEGORY3,0),!E(b))){if(g==HIGH_LOW_CONTEXT_NODE_0_){if(f(N[D+CAT_ONE_CONTEXT_NODE],CAT_ONE_CONTEXT_NODE_0_))continue;if(b=extrabits[DCT_VAL_CATEGORY2].min_val,c(DCT_VAL_CATEGORY2,1),c(DCT_VAL_CATEGORY2,0),E(b))continue}if(g!=CAT_ONE_CONTEXT_NODE_0_||(b=extrabits[DCT_VAL_CATEGORY1].min_val,c(DCT_VAL_CATEGORY1,0),!E(b))){if(g==LOW_VAL_CONTEXT_NODE_0_){if(f(N[D+TWO_CONTEXT_NODE],TWO_CONTEXT_NODE_0_))continue;if(f(N[D+THREE_CONTEXT_NODE],THREE_CONTEXT_NODE_0_))continue;if(E(4))continue}if(!(g==THREE_CONTEXT_NODE_0_&&E(3)||g==TWO_CONTEXT_NODE_0_&&E(2))){if(g==ONE_CONTEXT_NODE_0_){if(s(1),D=R+ENTROPY_NODES,p<15){w[I+zigzag[p]]=y,++p,g=DO_WHILE;continue}w[I+zigzag[15]]=y,g=BLOCK_FINISHED}if(g==BLOCK_FINISHED){if(h=((h=(h|(p>1)+0<<m)>>>0)|(T=(p!=!u)+0)<<31)>>>0,e[left_context_index[m]]=r[above_context_index[m]]=T,I+=16,++m<A){g=BLOCK_LOOP;continue}if(25==m){m=0,A=16,R=(u=0)*COEF_BANDS*PREV_COEF_CONTEXTS*ENTROPY_NODES,I=n,P=o[TOKEN_BLOCK_Y1],g=BLOCK_LOOP;continue}if(16==m){R=(u=2)*COEF_BANDS*PREV_COEF_CONTEXTS*ENTROPY_NODES,A=24,P=o[TOKEN_BLOCK_UV],g=BLOCK_LOOP;continue}}g=END}}}}}while(g!=END);return h}function reset_row_context(_){memset(_,0,0,_.length)}function reset_above_context(_,e){var r=0;for(r=0;r<e;++r)memset(_[r],0,0,_[r].length)}function reset_mb_context(_,e,r){memset(_,0,0,8),memset(e,0,0,8),r!=B_PRED&&r!=SPLITMV&&(_[8]=0,e[8]=0)}function vp8_dixie_tokens_process_row(_,e,r,t,n){var i=_.tokens[e],a=i.coeffs,o=400*t,s=int_,f=_.above_token_entropy_ctx,d=+t,E=i.left_token_entropy_ctx,c=_.mb_info_rows[1+r],l=_.mb_info_rows_off[1+r]+t;for(0==r&&reset_above_context(f,n),0==t&&reset_row_context(E),s=t;s<t+n;s++){if(memset(a,o,0,400),c[l].base.skip_coeff)reset_mb_context(E,f[d],c[l].base.y_mode),c[l].base.eob_mask=0;else{var m,A;m=_.dequant_factors,A=+c[l].base.segment_id,c[l].base.eob_mask=decode_mb_tokens(i.bool,E,f[d],a,o,c[l].base.y_mode,_.entropy_hdr.coeff_probs_,m[A].factor)}d++,l++,o+=400}}function vp8_dixie_tokens_init(_){var e=_.token_hdr.partitions;if(_.frame_hdr.frame_size_updated){var r=int_,t=25*_.mb_cols*16;for(r=0;r<e;r++)_.tokens[r].coeffs=new Array(t),_.tokens[r].coeffs||vpx_internal_error(_.error,VPX_CODEC_MEM_ERROR,null);_.above_token_entropy_ctx=Arr_new(_.mb_cols,_.above_token_entropy_ctx_object),_.above_token_entropy_ctx||vpx_internal_error(_.error,VPX_CODEC_MEM_ERROR,null)}}function ABS(_){return _>=0?_:-_}function saturate_int8(_){return _<-128?-128:_>127?127:_}function saturate_uint8(_){return _<0?0:_>255?255:_}function high_edge_variance(_,e,r,t){var n=_[e-2*r],i=_[e-1*r],a=_[e+0*r],o=_[e+1*r];return ABS(n-i)>t||ABS(o-a)>t}function simple_threshold(_,e,r,t){var n=_[e-2*r],i=_[e-1*r],a=_[e+0*r],o=_[e+1*r];return 2*ABS(i-a)+(ABS(n-o)>>1)<=t}function normal_threshold(_,e,r,t,n){var i=_[e-4*r],a=_[e-3*r],o=_[e-2*r],s=_[e-1*r],f=_[e+0*r],d=_[e+1*r],E=_[e+2*r],c=_[e+3*r],l=n;return simple_threshold(_,e,r,2*t+l)&&ABS(i-a)<=l&&ABS(a-o)<=l&&ABS(o-s)<=l&&ABS(c-E)<=l&&ABS(E-d)<=l&&ABS(d-f)<=l}function filter_common(_,e,r,t){var n,i=_[e-2*r],a=_[e-1*r],o=_[e+0*r],s=_[e+1*r],f=int_;f=3*(o-a),t&&(f+=saturate_int8(i-s)),n=((f=saturate_int8(f))+4>127?127:f+4)>>3,a=saturate_uint8(a+((f+3>127?127:f+3)>>3)),o=saturate_uint8(o-n),t||(i=saturate_uint8(i+(f=n+1>>1)),s=saturate_uint8(s-f)),_[e-2*r]=i,_[e-1*r]=a,_[e+0*r]=o,_[e+1*r]=s}function filter_mb_edge(_,e,r){var t,n=_[e-3*r],i=_[e-2*r],a=_[e-1*r],o=_[e+0*r],s=_[e+1*r],f=_[e+2*r],d=int_;a=saturate_uint8(a+(d=27*(t=saturate_int8(saturate_int8(i-s)+3*(o-a)))+63>>7)),o=saturate_uint8(o-d),i=saturate_uint8(i+(d=18*t+63>>7)),s=saturate_uint8(s-d),n=saturate_uint8(n+(d=9*t+63>>7)),f=saturate_uint8(f-d),_[e-3*r]=n,_[e-2*r]=i,_[e-1*r]=a,_[e+0*r]=o,_[e+1*r]=s,_[e+2*r]=f}function filter_mb_v_edge(_,e,r,t,n,i,a){var o=int_;for(o=0;o<8*a;o++)normal_threshold(_,e,1,t,n)&&(high_edge_variance(_,e,1,i)?filter_common(_,e,1,1):filter_mb_edge(_,e,1)),e+=r}function filter_subblock_v_edge(_,e,r,t,n,i,a){var o=int_;for(o=0;o<8*a;o++)normal_threshold(_,e,1,t,n)&&filter_common(_,e,1,high_edge_variance(_,e,1,i)),e+=r}function filter_mb_h_edge(_,e,r,t,n,i,a){var o=int_;for(o=0;o<8*a;o++)normal_threshold(_,e,r,t,n)&&(high_edge_variance(_,e,r,i)?filter_common(_,e,r,1):filter_mb_edge(_,e,r)),e+=1}function filter_subblock_h_edge(_,e,r,t,n,i,a){var o=int_;for(o=0;o<8*a;o++)normal_threshold(_,e,r,t,n)&&filter_common(_,e,r,high_edge_variance(_,e,r,i)),e+=1}function filter_v_edge_simple(_,e,r,t){var n=int_;for(n=0;n<16;n++)simple_threshold(_,e,1,t)&&filter_common(_,e,1,1),e+=r}function filter_h_edge_simple(_,e,r,t){var n=int_;for(n=0;n<16;n++)simple_threshold(_,e,r,t)&&filter_common(_,e,r,1),e+=1}function calculate_filter_parameters(_,e,r,t,n){var i=int_,a=int_,o=int_;i=_.loopfilter_hdr.level,_.segment_hdr.enabled&&(_.segment_hdr.abs_?i=_.segment_hdr.lf_level[e.base.segment_id]:i+=_.segment_hdr.lf_level[e.base.segment_id]),_.loopfilter_hdr.delta_enabled&&(i+=_.loopfilter_hdr.ref_delta[e.base.ref_frame],e.base.ref_frame==CURRENT_FRAME?e.base.y_mode==B_PRED&&(i+=_.loopfilter_hdr.mode_delta[0]):e.base.y_mode==ZEROMV?i+=_.loopfilter_hdr.mode_delta[1]:e.base.y_mode==SPLITMV?i+=_.loopfilter_hdr.mode_delta[3]:i+=_.loopfilter_hdr.mode_delta[2]),i>63?i=63:i<0&&(i=0),a=i,_.loopfilter_hdr.sharpness&&(a>>=_.loopfilter_hdr.sharpness>4?2:1)>9-_.loopfilter_hdr.sharpness&&(a=9-_.loopfilter_hdr.sharpness),a<1&&(a=1),o=i>=15,i>=40&&o++,i>=20&&!_.frame_hdr.is_keyframe&&o++,r[0]=i,t[0]=a,n[0]=o}function filter_row_normal(_,e,r,t){var n,i,a,o,s,f,d=0,E=0,c=0,l=0,m=int_;for(o=_.ref_frames[CURRENT_FRAME].img.stride[PLANE_Y],s=_.ref_frames[CURRENT_FRAME].img.stride[PLANE_U],n=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_Y],d=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_Y],i=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_U],E=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_U],a=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_V],c=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_V],d+=16*(o*e+r),E+=8*(s*e+r),c+=8*(s*e+r),f=_.mb_info_rows[1+e],l=_.mb_info_rows_off[1+e]+r,m=r;m<r+t;m++){var A=[int_],u=[int_],p=[int_];calculate_filter_parameters(_,f[l],A,u,p),A=A[0],u=u[0],p=p[0],A&&(m&&(filter_mb_v_edge(n,d,o,A+2,u,p,2),filter_mb_v_edge(i,E,s,A+2,u,p,1),filter_mb_v_edge(a,c,s,A+2,u,p,1)),(f[l].base.eob_mask||f[l].base.y_mode==SPLITMV||f[l].base.y_mode==B_PRED)&&(filter_subblock_v_edge(n,d+4,o,A,u,p,2),filter_subblock_v_edge(n,d+8,o,A,u,p,2),filter_subblock_v_edge(n,d+12,o,A,u,p,2),filter_subblock_v_edge(i,E+4,s,A,u,p,1),filter_subblock_v_edge(a,c+4,s,A,u,p,1)),e&&(filter_mb_h_edge(n,d,o,A+2,u,p,2),filter_mb_h_edge(i,E,s,A+2,u,p,1),filter_mb_h_edge(a,c,s,A+2,u,p,1)),(f[l].base.eob_mask||f[l].base.y_mode==SPLITMV||f[l].base.y_mode==B_PRED)&&(filter_subblock_h_edge(n,d+4*o,o,A,u,p,2),filter_subblock_h_edge(n,d+8*o,o,A,u,p,2),filter_subblock_h_edge(n,d+12*o,o,A,u,p,2),filter_subblock_h_edge(i,E+4*s,s,A,u,p,1),filter_subblock_h_edge(a,c+4*s,s,A,u,p,1))),d+=16,E+=8,c+=8,l++}}function filter_row_simple(_,e,r,t){var n,i,a,o=0,s=0,f=int_;for(i=_.ref_frames[CURRENT_FRAME].img.stride[PLANE_Y],n=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_Y],o=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_Y],o+=16*(i*e+r),a=_.mb_info_rows[1+e],s=_.mb_info_rows_off[1+e]+r,f=r;f<r+t;f++){var d=[int_],E=[int_],c=[int_];if(calculate_filter_parameters(_,a[s],d,E,c),d[0]){var l=(a[s].base.eob_mask||a[s].base.y_mode==SPLITMV||a[s].base.y_mode==B_PRED)+0,m=2*(d[0]+2)+E[0],A=2*d[0]+E[0];f&&filter_v_edge_simple(n,o,i,m),l&&(filter_v_edge_simple(n,o+4,i,A),filter_v_edge_simple(n,o+8,i,A),filter_v_edge_simple(n,o+12,i,A)),e&&filter_h_edge_simple(n,o,i,m),l&&(filter_h_edge_simple(n,o+4*i,i,A),filter_h_edge_simple(n,o+8*i,i,A),filter_h_edge_simple(n,o+12*i,i,A))}o+=16,s++}}function vp8_dixie_loopfilter_process_row(_,e,r,t){_.loopfilter_hdr.use_simple?filter_row_simple(_,e,r,t):filter_row_normal(_,e,r,t)}var BORDER_PIXELS=16,sixtap_filters=new Array(new Array(0,0,128,0,0,0),new Array(0,-6,123,12,-1,0),new Array(2,-11,108,36,-8,1),new Array(0,-9,93,50,-6,0),new Array(3,-16,77,77,-16,3),new Array(0,-6,50,93,-9,0),new Array(1,-8,36,108,-11,2),new Array(0,-1,12,123,-6,0)),bilinear_filters=new Array(new Array(0,0,128,0,0,0),new Array(0,0,112,16,0,0),new Array(0,0,96,32,0,0),new Array(0,0,80,48,0,0),new Array(0,0,64,64,0,0),new Array(0,0,48,80,0,0),new Array(0,0,32,96,0,0),new Array(0,0,16,112,0,0));function predict_h_nxn(_,e,r,t){var n=_,i=e-1,a=int_,o=int_;for(a=0;a<t;a++)for(o=0;o<t;o++)_[e+a*r+o]=n[i+a*r]}function predict_v_nxn(_,e,r,t){var n=_,i=e-r,a=int_,o=int_;for(a=0;a<t;a++)for(o=0;o<t;o++)_[e+a*r+o]=n[i+o]}function predict_tm_nxn(_,e,r,t){var n=_,i=e-1,a=_,o=e-r,s=a[o-1],f=int_,d=int_;for(d=0;d<t;d++){for(f=0;f<t;f++)_[e+f]=CLAMP_255(n[i]+a[o+f]-s);e+=r,i+=r}}function predict_dc_nxn(_,e,r,t){var n=_,i=e-1,a=_,o=e-r,s=int_,f=int_,d=0;for(s=0;s<t;s++)d+=n[i]+a[o+s],i+=r;switch(t){case 16:d=d+16>>5;break;case 8:d=d+8>>4;break;case 4:d=d+4>>3}for(s=0;s<t;s++)for(f=0;f<t;f++)_[e+s*r+f]=d}function predict_ve_4x4(_,e,r){var t=_,n=e-r,i=int_,a=int_;for(_[e+0]=t[n-1]+2*t[n+0]+t[n+1]+2>>2,_[e+1]=t[n+0]+2*t[n+1]+t[n+2]+2>>2,_[e+2]=t[n+1]+2*t[n+2]+t[n+3]+2>>2,_[e+3]=t[n+2]+2*t[n+3]+t[n+4]+2>>2,i=1;i<4;i++)for(a=0;a<4;a++)_[e+i*r+a]=_[e+a]}function predict_he_4x4(_,e,r){var t=_,n=e-1;_[e+0]=_[e+1]=_[e+2]=_[e+3]=t[n-r]+2*t[n+0]+t[n+r]+2>>2,n+=r,_[(e+=r)+0]=_[e+1]=_[e+2]=_[e+3]=t[n-r]+2*t[n+0]+t[n+r]+2>>2,n+=r,_[(e+=r)+0]=_[e+1]=_[e+2]=_[e+3]=t[n-r]+2*t[n+0]+t[n+r]+2>>2,n+=r,_[(e+=r)+0]=_[e+1]=_[e+2]=_[e+3]=t[n-r]+2*t[n+0]+t[n+0]+2>>2}function predict_ld_4x4(_,e,r){var t,n,i,a,o,s=_,f=e-r;_[e+0]=s[f+0]+2*s[f+1]+s[f+2]+2>>2,_[e+1]=t=s[f+1]+2*s[f+2]+s[f+3]+2>>2,_[e+2]=n=s[f+2]+2*s[f+3]+s[f+4]+2>>2,_[e+3]=i=s[f+3]+2*s[f+4]+s[f+5]+2>>2,_[(e+=r)+0]=t,_[e+1]=n,_[e+2]=i,_[e+3]=a=s[f+4]+2*s[f+5]+s[f+6]+2>>2,_[(e+=r)+0]=n,_[e+1]=i,_[e+2]=a,_[e+3]=o=s[f+5]+2*s[f+6]+s[f+7]+2>>2,_[(e+=r)+0]=i,_[e+1]=a,_[e+2]=o,_[e+3]=s[f+6]+2*s[f+7]+s[f+7]+2>>2}function predict_rd_4x4(_,e,r){var t,n,i,a,o,s=_,f=e-1,d=_,E=e-r;_[e+0]=t=s[f+0]+2*d[E-1]+d[E+0]+2>>2,_[e+1]=n=d[E-1]+2*d[E+0]+d[E+1]+2>>2,_[e+2]=i=d[E+0]+2*d[E+1]+d[E+2]+2>>2,_[e+3]=d[E+1]+2*d[E+2]+d[E+3]+2>>2,_[(e+=r)+0]=a=s[f+r]+2*s[f+0]+d[E-1]+2>>2,_[e+1]=t,_[e+2]=n,_[e+3]=i,_[(e+=r)+0]=o=s[f+2*r]+2*s[f+r]+s[f+0]+2>>2,_[e+1]=a,_[e+2]=t,_[e+3]=n,_[(e+=r)+0]=s[f+3*r]+2*s[f+2*r]+s[f+r]+2>>2,_[e+1]=o,_[e+2]=a,_[e+3]=t}function predict_vr_4x4(_,e,r){var t,n,i,a,o,s,f=_,d=e-1,E=_,c=e-r;_[e+0]=t=E[c-1]+E[c+0]+1>>1,_[e+1]=n=E[c+0]+E[c+1]+1>>1,_[e+2]=i=E[c+1]+E[c+2]+1>>1,_[e+3]=E[c+2]+E[c+3]+1>>1,_[(e+=r)+0]=a=f[d+0]+2*E[c-1]+E[c+0]+2>>2,_[e+1]=o=E[c-1]+2*E[c+0]+E[c+1]+2>>2,_[e+2]=s=E[c+0]+2*E[c+1]+E[c+2]+2>>2,_[e+3]=E[c+1]+2*E[c+2]+E[c+3]+2>>2,_[(e+=r)+0]=f[d+r]+2*f[d+0]+E[c-1]+2>>2,_[e+1]=t,_[e+2]=n,_[e+3]=i,_[(e+=r)+0]=f[d+2*r]+2*f[d+r]+f[d+0]+2>>2,_[e+1]=a,_[e+2]=o,_[e+3]=s}function predict_vl_4x4(_,e,r){var t,n,i,a,o,s,f=_,d=e-r;_[e+0]=f[d+0]+f[d+1]+1>>1,_[e+1]=t=f[d+1]+f[d+2]+1>>1,_[e+2]=n=f[d+2]+f[d+3]+1>>1,_[e+3]=i=f[d+3]+f[d+4]+1>>1,_[(e+=r)+0]=f[d+0]+2*f[d+1]+f[d+2]+2>>2,_[e+1]=a=f[d+1]+2*f[d+2]+f[d+3]+2>>2,_[e+2]=o=f[d+2]+2*f[d+3]+f[d+4]+2>>2,_[e+3]=s=f[d+3]+2*f[d+4]+f[d+5]+2>>2,_[(e+=r)+0]=t,_[e+1]=n,_[e+2]=i,_[e+3]=f[d+4]+2*f[d+5]+f[d+6]+2>>2,_[(e+=r)+0]=a,_[e+1]=o,_[e+2]=s,_[e+3]=f[d+5]+2*f[d+6]+f[d+7]+2>>2}function predict_hd_4x4(_,e,r){var t,n,i,a,o,s,f=_,d=e-1,E=_,c=e-r;_[e+0]=t=f[d+0]+E[c-1]+1>>1,_[e+1]=n=f[d+0]+2*E[c-1]+E[c+0]+2>>2,_[e+2]=E[c-1]+2*E[c+0]+E[c+1]+2>>2,_[e+3]=E[c+0]+2*E[c+1]+E[c+2]+2>>2,_[(e+=r)+0]=i=f[d+r]+f[d+0]+1>>1,_[e+1]=a=f[d+r]+2*f[d+0]+E[c-1]+2>>2,_[e+2]=t,_[e+3]=n,_[(e+=r)+0]=o=f[d+2*r]+f[d+r]+1>>1,_[e+1]=s=f[d+2*r]+2*f[d+r]+f[d+0]+2>>2,_[e+2]=i,_[e+3]=a,_[(e+=r)+0]=f[d+3*r]+f[d+2*r]+1>>1,_[e+1]=f[d+3*r]+2*f[d+2*r]+f[d+r]+2>>2,_[e+2]=o,_[e+3]=s}function predict_hu_4x4(_,e,r){var t,n,i,a,o,s=_,f=e-1;_[e+0]=s[f+0*r]+s[f+1*r]+1>>1,_[e+1]=s[f+0*r]+2*s[f+1*r]+s[f+2*r]+2>>2,_[e+2]=t=s[f+1*r]+s[f+2*r]+1>>1,_[e+3]=n=s[f+1*r]+2*s[f+2*r]+s[f+3*r]+2>>2,_[(e+=r)+0]=t,_[e+1]=n,_[e+2]=i=s[f+2*r]+s[f+3*r]+1>>1,_[e+3]=a=s[f+2*r]+2*s[f+3*r]+s[f+3*r]+2>>2,_[(e+=r)+0]=i,_[e+1]=a,_[e+2]=o=s[f+3*r],_[e+3]=o,_[(e+=r)+0]=o,_[e+1]=o,_[e+2]=o,_[e+3]=o}function predict_h_16x16(_,e,r){predict_h_nxn(_,e,r,16)}function predict_v_16x16(_,e,r){predict_v_nxn(_,e,r,16)}function predict_tm_16x16(_,e,r){predict_tm_nxn(_,e,r,16)}function predict_h_8x8(_,e,r){predict_h_nxn(_,e,r,8)}function predict_v_8x8(_,e,r){predict_v_nxn(_,e,r,8)}function predict_tm_8x8(_,e,r){predict_tm_nxn(_,e,r,8)}function predict_tm_4x4(_,e,r){predict_tm_nxn(_,e,r,4)}var tmp_4=new Array(0,0,0,0);function copy_down(_,e,r){var t,n=_,i=e+16-r;for(t=0;t<4;++t)tmp_4[0+t]=n[i+t];for(i+=4*r,t=0;t<4;++t)n[i+t]=tmp_4[0+t];for(i+=4*r,t=0;t<4;++t)n[i+t]=tmp_4[0+t];for(i+=4*r,t=0;t<4;++t)n[i+t]=tmp_4[0+t]}function b_pred(_,e,r,t,n,i){var a=int_;for(copy_down(_,e,r),a=0;a<16;a++){var o=_,s=e+4*(3&a);switch(t.splitt.mvs[a].d.x){case B_DC_PRED:predict_dc_nxn(o,s,r,4);break;case B_TM_PRED:predict_tm_4x4(o,s,r);break;case B_VE_PRED:predict_ve_4x4(o,s,r);break;case B_HE_PRED:predict_he_4x4(o,s,r);break;case B_LD_PRED:predict_ld_4x4(o,s,r);break;case B_RD_PRED:predict_rd_4x4(o,s,r);break;case B_VR_PRED:predict_vr_4x4(o,s,r);break;case B_VL_PRED:predict_vl_4x4(o,s,r);break;case B_HD_PRED:predict_hd_4x4(o,s,r);break;case B_HU_PRED:predict_hu_4x4(o,s,r);break;default:assert(0)}vp8_dixie_idct_add(o,s,o,s,r,n,i),i+=16,3==(3&a)&&(e+=4*r)}}var y2_16=Arr(16,0);function fixup_dc_coeffs(_,e,r){var t=int_;for(vp8_dixie_walsh(e,r+384,y2_16,0),t=0;t<16;t++)e[r+16*t]=y2_16[t]}function predict_intra_luma(_,e,r,t,n,i){if(t.base.y_mode==B_PRED)b_pred(_,e,r,t,n,i);else{var a=int_;switch(t.base.y_mode){case DC_PRED:predict_dc_nxn(_,e,r,16);break;case V_PRED:predict_v_16x16(_,e,r);break;case H_PRED:predict_h_16x16(_,e,r);break;case TM_PRED:predict_tm_16x16(_,e,r);break;default:assert(0)}for(fixup_dc_coeffs(t,n,i),a=0;a<16;a++)vp8_dixie_idct_add(_,e,_,e,r,n,i),i+=16,e+=4,3==(3&a)&&(e+=4*r-16)}}function predict_intra_chroma(_,e,r,t,n,i,a,o){var s=int_;switch(i.base.uv_mode){case DC_PRED:predict_dc_nxn(_,e,n,8),predict_dc_nxn(r,t,n,8);break;case V_PRED:predict_v_8x8(_,e,n),predict_v_8x8(r,t,n);break;case H_PRED:predict_h_8x8(_,e,n),predict_h_8x8(r,t,n);break;case TM_PRED:predict_tm_8x8(_,e,n),predict_tm_8x8(r,t,n);break;default:assert(0)}for(o+=256,s=16;s<20;s++)vp8_dixie_idct_add(_,e,_,e,n,a,o),o+=16,e+=4,1&s&&(e+=4*n-8);for(s=20;s<24;s++)vp8_dixie_idct_add(r,t,r,t,n,a,o),o+=16,t+=4,1&s&&(t+=4*n-8)}function sixtap_horiz(_,e,r,t,n,i,a,o,s){var f=int_,d=int_,E=int_;for(f=0;f<o;f++){for(d=0;d<a;d++)E=t[n-2]*s[0]+t[n-1]*s[1]+t[n+0]*s[2]+t[n+1]*s[3]+t[n+2]*s[4]+t[n+3]*s[5]+64,E>>=7,_[e+d]=E,n++;n+=i-a,e+=r}}function sixtap_vert(_,e,r,t,n,i,a,o,s){var f=int_,d=int_,E=int_;for(f=0;f<o;f++){for(d=0;d<a;d++)E=t[n-2*i]*s[0]+t[n-1*i]*s[1]+t[n+0*i]*s[2]+t[n+1*i]*s[3]+t[n+2*i]*s[4]+t[n+3*i]*s[5]+64,E>>=7,_[e+d]=E,n++;n+=i-a,e+=r}}var temp_=new Array(336);function sixtap_2d(_,e,r,t,n,i,a,o,s,f,d){sixtap_horiz(temp_,0,16,t,n-2*i,i,a,o+5,d[s]),sixtap_vert(_,e,r,temp_,32,16,a,o,d[f])}var img_index=function(){this.y=char_,this.u=char_,this.v=char_,this.y_off=0,this.u_off=0,this.v_off=0,this.stride=int_,this.uv_stride=int_};function filter_block(_,e,r,t,n,i,a,o){var s,f;return a.d.x||a.d.y?(s=7&a.d.x,f=7&a.d.y,n+=(a.d.y>>3)*i+(a.d.x>>3),s|f&&(sixtap_2d(e,r,i,t,n,i,4,4,s,f,o),t=e,n=r),_[0]=n,t):(_[0]=n,t)}function recon_1_block(_,e,r,t,n,i,a,o,s,f,d){var E=[0];vp8_dixie_idct_add(_,e,filter_block(E,_,e,r,t,n,i,a),E[0],n,o,s+16*d)}function calculate_chroma_splitmv(_,e,r){var t=int_,n=new mv;return(t=_.splitt.mvs[e].d.x+_.splitt.mvs[e+1].d.x+_.splitt.mvs[e+4].d.x+_.splitt.mvs[e+5].d.x)<0?t-=4:t+=4,n.d.x=parseInt(t/8,10),(t=_.splitt.mvs[e].d.y+_.splitt.mvs[e+1].d.y+_.splitt.mvs[e+4].d.y+_.splitt.mvs[e+5].d.y)<0?t-=4:t+=4,n.d.y=parseInt(t/8,10),r&&(n.d.x&=-8,n.d.y&=-8),n}function build_mc_border(_,e,r,t,n,i,a,o,s,f,d){var E,c=char_;E=r,c=t-i-a*n,a>=d?c+=(d-1)*n:a>0&&(c+=a*n);do{var l,m=int_,A=0;(m=i<0?-i:0)>o&&(m=o),i+o>f&&(A=i+o-f),A>o&&(A=o),l=o-m-A,m&&memset(_,e,E[c+0],m),l&&memcpy(_,e+m,E,c+i+m,l),A&&memset(_,e+m+l,E[c+f-1],A),e+=n,++a<d&&a>0&&(c+=n)}while(--s)}function recon_1_edge_block(_,e,r,t,n,i,a,o,s,f,d,E,c,l,m,A,u){var p=u;c+=o.d.x>>3,l+=o.d.y>>3,(c<2||c+4-1+3>=m||l<2||l+4-1+3>=A)&&(build_mc_border(r,t,n,(i+=(o.d.x>>3)+(o.d.y>>3)*a)-2-2*a,a,c-2,l-2,9,9,m,A),n=r,i=t+2*a+2,i-=(o.d.x>>3)+(o.d.y>>3)*a);var T=[0];vp8_dixie_idct_add(_,e,filter_block(T,_,e,n,i,a,o,s),T[0],a,f,d+16*p)}var uvmv_1=new mv;function predict_inter_emulated_edge(_,e,r,t,n,i,a){var o,s,f,d=_.frame_strg[0].img.img_data,E=_.frame_strg[0].img.img_data_off,c=0,l=0,m=int_,A=int_,u=int_,p=int_,T=int_,y=Arr_new(4,mv),b=e.u,v=e.v,h=e.u_off,w=e.v_off,I=(3==_.frame_hdr.version)+0;if(u=16*i,p=16*a,m=16*_.mb_cols,A=16*_.mb_rows,s=e.y,l=e.y_off,f=_.ref_frame_offsets[n.base.ref_frame],o=_.ref_frame_offsets_[n.base.ref_frame],c=l+f,n.base.y_mode!=SPLITMV){var R=uvmv_1;R.d.x=n.base.mv.d.x,R.d.y=n.base.mv.d.y,R.d.x=R.d.x+1>>1,R.d.y=R.d.y+1>>1,I&&(R.d.x&=-8,R.d.y&=-8),y[0].d.x=R.d.x,y[0].d.y=R.d.y,y[1].d.x=R.d.x,y[1].d.y=R.d.y,y[2].d.x=R.d.x,y[2].d.y=R.d.y,y[3].d.x=R.d.x,y[3].d.y=R.d.y}else y[0]=calculate_chroma_splitmv(n,0,I),y[1]=calculate_chroma_splitmv(n,2,I),y[2]=calculate_chroma_splitmv(n,8,I),y[3]=calculate_chroma_splitmv(n,10,I);for(T=0;T<16;T++){var N;N=n.base.y_mode!=SPLITMV?n.base.mv:n.splitt.mvs[+T],recon_1_edge_block(s,l,d,E,o,c,e.stride,N,_.subpixel_filters,r,t,n,u,p,m,A,T),u+=4,l+=4,c+=4,3==(3&T)&&(u-=16,p+=4,l+=4*e.stride-16,c+=4*e.stride-16)}for(u=16*i,p=16*a,u>>=1,p>>=1,m>>=1,A>>=1,T=0;T<4;T++)recon_1_edge_block(b,h,d,E,o,h+f,e.uv_stride,y[T],_.subpixel_filters,r,t,n,u,p,m,A,T+16),recon_1_edge_block(v,w,d,E,o,w+f,e.uv_stride,y[T],_.subpixel_filters,r,t,n,u,p,m,A,T+20),h+=4,w+=4,u+=4,1&T&&(u-=8,p+=4,h+=4*e.uv_stride-8,w+=4*e.uv_stride-8)}var uvmv_2=new mv;function predict_inter(_,e,r,t,n){var i,a,o=e.y,s=e.y_off,f=e.u,d=e.u_off,E=e.v,c=e.v_off,l=Arr_new(4,mv),m=(3==_.frame_hdr.version)+0,A=int_;if(n.base.y_mode!=SPLITMV){var u=uvmv_2;u.d.x=n.base.mv.d.x,u.d.y=n.base.mv.d.y,u.d.x=u.d.x+1>>1,u.d.y=u.d.y+1>>1,m&&(u.d.x&=-8,u.d.y&=-8),l[0].d.x=l[1].d.x=l[2].d.x=l[3].d.x=u.d.x,l[0].d.y=l[1].d.y=l[2].d.y=l[3].d.y=u.d.y}else l[0]=calculate_chroma_splitmv(n,0,m),l[1]=calculate_chroma_splitmv(n,2,m),l[2]=calculate_chroma_splitmv(n,8,m),l[3]=calculate_chroma_splitmv(n,10,m);for(a=_.ref_frame_offsets[n.base.ref_frame],i=_.ref_frame_offsets_[n.base.ref_frame],A=0;A<16;A++){var p;p=n.base.y_mode!=SPLITMV?n.base.mv:n.splitt.mvs[+A],recon_1_block(o,s,i,s+a,e.stride,p,_.subpixel_filters,r,t,n,A),s+=4,3==(3&A)&&(s+=4*e.stride-16)}for(A=0;A<4;A++)recon_1_block(f,d,i,d+a,e.uv_stride,l[A],_.subpixel_filters,r,t,n,A+16),recon_1_block(E,c,i,c+a,e.uv_stride,l[A],_.subpixel_filters,r,t,n,A+20),d+=4,c+=4,1&A&&(d+=4*e.uv_stride-8,c+=4*e.uv_stride-8)}function vp8_dixie_release_ref_frame(_){_&&(assert(_.ref_cnt),_.ref_cnt--)}function vp8_dixie_ref_frame(_){return _.ref_cnt++,_}function vp8_dixie_find_free_ref_frame(_){var e=int_;for(e=0;e<NUM_REF_FRAMES;e++)if(0==_[e].ref_cnt)return _[e].ref_cnt=1,_[e];return assert(0),null}function fixup_left(_,e,r,t,n,i){var a=_,o=e-1,s=int_;if(i==DC_PRED&&n){var f=_,d=e-t;for(s=0;s<r;s++)a[o]=f[d+s],o+=t}else for(o-=t,s=-1;s<r;s++)a[o]=129,o+=t}function fixup_above(_,e,r,t,n,i){var a=_,o=e-t,s=int_;if(i==DC_PRED&&n){var f=_,d=e-1;for(s=0;s<r;s++)a[o+s]=f[d],d+=t}else memset(a,o-1,127,r+1);memset(a,o+r,127,4)}function vp8_dixie_predict_init(_){var e,r=int_;if(_.frame_hdr.frame_size_updated){for(r=0;r<NUM_REF_FRAMES;r++){var t=16*_.mb_cols+2*BORDER_PIXELS,n=16*_.mb_rows+2*BORDER_PIXELS;vpx_img_free(_.frame_strg[r].img),_.frame_strg[r].ref_cnt=0,_.ref_frames[r]=null,vpx_img_alloc(_.frame_strg[r].img,IMG_FMT_I420,t,n,16)||vpx_internal_error(_.error,VPX_CODEC_MEM_ERROR,"Failed to allocate %dx%d framebuffer",t,n),vpx_img_set_rect(_.frame_strg[r].img,BORDER_PIXELS,BORDER_PIXELS,_.frame_hdr.kf.w,_.frame_hdr.kf.h)}_.frame_hdr.version?_.subpixel_filters=bilinear_filters:_.subpixel_filters=sixtap_filters}for(_.ref_frames[CURRENT_FRAME]&&vp8_dixie_release_ref_frame(_.ref_frames[CURRENT_FRAME]),_.ref_frames[CURRENT_FRAME]=vp8_dixie_find_free_ref_frame(_.frame_strg),e=_.ref_frames[CURRENT_FRAME].img.img_data,r=0;r<NUM_REF_FRAMES;r++){var i=_.ref_frames[r];_.ref_frame_offsets[r]=i?i.img.img_data_off-0:0,_.ref_frame_offsets_[r]=i?i.img.img_data:e}}var img_1=new img_index;function vp8_dixie_predict_process_row(_,e,r,t){var n,i,a=img_1,o=0,s=int_,f=0;for(a.stride=_.ref_frames[CURRENT_FRAME].img.stride[PLANE_Y],a.uv_stride=_.ref_frames[CURRENT_FRAME].img.stride[PLANE_U],a.y=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_Y],a.y_off=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_Y],a.u=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_U],a.u_off=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_U],a.v=_.ref_frames[CURRENT_FRAME].img.planes[PLANE_V],a.v_off=_.ref_frames[CURRENT_FRAME].img.planes_off[PLANE_V],a.y_off+=16*(a.stride*e+r),a.u_off+=8*(a.uv_stride*e+r),a.v_off+=8*(a.uv_stride*e+r),n=_.mb_info_rows[1+e],o=_.mb_info_rows_off[1+e]+r,i=_.tokens[e&_.token_hdr.partitions-1].coeffs,f=400*r,0==r&&(fixup_left(a.y,a.y_off,16,a.stride,e,n[o].base.y_mode),fixup_left(a.u,a.u_off,8,a.uv_stride,e,n[o].base.uv_mode),fixup_left(a.v,a.v_off,8,a.uv_stride,e,n[o].base.uv_mode),0==e&&(a.y[a.y_off-a.stride-1]=127)),s=r;s<r+t;s++)0==e&&(fixup_above(a.y,a.y_off,16,a.stride,s,n[o].base.y_mode),fixup_above(a.u,a.u_off,8,a.uv_stride,s,n[o].base.uv_mode),fixup_above(a.v,a.v_off,8,a.uv_stride,s,n[o].base.uv_mode)),n[o].base.y_mode<=B_PRED?(predict_intra_luma(a.y,a.y_off,a.stride,n[o],i,f),predict_intra_chroma(a.u,a.u_off,a.v,a.v_off,a.uv_stride,n[o],i,f)):(n[o].base.y_mode!=SPLITMV&&fixup_dc_coeffs(n[o],i,f),n[o].base.need_mc_border?predict_inter_emulated_edge(_,a,i,f,n[o],s,e):predict_inter(_,a,i,f,n[o])),o++,a.y_off+=16,a.u_off+=8,a.v_off+=8,f+=400;if(s==_.mb_cols){var d=a.y,E=a.y_off+15*a.stride,c=a.y[a.y_off-1+15*a.stride];d[E]=d[E+1]=d[E+2]=d[E+3]=c}}var FRAME_HEADER_SZ=3,KEYFRAME_HEADER_SZ=7;function ARRAY_COPY(_,e){assert(_.length==e.length),memcpy(_,0,e,0,_.length)}function decode_entropy_header(_,e,r){var t=int_,n=int_,i=int_,a=int_,o=0;for(t=0;t<BLOCK_TYPES;t++)for(n=0;n<COEF_BANDS;n++)for(i=0;i<PREV_COEF_CONTEXTS;i++)for(a=0;a<ENTROPY_NODES;a++)bool_get(e,k_coeff_entropy_update_probs[t][n][i][a])&&(r.coeff_probs_[o]=r.coeff_probs[t][n][i][a]=bool_get_uint(e,8)),o++;if(r.coeff_skip_enabled=bool_get_bit(e),r.coeff_skip_enabled&&(r.coeff_skip_prob=bool_get_uint(e,8)),!_.frame_hdr.is_keyframe){if(r.prob_inter=bool_get_uint(e,8),r.prob_last=bool_get_uint(e,8),r.prob_gf=bool_get_uint(e,8),bool_get_bit(e))for(t=0;t<4;t++)r.y_mode_probs[t]=bool_get_uint(e,8);if(bool_get_bit(e))for(t=0;t<3;t++)r.uv_mode_probs[t]=bool_get_uint(e,8);for(t=0;t<2;t++)for(n=0;n<MV_PROB_CNT;n++)if(bool_get(e,k_mv_entropy_update_probs[t][n])){var s=bool_get_uint(e,7);r.mv_probs[t][n]=s?s<<1:1}}}function decode_reference_header(_,e,r){var t=_.frame_hdr.is_keyframe;r.refresh_gf=t?1:bool_get_bit(e),r.refresh_arf=t?1:bool_get_bit(e),r.copy_gf=t||r.refresh_gf?0:bool_get_uint(e,2),r.copy_arf=t||r.refresh_arf?0:bool_get_uint(e,2),r.sign_bias[GOLDEN_FRAME]=t?0:bool_get_bit(e),r.sign_bias[ALTREF_FRAME]=t?0:bool_get_bit(e),r.refresh_entropy=bool_get_bit(e),r.refresh_last=t?1:bool_get_bit(e)}function decode_quantizer_header(_,e,r){var t=int_,n=r.q_index;r.q_index=bool_get_uint(e,7),t=(n!=r.q_index)+0,t|=r.y1_dc_delta_q=bool_maybe_get_int(e,4),t|=r.y2_dc_delta_q=bool_maybe_get_int(e,4),t|=r.y2_ac_delta_q=bool_maybe_get_int(e,4),t|=r.uv_dc_delta_q=bool_maybe_get_int(e,4),t|=r.uv_ac_delta_q=bool_maybe_get_int(e,4),r.delta_update=t}function decode_and_init_token_partitions(_,e,r,t,n,i){var a=int_;for(i.partitions=1<<bool_get_uint(e,2),n<3*(i.partitions-1)&&vpx_internal_error(_.error,VPX_CODEC_CORRUPT_FRAME,"Truncated packet found parsing partition lengths."),n-=3*(i.partitions-1),a=0;a<i.partitions;a++)a<i.partitions-1?(i.partition_sz[a]=r[t+2]<<16|r[t+1]<<8|r[t+0],t+=3):i.partition_sz[a]=n,n<i.partition_sz[a]&&vpx_internal_error(_.error,VPX_CODEC_CORRUPT_FRAME,"Truncated partition %d",a),n-=i.partition_sz[a];for(a=0;a<_.token_hdr.partitions;a++)init_bool_decoder(_.tokens[a].bool,r,t,_.token_hdr.partition_sz[a]),t+=_.token_hdr.partition_sz[a]}function decode_loopfilter_header(_,e,r){if(_.frame_hdr.is_keyframe&&memset(r,0,1),r.use_simple=bool_get_bit(e),r.level=bool_get_uint(e,6),r.sharpness=bool_get_uint(e,3),r.delta_enabled=bool_get_bit(e),r.delta_enabled&&bool_get_bit(e)){var t=int_;for(t=0;t<BLOCK_CONTEXTS;t++)r.ref_delta[t]=bool_maybe_get_int(e,6);for(t=0;t<BLOCK_CONTEXTS;t++)r.mode_delta[t]=bool_maybe_get_int(e,6)}}function decode_segmentation_header(_,e,r){if(_.frame_hdr.is_keyframe&&memset(r,0,1),r.enabled=bool_get_bit(e),r.enabled){var t=int_;if(r.update_map=bool_get_bit(e),r.update_data=bool_get_bit(e),r.update_data){for(r.abs_=bool_get_bit(e),t=0;t<MAX_MB_SEGMENTS;t++)r.quant_idx[t]=bool_maybe_get_int(e,7);for(t=0;t<MAX_MB_SEGMENTS;t++)r.lf_level[t]=bool_maybe_get_int(e,6)}if(r.update_map)for(t=0;t<MB_FEATURE_TREE_PROBS;t++)r.tree_probs[t]=bool_get_bit(e)?bool_get_uint(e,8):255}else r.update_map=0,r.update_data=0}function clamp_q(_){return _<0?0:_>127?127:_}function dc_q(_){return dc_q_lookup[clamp_q(_)]}function ac_q(_){return ac_q_lookup[clamp_q(_)]}function dequant_init(_,e,r){var t=int_,n=int_,i=_,a=0;for(t=0;t<(e.enabled?MAX_MB_SEGMENTS:1);t++)n=r.q_index,e.enabled&&(n=e.abs_?e.quant_idx[t]:n+e.quant_idx[t]),(i[a].quant_idx!=n||r.delta_update)&&(i[a].factor[TOKEN_BLOCK_Y1][0]=dc_q(n+r.y1_dc_delta_q),i[a].factor[TOKEN_BLOCK_Y1][1]=ac_q(n),i[a].factor[TOKEN_BLOCK_UV][0]=dc_q(n+r.uv_dc_delta_q),i[a].factor[TOKEN_BLOCK_UV][1]=ac_q(n+r.uv_ac_delta_q),i[a].factor[TOKEN_BLOCK_Y2][0]=2*dc_q(n+r.y2_dc_delta_q),i[a].factor[TOKEN_BLOCK_Y2][1]=parseInt(155*ac_q(n+r.y2_ac_delta_q)/100),i[a].factor[TOKEN_BLOCK_Y2][1]<8&&(i[a].factor[TOKEN_BLOCK_Y2][1]=8),i[a].factor[TOKEN_BLOCK_UV][0]>132&&(i[a].factor[TOKEN_BLOCK_UV][0]=132),i[a].quant_idx=n),a++}var bool_1=new bool_decoder;function decode_frame(_,e,r,t){var n,i=bool_1,a=int_,o=int_,s=int_;if(_.saved_entropy_valid=0,(n=vp8_parse_frame_header(e,t,_.frame_hdr))&&vpx_internal_error(_.error,n,"Failed to parse frame header"),_.frame_hdr.is_experimental&&vpx_internal_error(_.error,VPX_CODEC_UNSUP_BITSTREAM,"Experimental bitstreams not supported."),r+=FRAME_HEADER_SZ,t-=FRAME_HEADER_SZ,_.frame_hdr.is_keyframe&&(r+=KEYFRAME_HEADER_SZ,t-=KEYFRAME_HEADER_SZ,_.mb_cols=parseInt((_.frame_hdr.kf.w+15)/16,10),_.mb_rows=parseInt((_.frame_hdr.kf.h+15)/16,10)),init_bool_decoder(i,e,r,_.frame_hdr.part0_sz),_.frame_hdr.is_keyframe&&bool_get_uint(i,2)&&vpx_internal_error(_.error,VPX_CODEC_UNSUP_BITSTREAM,"Reserved bits not supported."),decode_segmentation_header(_,i,_.segment_hdr),decode_loopfilter_header(_,i,_.loopfilter_hdr),decode_and_init_token_partitions(_,i,e,r+_.frame_hdr.part0_sz,t-_.frame_hdr.part0_sz,_.token_hdr),decode_quantizer_header(_,i,_.quant_hdr),decode_reference_header(_,i,_.reference_hdr),_.frame_hdr.is_keyframe){a=int_;var f=int_,d=int_,E=int_,c=0;for(a=0;a<BLOCK_TYPES;a++)for(f=0;f<COEF_BANDS;f++)for(d=0;d<PREV_COEF_CONTEXTS;d++)for(E=0;E<ENTROPY_NODES;E++)_.entropy_hdr.coeff_probs_[c]=_.entropy_hdr.coeff_probs[a][f][d][E]=k_default_coeff_probs[a][f][d][E],c++;_.entropy_hdr.mv_probs=new k_default_mv_probs,ARRAY_COPY(_.entropy_hdr.y_mode_probs,k_default_y_mode_probs),ARRAY_COPY(_.entropy_hdr.uv_mode_probs,k_default_uv_mode_probs)}if(!_.reference_hdr.refresh_entropy){var l=_.saved_entropy,m=_.entropy_hdr;c=0;for(a=0;a<BLOCK_TYPES;a++)for(f=0;f<COEF_BANDS;f++)for(d=0;d<PREV_COEF_CONTEXTS;d++)for(E=0;E<ENTROPY_NODES;E++)l.coeff_probs_[c]=l.coeff_probs[a][f][d][E]=m.coeff_probs[a][f][d][E],c++;for(l.coeff_skip_enabled=m.coeff_skip_enabled,l.coeff_skip_prob=m.coeff_skip_prob,a=0;a<2;++a)for(f=0;f<19;++f)l.mv_probs[a][f]=m.mv_probs[a][f];for(l.prob_gf=m.prob_gf,l.prob_inter=m.prob_inter,l.prob_last=m.prob_last,a=0;a<3;++a)l.uv_mode_probs[a]=m.uv_mode_probs[a];for(a=0;a<4;++a)l.y_mode_probs[a]=m.y_mode_probs[a];_.saved_entropy_valid=1}for(decode_entropy_header(_,i,_.entropy_hdr),vp8_dixie_modemv_init(_),vp8_dixie_tokens_init(_),vp8_dixie_predict_init(_),dequant_init(_.dequant_factors,_.segment_hdr,_.quant_hdr),o=0,s=0;o<_.mb_rows;o++)vp8_dixie_modemv_process_row(_,i,o,0,_.mb_cols),vp8_dixie_tokens_process_row(_,s,o,0,_.mb_cols),vp8_dixie_predict_process_row(_,o,0,_.mb_cols),_.loopfilter_hdr.level&&o&&vp8_dixie_loopfilter_process_row(_,o-1,0,_.mb_cols),++s==_.token_hdr.partitions&&(s=0);if(_.loopfilter_hdr.level&&vp8_dixie_loopfilter_process_row(_,o-1,0,_.mb_cols),_.frame_cnt++,!_.reference_hdr.refresh_entropy){l=_.entropy_hdr,m=_.saved_entropy,c=0;for(a=0;a<BLOCK_TYPES;a++)for(f=0;f<COEF_BANDS;f++)for(d=0;d<PREV_COEF_CONTEXTS;d++)for(E=0;E<ENTROPY_NODES;E++)l.coeff_probs_[c]=l.coeff_probs[a][f][d][E]=m.coeff_probs[a][f][d][E]=m.coeff_probs_[c],c++;for(l.coeff_skip_enabled=m.coeff_skip_enabled,l.coeff_skip_prob=m.coeff_skip_prob,a=0;a<2;++a)for(f=0;f<19;++f)l.mv_probs[a][f]=m.mv_probs[a][f];for(l.prob_gf=m.prob_gf,l.prob_inter=m.prob_inter,l.prob_last=m.prob_last,a=0;a<3;++a)l.uv_mode_probs[a]=m.uv_mode_probs[a];for(a=0;a<4;++a)l.y_mode_probs[a]=m.y_mode_probs[a];_.saved_entropy_valid=0}1==_.reference_hdr.copy_arf?(vp8_dixie_release_ref_frame(_.ref_frames[ALTREF_FRAME]),_.ref_frames[ALTREF_FRAME]=vp8_dixie_ref_frame(_.ref_frames[LAST_FRAME])):2==_.reference_hdr.copy_arf&&(vp8_dixie_release_ref_frame(_.ref_frames[ALTREF_FRAME]),_.ref_frames[ALTREF_FRAME]=vp8_dixie_ref_frame(_.ref_frames[GOLDEN_FRAME])),1==_.reference_hdr.copy_gf?(vp8_dixie_release_ref_frame(_.ref_frames[GOLDEN_FRAME]),_.ref_frames[GOLDEN_FRAME]=vp8_dixie_ref_frame(_.ref_frames[LAST_FRAME])):2==_.reference_hdr.copy_gf&&(vp8_dixie_release_ref_frame(_.ref_frames[GOLDEN_FRAME]),_.ref_frames[GOLDEN_FRAME]=vp8_dixie_ref_frame(_.ref_frames[ALTREF_FRAME])),_.reference_hdr.refresh_gf&&(vp8_dixie_release_ref_frame(_.ref_frames[GOLDEN_FRAME]),_.ref_frames[GOLDEN_FRAME]=vp8_dixie_ref_frame(_.ref_frames[CURRENT_FRAME])),_.reference_hdr.refresh_arf&&(vp8_dixie_release_ref_frame(_.ref_frames[ALTREF_FRAME]),_.ref_frames[ALTREF_FRAME]=vp8_dixie_ref_frame(_.ref_frames[CURRENT_FRAME])),_.reference_hdr.refresh_last&&(vp8_dixie_release_ref_frame(_.ref_frames[LAST_FRAME]),_.ref_frames[LAST_FRAME]=vp8_dixie_ref_frame(_.ref_frames[CURRENT_FRAME]))}function CHECK_FOR_UPDATE(_,e,r){var t=_;return r[0]|=t!=(_=e),_}function vp8_parse_frame_header(_,e,r){var t=long_;if(e<10)return VPX_CODEC_CORRUPT_FRAME;if(t=_[0]|_[1]<<8|_[2]<<16,r.is_keyframe=!BITS_GET(t,0,1),r.version=BITS_GET(t,1,2),r.is_experimental=BITS_GET(t,3,1),r.is_shown=BITS_GET(t,4,1),r.part0_sz=BITS_GET(t,5,19),e<=r.part0_sz+(r.is_keyframe?10:3))return VPX_CODEC_CORRUPT_FRAME;if(r.frame_size_updated=0,r.is_keyframe){var n=[0];if(157!=_[3]||1!=_[4]||42!=_[5])return VPX_CODEC_UNSUP_BITSTREAM;if(t=_[6]|_[7]<<8|_[8]<<16|_[9]<<24,r.kf.w=CHECK_FOR_UPDATE(r.kf.w,BITS_GET(t,0,14),n),r.kf.scale_w=CHECK_FOR_UPDATE(r.kf.scale_w,BITS_GET(t,14,2),n),r.kf.h=CHECK_FOR_UPDATE(r.kf.h,BITS_GET(t,16,14),n),r.kf.scale_h=CHECK_FOR_UPDATE(r.kf.scale_h,BITS_GET(t,30,2),n),r.frame_size_updated=n[0],!r.kf.w||!r.kf.h)return VPX_CODEC_UNSUP_BITSTREAM}return VPX_CODEC_OK}function vp8_dixie_decode_frame(_,e,r){var t=_;return _.error.error_code=VPX_CODEC_OK,_.error.has_detail=0,setjmp(_.error.jmp)||decode_frame(_,e,0,r),t.error.error_code}function vp8_dixie_decode_destroy(_){vp8_dixie_predict_destroy(_),vp8_dixie_tokens_destroy(_),vp8_dixie_modemv_destroy(_)}var vpx_codec_alg_priv=function(){decoder_ctx=new vp8_decoder_ctx,img=new vpx_image_t,img_avail=int_};function update_error_state(_,e){var r;return(r=e.error_code)&&(_.base.err_detail=e.has_detail?e.detail:null),r}function vp8_init(_){var e=VPX_CODEC_OK;if(!_.priv){var r=new vpx_codec_alg_priv_t;if(_.priv=r,!_.priv)return VPX_CODEC_MEM_ERROR;_.priv.sz=1,_.priv.iface=_.iface,_.priv.alg_priv=r,_.priv.init_flags=_.init_flags,_.config.dec&&(_.priv.alg_priv.cfg=_.config.dec,_.config.dec=_.priv.alg_priv.cfg)}return e}function vp8_destroy(_){return vp8_dixie_decode_destroy(_.decoder_ctx),_.base.alg_priv="",VPX_CODEC_OK}function vp8_peek_si(_,e,r){var t,n=new vp8_frame_hdr;return(t=vp8_parse_frame_header(_,e,n))||(r.is_kf=n.is_keyframe,r.is_kf?(r.w=n.kf.w,r.h=n.kf.h):(r.w=0,r.h=0)),t}function vp8_get_si(_,e){var r=int_;return r=(e.sz,1),memcpy(e,_.si,r),alert("todo"),e.sz=r,VPX_CODEC_OK}function vp8_decode(_,e,r,t,n){var i;return(i=vp8_dixie_decode_frame(_.decoder_ctx,e,r))&&update_error_state(_,_.decoder_ctx.error),_.img_avail=_.decoder_ctx.frame_hdr.is_shown,_.img=_.decoder_ctx.ref_frames[CURRENT_FRAME].img,i}function vp8_get_frame(_,e){var r=null;return _.img_avail&&(e[0]||(r=_.img,e[0]=r)),r}var ctf_maps=create_obj_vals_from_arrayChilds(vpx_codec_ctrl_fn_map_t,[[-1,null]]);function webmdata(_){main(_)}CODEC_INTERFACE("vpx_codec_vp8_dx",new Array('VP8 "Dixie" Decoder'+VERSION_STRING,VPX_CODEC_INTERNAL_ABI_VERSION,VPX_CODEC_CAP_DECODER,"vp8_init","vp8_destroy","ctf_maps",null,null,new Array("vp8_peek_si","vp8_get_si","vp8_decode","vp8_get_frame"))),window.webmdata=webmdata;var VP8_FOURCC=3690582,ifaces=new Array({name:char_,iface:0,fourcc:int_,fourcc_mask:int_});ifaces[0]={name:"vp8",iface:new vpx_codec_vp8_dx_algo,fourcc:VP8_FOURCC,fourcc_mask:16777215};var RAW_FILE=0,IVF_FILE=1,WEBM_FILE=2,IVF_FRAME_HDR_SZ=12,RAW_FRAME_HDR_SZ=4;function read_frame(_,e,r,t,n){new Array(IVF_FRAME_HDR_SZ);var i=size_t,a=_.infile;if(_.kind==WEBM_FILE){if(_.chunk>=_.chunks){var o=[int_];do{if(_.pkt&&nestegg_free_packet(_.pkt),nestegg_read_packet(_.nestegg_ctx,_.pkt)<=0||nestegg_packet_track(_.pkt,o))return 1}while(o!=_.video_track);if(nestegg_packet_count(_.pkt,_.chunks))return 1;_.chunk=0}return nestegg_packet_data(_.pkt,_.chunk,e,t)?1:(_.chunk++,0)}return t[0]=i,t?fread(e,1,t[0],a)!=t[0]?(fprintf(stderr,"Failed to read full frame\n"),1):0:1}var input_ctx=function(){this.kind=0,this.infile=0,this.nestegg_ctx=new nestegg,this.pkt=[null],this.chunk=int_,this.chunks=[int_],this.video_track=int_};function nestegg_read_cb(_,e,r){var t=r;return fread(_,1,e,t)<e&&feof(t)?0:1}function nestegg_seek_cb(_,e,r){switch(e){case NESTEGG_SEEK_SET:e=SEEK_SET;break;case NESTEGG_SEEK_CUR:e=SEEK_CUR;break;case NESTEGG_SEEK_END:e=SEEK_END}return fseek(r,_,e)?-1:0}function nestegg_tell_cb(_){return ftell(_)}function file_is_webm(_,e,r,t,n,i){var a=int_,o=[int_],s=-1,f={read:nestegg_read_cb,seek:nestegg_seek_cb,tell:nestegg_tell_cb,userdata:_.infile},d=new nestegg_video_params;for(_.nestegg_ctx=[_.nestegg_ctx],nestegg_init(_.nestegg_ctx,f,null)&&alert("goto fail"),_.nestegg_ctx=_.nestegg_ctx[0],nestegg_track_count(_.nestegg_ctx,o)&&alert("goto fail"),a=0;a<o&&(s=nestegg_track_type(_.nestegg_ctx,a))!=NESTEGG_TRACK_VIDEO;a++)s<0&&alert("goto fail");return nestegg_track_codec_id(_.nestegg_ctx,a)!=NESTEGG_CODEC_VP8&&(fprintf(stderr,"Not VP8 video, quitting.\n"),exit(1)),_.video_track=a,nestegg_track_video_params(_.nestegg_ctx,a,d)&&alert("goto fail"),n[0]=0,i[0]=0,e[0]=VP8_FOURCC,r[0]=d.width,t[0]=d.height,1}function main(_,e,r){var t=[null],n=[null],i=[0],a=[0],o={data:_,data_off:0},s=[int_],f=[int_],d=[int_],E=[int_],c=[int_],l=new input_ctx;if(l.infile=o,!file_is_webm(l,s,f,d,E,c))return alert("Unrecognized input file type.\n"),EXIT_FAILURE;l.kind=WEBM_FILE;var m=document.getElementById("timecode"),A=document.getElementById("render"),u=document.getElementById("frame"),p=new Date,T=0,y=new vp8_decoder_ctx;!function _(){!read_frame(l,t,n,i,a)&&setTimeout((function(){t=t[0],p=new Date,vp8_dixie_decode_frame(y,t,i),t=[t];var e=y.frame_hdr.is_shown,r=y.ref_frames[0].img;b=new Date,m.innerHTML=l.pkt[0].timecode+" ("+(l.pkt[0].timecode/1e9>>0)+" sec)",e&&(A.innerHTML=b-p+"ms<br />FPS:"+(1e3/(b-p)).toFixed(2),r&&vpximg2canvas(r),T++,u.innerHTML=T),_()}),0)}();var b=new Date}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("stream")):"function"==typeof define&&define.amd?define(["stream"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).JMuxer=t(e.stream)}(this,(function(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function i(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=o(e);if(t){var i=o(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}(this,r)}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,i,a=[],s=!0,o=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==r.return||r.return()}finally{if(o)throw i}}return a}(e,t)||h(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=h(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(o)throw a}}}}var p,v;function m(e){if(p){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];p.apply(void 0,[e].concat(r))}}function k(e){if(v){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];v.apply(void 0,[e].concat(r))}}var g=function(){function e(t){r(this,e),this.payload=t,this.nri=(96&this.payload[0])>>5,this.ntype=31&this.payload[0],this.isvcl=1==this.ntype||5==this.ntype,this.stype="",this.isfmb=!1}return i(e,[{key:"toString",value:function(){return"".concat(e.type(this),": NRI: ").concat(this.getNri())}},{key:"getNri",value:function(){return this.nri}},{key:"type",value:function(){return this.ntype}},{key:"isKeyframe",value:function(){return this.ntype===e.IDR}},{key:"getPayload",value:function(){return this.payload}},{key:"getPayloadSize",value:function(){return this.payload.byteLength}},{key:"getSize",value:function(){return 4+this.getPayloadSize()}},{key:"getData",value:function(){var e=new Uint8Array(this.getSize());return new DataView(e.buffer).setUint32(0,this.getSize()-4),e.set(this.getPayload(),4),e}}],[{key:"NDR",get:function(){return 1}},{key:"IDR",get:function(){return 5}},{key:"SEI",get:function(){return 6}},{key:"SPS",get:function(){return 7}},{key:"PPS",get:function(){return 8}},{key:"AUD",get:function(){return 9}},{key:"TYPES",get:function(){var t;return a(t={},e.IDR,"IDR"),a(t,e.SEI,"SEI"),a(t,e.SPS,"SPS"),a(t,e.PPS,"PPS"),a(t,e.NDR,"NDR"),a(t,e.AUD,"AUD"),t}},{key:"type",value:function(t){return t.ntype in e.TYPES?e.TYPES[t.ntype]:"UNKNOWN"}}]),e}();function b(e,t){var r=new Uint8Array((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}var S=function(){function e(t){r(this,e),this.data=t,this.index=0,this.bitLength=8*t.byteLength}return i(e,[{key:"setData",value:function(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}},{key:"bitsAvailable",get:function(){return this.bitLength-this.index}},{key:"skipBits",value:function(e){if(this.bitsAvailable<e)return!1;this.index+=e}},{key:"readBits",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}},{key:"getBits",value:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable<e)return 0;var n=t%8,i=this.data[t/8|0]&255>>>n,a=8-n;if(a>=e)return r&&(this.index+=e),i>>a-e;r&&(this.index+=a);var s=e-a;return i<<s|this.getBits(s,t+a,r)}},{key:"skipLZ",value:function(){var e;for(e=0;e<this.bitLength-this.index;++e)if(0!==this.getBits(1,this.index+e,!1))return this.index+=e,e;return e}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"skipEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBoolean",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}},{key:"readUShort",value:function(){return this.readBits(16)}},{key:"readUInt",value:function(){return this.readBits(32)}}]),e}(),w=function(){function e(t){r(this,e),this.remuxer=t,this.track=t.mp4track}return i(e,[{key:"parseSPS",value:function(t){var r=e.readSPS(new Uint8Array(t));this.track.fps=r.fps,this.track.width=r.width,this.track.height=r.height,this.track.sps=[new Uint8Array(t)],this.track.codec="avc1.";for(var n=new DataView(t.buffer,t.byteOffset+1,4),i=0;i<3;++i){var a=n.getUint8(i).toString(16);a.length<2&&(a="0"+a),this.track.codec+=a}}},{key:"parsePPS",value:function(e){this.track.pps=[new Uint8Array(e)]}},{key:"parseNAL",value:function(e){if(!e)return!1;var t=!1;switch(e.type()){case g.IDR:case g.NDR:t=!0;break;case g.PPS:this.track.pps||(this.parsePPS(e.getPayload()),!this.remuxer.readyToDecode&&this.track.pps&&this.track.sps&&(this.remuxer.readyToDecode=!0)),t=!0;break;case g.SPS:this.track.sps||(this.parseSPS(e.getPayload()),!this.remuxer.readyToDecode&&this.track.pps&&this.track.sps&&(this.remuxer.readyToDecode=!0)),t=!0;break;case g.AUD:m("AUD - ignoing");break;case g.SEI:m("SEI - ignoing")}return t}}],[{key:"extractNALu",value:function(e){for(var t,r,n=0,i=e.byteLength,a=0,s=[],o=0;n<i;)switch(t=e[n++],a){case 0:0===t&&(a=1);break;case 1:a=0===t?2:0;break;case 2:case 3:0===t?a=3:1===t&&n<i?(o!=n-a-1&&s.push(e.subarray(o,n-a-1)),o=n,a=0):a=0}return o<i&&(r=e.subarray(o,i)),[s,r]}},{key:"skipScalingList",value:function(e,t){for(var r=8,n=8,i=0;i<t;i++)0!==n&&(n=(r+e.readEG()+256)%256),r=0===n?r:n}},{key:"readSPS",value:function(t){var r,n,i,a,s,o,u=new S(t),c=0,f=0,l=0,h=0,d=1,y=0;u.readUByte();for(var p=[],v=t.byteLength,m=1;m<v;m++)m+2<v&&3===u.readBits(24,!1)?(p.push(u.readBits(8)),p.push(u.readBits(8)),m+=2,u.readBits(8)):p.push(u.readBits(8));if(u.setData(new Uint8Array(p)),r=u.readUByte(),u.readBits(5),u.skipBits(3),u.readUByte(),u.skipUEG(),100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r){var k=u.readUEG();if(3===k&&u.skipBits(1),u.skipUEG(),u.skipUEG(),u.skipBits(1),u.readBoolean()){o=3!==k?8:12;for(var g=0;g<o;++g)u.readBoolean()&&(g<6?e.skipScalingList(u,16):e.skipScalingList(u,64))}}u.skipUEG();var b=u.readUEG();if(0===b)u.readUEG();else if(1===b){u.skipBits(1),u.skipEG(),u.skipEG(),n=u.readUEG();for(var w=0;w<n;++w)u.skipEG()}if(u.skipUEG(),u.skipBits(1),i=u.readUEG(),a=u.readUEG(),0===(s=u.readBits(1))&&u.skipBits(1),u.skipBits(1),u.readBoolean()&&(c=u.readUEG(),f=u.readUEG(),l=u.readUEG(),h=u.readUEG()),u.readBoolean()){if(u.readBoolean()){var x;switch(u.readUByte()){case 1:x=[1,1];break;case 2:x=[12,11];break;case 3:x=[10,11];break;case 4:x=[16,11];break;case 5:x=[40,33];break;case 6:x=[24,11];break;case 7:x=[20,11];break;case 8:x=[32,11];break;case 9:x=[80,33];break;case 10:x=[18,11];break;case 11:x=[15,11];break;case 12:x=[64,33];break;case 13:x=[160,99];break;case 14:x=[4,3];break;case 15:x=[3,2];break;case 16:x=[2,1];break;case 255:x=[u.readUByte()<<8|u.readUByte(),u.readUByte()<<8|u.readUByte()]}x&&x[0]>0&&x[1]>0&&(d=x[0]/x[1])}if(u.readBoolean()&&u.skipBits(1),u.readBoolean()&&(u.skipBits(4),u.readBoolean()&&u.skipBits(24)),u.readBoolean()&&(u.skipUEG(),u.skipUEG()),u.readBoolean()){var U=u.readUInt(),A=u.readUInt();u.readBoolean()&&(y=A/(2*U))}}return{fps:y>0?y:void 0,width:Math.ceil((16*(i+1)-2*c-2*f)*d),height:(2-s)*(a+1)*16-(s?2:4)*(l+h)}}},{key:"parseHeader",value:function(e){var t=new S(e.getPayload());t.readUByte(),e.isfmb=0===t.readUEG(),e.stype=t.readUEG()}}]),e}(),x=function(){function e(t){r(this,e),this.remuxer=t,this.track=t.mp4track}return i(e,[{key:"extractAAC",value:function(t){var r,n,i=0,a=t.byteLength,s=[];if(!e.isAACPattern(t))return k("Invalid ADTS audio format"),s;for(r=e.getHeaderLength(t),this.aacHeader||(this.aacHeader=t.subarray(0,r));i<a;)n=e.getFrameLength(t),s.push(t.subarray(r,n)),t=t.slice(n),i+=n;return s}},{key:"setAACConfig",value:function(){var e,t,r,n=new Uint8Array(2),i=this.aacHeader;i&&(e=1+((192&i[2])>>>6),t=(60&i[2])>>>2,r=(1&i[2])<<2,r|=(192&i[3])>>>6,n[0]=e<<3,n[0]|=(14&t)>>1,n[1]|=(1&t)<<7,n[1]|=r<<3,this.track.codec="mp4a.40."+e,this.track.channelCount=r,this.track.config=n,this.remuxer.readyToDecode=!0)}}],[{key:"samplingRateMap",get:function(){return[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]}},{key:"getHeaderLength",value:function(e){return 1&e[1]?7:9}},{key:"getFrameLength",value:function(e){return(3&e[3])<<11|e[4]<<3|(224&e[5])>>>5}},{key:"isAACPattern",value:function(e){return 255===e[0]&&240==(240&e[1])&&0==(6&e[1])}}]),e}(),U=function(){function e(t){r(this,e),this.listener={},this.type=""|t}return i(e,[{key:"on",value:function(e,t){return this.listener[e]||(this.listener[e]=[]),this.listener[e].push(t),!0}},{key:"off",value:function(e,t){if(this.listener[e]){var r=this.listener[e].indexOf(t);return r>-1&&this.listener[e].splice(r,1),!0}return!1}},{key:"offAll",value:function(){this.listener={}}},{key:"dispatch",value:function(e,t){return!!this.listener[e]&&(this.listener[e].map((function(e){e.apply(null,[t])})),!0)}}]),e}(),A=function(){function e(){r(this,e)}return i(e,null,[{key:"init",value:function(){var t;for(t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var r=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:r,audio:n};var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),a=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=a,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var s=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),u=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,s,u,s,o),e.DINF=e.box(e.types.dinf,e.box(e.types.dref,i))}},{key:"box",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(var i,a=8,s=r.length,o=s;s--;)a+=r[s].byteLength;for((i=new Uint8Array(a))[0]=a>>24&255,i[1]=a>>16&255,i[2]=a>>8&255,i[3]=255&a,i.set(e,4),s=0,a=8;s<o;++s)i.set(r[s],a),a+=r[s].byteLength;return i}},{key:"hdlr",value:function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}},{key:"mdhd",value:function(t,r){return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))}},{key:"mfhd",value:function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"minf",value:function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))}},{key:"moof",value:function(t,r,n){return e.box(e.types.moof,e.mfhd(t),e.traf(n,r))}},{key:"moov",value:function(t,r,n){for(var i=t.length,a=[];i--;)a[i]=e.trak(t[i]);return e.box.apply(null,[e.types.moov,e.mvhd(n,r)].concat(a).concat(e.mvex(t)))}},{key:"mvex",value:function(t){for(var r=t.length,n=[];r--;)n[r]=e.trex(t[r]);return e.box.apply(null,[e.types.mvex].concat(n))}},{key:"mvhd",value:function(t,r){var n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24&255,r>>16&255,r>>8&255,255&r,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,n)}},{key:"sdtp",value:function(t){var r,n,i=t.samples||[],a=new Uint8Array(4+i.length);for(n=0;n<i.length;n++)r=i[n].flags,a[n+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return e.box(e.types.sdtp,a)}},{key:"stbl",value:function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))}},{key:"avc1",value:function(t){var r,n,i,a=[],s=[];for(r=0;r<t.sps.length;r++)i=(n=t.sps[r]).byteLength,a.push(i>>>8&255),a.push(255&i),a=a.concat(Array.prototype.slice.call(n));for(r=0;r<t.pps.length;r++)i=(n=t.pps[r]).byteLength,s.push(i>>>8&255),s.push(255&i),s=s.concat(Array.prototype.slice.call(n));var o=e.box(e.types.avcC,new Uint8Array([1,a[3],a[4],a[5],255,224|t.sps.length].concat(a).concat([t.pps.length]).concat(s))),u=t.width,c=t.height;return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u>>8&255,255&u,c>>8&255,255&c,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,98,105,110,101,108,112,114,111,46,114,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])))}},{key:"esds",value:function(e){var t=e.config.byteLength,r=new Uint8Array(26+t+3);return r.set([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5,t]),r.set(e.config,26),r.set([6,1,2],26+t),r}},{key:"mp4a",value:function(t){var r=t.audiosamplerate;return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,r>>8&255,255&r,0,0]),e.box(e.types.esds,e.esds(t)))}},{key:"stsd",value:function(t){return"audio"===t.type?e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))}},{key:"tkhd",value:function(t){var r=t.id,n=t.duration,i=t.width,a=t.height,s=t.volume;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,s>>0&255,s%1*10>>0&255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,a>>8&255,255&a,0,0]))}},{key:"traf",value:function(t,r){var n=e.sdtp(t),i=t.id;return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),e.box(e.types.tfdt,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),e.trun(t,n.length+16+16+8+16+8+8),n)}},{key:"trak",value:function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:"trex",value:function(t){var r=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trun",value:function(t,r){var n,i,a,s,o,u,c=t.samples||[],f=c.length,l=12+16*f,h=new Uint8Array(l);for(r+=8+l,h.set([0,0,15,1,f>>>24&255,f>>>16&255,f>>>8&255,255&f,r>>>24&255,r>>>16&255,r>>>8&255,255&r],0),n=0;n<f;n++)a=(i=c[n]).duration,s=i.size,o=i.flags,u=i.cts,h.set([a>>>24&255,a>>>16&255,a>>>8&255,255&a,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o.isLeading<<2|o.dependsOn,o.isDependedOn<<6|o.hasRedundancy<<4|o.paddingValue<<1|o.isNonSync,61440&o.degradPrio,15&o.degradPrio,u>>>24&255,u>>>16&255,u>>>8&255,255&u],12+16*n);return e.box(e.types.trun,h)}},{key:"initSegment",value:function(t,r,n){e.types||e.init();var i,a=e.moov(t,r,n);return(i=new Uint8Array(e.FTYP.byteLength+a.byteLength)).set(e.FTYP),i.set(a,e.FTYP.byteLength),i}}]),e}(),B=1,D=function(){function e(){r(this,e)}return i(e,[{key:"flush",value:function(){this.mp4track.len=0,this.mp4track.samples=[]}},{key:"isReady",value:function(){return!(!this.readyToDecode||!this.samples.length)||null}}],[{key:"getTrackID",value:function(){return B++}}]),e}(),C=function(e){s(n,e);var t=f(n);function n(e){var i;return r(this,n),(i=t.call(this)).readyToDecode=!1,i.nextDts=0,i.dts=0,i.mp4track={id:D.getTrackID(),type:"audio",channelCount:0,len:0,fragmented:!0,timescale:e,duration:e,samples:[],config:"",codec:""},i.samples=[],i.aac=new x(c(i)),i}return i(n,[{key:"resetTrack",value:function(){this.readyToDecode=!1,this.mp4track.codec="",this.mp4track.channelCount="",this.mp4track.config="",this.mp4track.timescale=this.timescale,this.nextDts=0,this.dts=0}},{key:"remux",value:function(e){if(e.length>0)for(var t=0;t<e.length;t++){var r=e[t],n=r.units,i=n.byteLength;this.samples.push({units:n,size:i,duration:r.duration}),this.mp4track.len+=i,this.readyToDecode||this.aac.setAACConfig()}}},{key:"getPayload",value:function(){if(!this.isReady())return null;var e,t,r=new Uint8Array(this.mp4track.len),n=0,i=this.mp4track.samples;for(this.dts=this.nextDts;this.samples.length;){var a=this.samples.shift();a.units,(t=a.duration)<=0?(m("remuxer: invalid sample duration at DTS: ".concat(this.nextDts," :").concat(t)),this.mp4track.len-=a.size):(this.nextDts+=t,e={size:a.size,duration:t,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},r.set(a.units,n),n+=a.size,i.push(e))}return i.length?new Uint8Array(r.buffer,0,this.mp4track.len):null}},{key:"getAacParser",value:function(){return this.aac}}]),n}(D),E=function(e){s(n,e);var t=f(n);function n(e){var i;return r(this,n),(i=t.call(this)).readyToDecode=!1,i.nextDts=0,i.dts=0,i.mp4track={id:D.getTrackID(),type:"video",len:0,fragmented:!0,sps:"",pps:"",fps:30,width:0,height:0,timescale:e,duration:e,samples:[]},i.samples=[],i.h264=new w(c(i)),i}return i(n,[{key:"resetTrack",value:function(){this.readyToDecode=!1,this.mp4track.sps="",this.mp4track.pps="",this.nextDts=0,this.dts=0}},{key:"remux",value:function(e){var t,r=y(e);try{for(r.s();!(t=r.n()).done;){var n,i=t.value,a=[],s=0,o=y(i.units);try{for(o.s();!(n=o.n()).done;){var u=n.value;this.h264.parseNAL(u)&&(a.push(u),s+=u.getSize())}}catch(e){o.e(e)}finally{o.f()}a.length>0&&this.readyToDecode&&(this.mp4track.len+=s,this.samples.push({units:a,size:s,keyFrame:i.keyFrame,duration:i.duration,compositionTimeOffset:i.compositionTimeOffset}))}}catch(e){r.e(e)}finally{r.f()}}},{key:"getPayload",value:function(){if(!this.isReady())return null;var e,t,r=new Uint8Array(this.mp4track.len),n=0,i=this.mp4track.samples;for(this.dts=this.nextDts;this.samples.length;){var a=this.samples.shift(),s=a.units;if((t=a.duration)<=0)m("remuxer: invalid sample duration at DTS: ".concat(this.nextDts," :").concat(t)),this.mp4track.len-=a.size;else{this.nextDts+=t,e={size:a.size,duration:t,cts:a.compositionTimeOffset||0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,isNonSync:a.keyFrame?0:1,dependsOn:a.keyFrame?2:1}};var o,u=y(s);try{for(u.s();!(o=u.n()).done;){var c=o.value;r.set(c.getData(),n),n+=c.getSize()}}catch(e){u.e(e)}finally{u.f()}i.push(e)}}return i.length?new Uint8Array(r.buffer,0,this.mp4track.len):null}}]),n}(D),T=function(e){s(n,e);var t=f(n);function n(e){var i;return r(this,n),(i=t.call(this,"remuxer")).initialized=!1,i.trackTypes=[],i.tracks={},i.seq=1,i.env=e,i.timescale=1e3,i.mediaDuration=0,i.aacParser=null,i}return i(n,[{key:"addTrack",value:function(e){if("video"!==e&&"both"!==e||(this.tracks.video=new E(this.timescale),this.trackTypes.push("video")),"audio"===e||"both"===e){var t=new C(this.timescale);this.aacParser=t.getAacParser(),this.tracks.audio=t,this.trackTypes.push("audio")}}},{key:"reset",value:function(){var e,t=y(this.trackTypes);try{for(t.s();!(e=t.n()).done;){var r=e.value;this.tracks[r].resetTrack()}}catch(e){t.e(e)}finally{t.f()}this.initialized=!1}},{key:"destroy",value:function(){this.tracks={},this.offAll()}},{key:"flush",value:function(){if(this.initialized){var e,t=y(this.trackTypes);try{for(t.s();!(e=t.n()).done;){var r=e.value,n=this.tracks[r],i=n.getPayload();if(i&&i.byteLength){var a={type:r,payload:b(A.moof(this.seq,n.dts,n.mp4track),A.mdat(i)),dts:n.dts};"video"===r&&(a.fps=n.mp4track.fps),this.dispatch("buffer",a);var s=(o=n.dts/this.timescale,u=void 0,c=void 0,f=void 0,l=void 0,l="",u=Math.floor(o),(c=parseInt(u/3600,10)%24)>0&&(l+=(c<10?"0"+c:c)+":"),l+=((f=parseInt(u/60,10)%60)<10?"0"+f:f)+":"+((u=u<0?0:u%60)<10?"0"+u:u));m("put segment (".concat(r,"): dts: ").concat(n.dts," frames: ").concat(n.mp4track.samples.length," second: ").concat(s)),n.flush(),this.seq++}}}catch(e){t.e(e)}finally{t.f()}}else this.isReady()&&(this.dispatch("ready"),this.initSegment(),this.initialized=!0,this.flush());var o,u,c,f,l}},{key:"initSegment",value:function(){var e,t=[],r=y(this.trackTypes);try{for(r.s();!(e=r.n()).done;){var n=e.value,i=this.tracks[n];if("browser"==this.env){var a={type:n,payload:A.initSegment([i.mp4track],this.mediaDuration,this.timescale)};this.dispatch("buffer",a)}else t.push(i.mp4track)}}catch(e){r.e(e)}finally{r.f()}if("node"==this.env){var s={type:"all",payload:A.initSegment(t,this.mediaDuration,this.timescale)};this.dispatch("buffer",s)}m("Initial segment generated.")}},{key:"isReady",value:function(){var e,t=y(this.trackTypes);try{for(t.s();!(e=t.n()).done;){var r=e.value;if(!this.tracks[r].readyToDecode||!this.tracks[r].samples.length)return!1}}catch(e){t.e(e)}finally{t.f()}return!0}},{key:"remux",value:function(e){var t,r=y(this.trackTypes);try{for(r.s();!(t=r.n()).done;){var n=t.value,i=e[n];"audio"===n&&this.tracks.video&&!this.tracks.video.readyToDecode||i.length>0&&this.tracks[n].remux(i)}}catch(e){r.e(e)}finally{r.f()}this.flush()}}]),n}(U),P=function(e){s(n,e);var t=f(n);function n(e,i){var a;return r(this,n),(a=t.call(this,"buffer")).type=i,a.queue=new Uint8Array,a.cleaning=!1,a.pendingCleaning=0,a.cleanOffset=30,a.cleanRanges=[],a.sourceBuffer=e,a.sourceBuffer.addEventListener("updateend",(function(){a.pendingCleaning>0&&(a.initCleanup(a.pendingCleaning),a.pendingCleaning=0),a.cleaning=!1,a.cleanRanges.length&&a.doCleanup()})),a.sourceBuffer.addEventListener("error",(function(){a.dispatch("error",{type:a.type,name:"buffer",error:"buffer error"})})),a}return i(n,[{key:"destroy",value:function(){this.queue=null,this.sourceBuffer=null,this.offAll()}},{key:"doCleanup",value:function(){if(this.cleanRanges.length){var e=this.cleanRanges.shift();m("".concat(this.type," remove range [").concat(e[0]," - ").concat(e[1],")")),this.cleaning=!0,this.sourceBuffer.remove(e[0],e[1])}else this.cleaning=!1}},{key:"initCleanup",value:function(e){try{if(this.sourceBuffer.updating)return void(this.pendingCleaning=e);if(this.sourceBuffer.buffered&&this.sourceBuffer.buffered.length&&!this.cleaning){for(var t=0;t<this.sourceBuffer.buffered.length;++t){var r=this.sourceBuffer.buffered.start(t),n=this.sourceBuffer.buffered.end(t);e-r>this.cleanOffset&&r<(n=e-this.cleanOffset)&&this.cleanRanges.push([r,n])}this.doCleanup()}}catch(e){k("Error occured while cleaning ".concat(this.type," buffer - ").concat(e.name,": ").concat(e.message))}}},{key:"doAppend",value:function(){if(this.queue.length&&this.sourceBuffer&&!this.sourceBuffer.updating)try{this.sourceBuffer.appendBuffer(this.queue),this.queue=new Uint8Array}catch(t){var e="unexpectedError";"QuotaExceededError"===t.name?(m("".concat(this.type," buffer quota full")),e="QuotaExceeded"):(k("Error occured while appending ".concat(this.type," buffer - ").concat(t.name,": ").concat(t.message)),e="InvalidStateError"),this.dispatch("error",{type:this.type,name:e,error:"buffer error"})}}},{key:"feed",value:function(e){this.queue=b(this.queue,e)}}]),n}(U);return function(n){s(o,n);var a=f(o);function o(e){var n;r(this,o),(n=a.call(this,"jmuxer")).isReset=!1;return n.options=Object.assign({},{node:"",mode:"both",flushingTime:500,maxDelay:500,clearBuffer:!0,fps:30,readFpsFromTrack:!1,debug:!1,onReady:function(){},onError:function(){}},e),n.env="object"===("undefined"==typeof process?"undefined":t(process))&&"undefined"==typeof window?"node":"browser",n.options.debug&&(p=console.log,v=console.error),n.options.fps||(n.options.fps=30),n.frameDuration=1e3/n.options.fps|0,n.remuxController=new T(n.env),n.remuxController.addTrack(n.options.mode),n.initData(),n.remuxController.on("buffer",n.onBuffer.bind(c(n))),"browser"==n.env&&(n.remuxController.on("ready",n.createBuffer.bind(c(n))),n.initBrowser()),n}return i(o,[{key:"initData",value:function(){this.lastCleaningTime=Date.now(),this.kfPosition=[],this.kfCounter=0,this.pendingUnits={},this.remainingData=new Uint8Array,this.startInterval()}},{key:"initBrowser",value:function(){"string"==typeof this.options.node&&""==this.options.node&&k("no video element were found to render, provide a valid video element"),this.node="string"==typeof this.options.node?document.getElementById(this.options.node):this.options.node,this.mseReady=!1,this.setupMSE()}},{key:"createStream",value:function(){var t=this.feed.bind(this),r=this.destroy.bind(this);return this.stream=new e.Duplex({writableObjectMode:!0,read:function(e){},write:function(e,r,n){t(e),n()},final:function(e){r(),e()}}),this.stream}},{key:"setupMSE",value:function(){if(window.MediaSource=window.MediaSource||window.WebKitMediaSource,!window.MediaSource)throw"Oops! Browser does not support media source extension.";this.isMSESupported=!!window.MediaSource,this.mediaSource=new MediaSource,this.url=URL.createObjectURL(this.mediaSource),this.node.src=this.url,this.mseEnded=!1,this.mediaSource.addEventListener("sourceopen",this.onMSEOpen.bind(this)),this.mediaSource.addEventListener("sourceclose",this.onMSEClose.bind(this)),this.mediaSource.addEventListener("webkitsourceopen",this.onMSEOpen.bind(this)),this.mediaSource.addEventListener("webkitsourceclose",this.onMSEClose.bind(this))}},{key:"endMSE",value:function(){if(!this.mseEnded)try{this.mseEnded=!0,this.mediaSource.endOfStream()}catch(e){k("mediasource is not available to end")}}},{key:"feed",value:function(e){var t,r,n,i=!1,a={video:[],audio:[]};if(e&&this.remuxController){if(n=e.duration?parseInt(e.duration):0,e.video){e.video=b(this.remainingData,e.video);var s=l(w.extractNALu(e.video),2);if(t=s[0],r=s[1],this.remainingData=r||new Uint8Array,!(t.length>0))return void k("Failed to extract any NAL units from video data:",r);a.video=this.getVideoFrames(t,n,e.compositionTimeOffset),i=!0}if(e.audio){if(!((t=this.remuxController.aacParser.extractAAC(e.audio)).length>0))return void k("Failed to extract audio data from:",e.audio);a.audio=this.getAudioFrames(t,n),i=!0}i?this.remuxController.remux(a):k("Input object must have video and/or audio property. Make sure it is a valid typed array")}}},{key:"getVideoFrames",value:function(e,t,r){var n,i=this,a=[],s=[],o=0,u=!1,c=!1;this.pendingUnits.units&&(a=this.pendingUnits.units,c=this.pendingUnits.vcl,u=this.pendingUnits.keyFrame,this.pendingUnits={});var f,l=y(e);try{for(l.s();!(f=l.n()).done;){var h=f.value,d=new g(h);d.type()!==g.IDR&&d.type()!==g.NDR||w.parseHeader(d),a.length&&c&&(d.isfmb||!d.isvcl)&&(s.push({units:a,keyFrame:u}),a=[],u=!1,c=!1),a.push(d),u=u||d.isKeyframe(),c=c||d.isvcl}}catch(e){l.e(e)}finally{l.f()}if(a.length)if(t)if(c)s.push({units:a,keyFrame:u});else{var p=s.length-1;p>=0&&(s[p].units=s[p].units.concat(a))}else this.pendingUnits={units:a,keyFrame:u,vcl:c};return n=t?t/s.length|0:this.frameDuration,o=t?t-n*s.length:0,s.map((function(e){e.duration=n,e.compositionTimeOffset=r,o>0&&(e.duration++,o--),i.kfCounter++,e.keyFrame&&i.options.clearBuffer&&i.kfPosition.push(i.kfCounter*n/1e3)})),m("jmuxer: No. of frames of the last chunk: ".concat(s.length)),s}},{key:"getAudioFrames",value:function(e,t){var r,n,i=[],a=0,s=y(e);try{for(s.s();!(n=s.n()).done;){var o=n.value;i.push({units:o})}}catch(e){s.e(e)}finally{s.f()}return r=t?t/i.length|0:this.frameDuration,a=t?t-r*i.length:0,i.map((function(e){e.duration=r,a>0&&(e.duration++,a--)})),i}},{key:"destroy",value:function(){if(this.stopInterval(),this.stream&&(this.remuxController.flush(),this.stream.push(null),this.stream=null),this.remuxController&&(this.remuxController.destroy(),this.remuxController=null),this.bufferControllers){for(var e in this.bufferControllers)this.bufferControllers[e].destroy();this.bufferControllers=null,this.endMSE()}this.node=!1,this.mseReady=!1,this.videoStarted=!1,this.mediaSource=null}},{key:"reset",value:function(){if(this.stopInterval(),this.isReset=!0,this.node.pause(),this.remuxController&&this.remuxController.reset(),this.bufferControllers){for(var e in this.bufferControllers)this.bufferControllers[e].destroy();this.bufferControllers=null,this.endMSE()}this.initData(),"browser"==this.env&&this.initBrowser(),m("JMuxer was reset")}},{key:"createBuffer",value:function(){if(this.mseReady&&this.remuxController&&this.remuxController.isReady()&&!this.bufferControllers)for(var e in this.bufferControllers={},this.remuxController.tracks){var t=this.remuxController.tracks[e];if(!o.isSupported("".concat(e,'/mp4; codecs="').concat(t.mp4track.codec,'"')))return k("Browser does not support codec"),!1;var r=this.mediaSource.addSourceBuffer("".concat(e,'/mp4; codecs="').concat(t.mp4track.codec,'"'));this.bufferControllers[e]=new P(r,e),this.bufferControllers[e].on("error",this.onBufferError.bind(this))}}},{key:"startInterval",value:function(){var e=this;this.interval=setInterval((function(){e.options.flushingTime?e.applyAndClearBuffer():e.bufferControllers&&e.cancelDelay()}),this.options.flushingTime||1e3)}},{key:"stopInterval",value:function(){this.interval&&clearInterval(this.interval)}},{key:"cancelDelay",value:function(){if(this.node.buffered&&this.node.buffered.length>0&&!this.node.seeking){var e=this.node.buffered.end(0);e-this.node.currentTime>this.options.maxDelay/1e3&&(console.log("delay"),this.node.currentTime=e-.001)}}},{key:"releaseBuffer",value:function(){for(var e in this.bufferControllers)this.bufferControllers[e].doAppend()}},{key:"applyAndClearBuffer",value:function(){this.bufferControllers&&(this.releaseBuffer(),this.clearBuffer())}},{key:"getSafeClearOffsetOfBuffer",value:function(e){for(var t,r="audio"===this.options.mode&&e||0,n=0;n<this.kfPosition.length&&!(this.kfPosition[n]>=e);n++)t=this.kfPosition[n];return t&&(this.kfPosition=this.kfPosition.filter((function(e){return e<t&&(r=e),e>=t}))),r}},{key:"clearBuffer",value:function(){if(this.options.clearBuffer&&Date.now()-this.lastCleaningTime>1e4){for(var e in this.bufferControllers){var t=this.getSafeClearOffsetOfBuffer(this.node.currentTime);this.bufferControllers[e].initCleanup(t)}this.lastCleaningTime=Date.now()}}},{key:"onBuffer",value:function(e){this.options.readFpsFromTrack&&void 0!==e.fps&&this.options.fps!=e.fps&&(this.options.fps=e.fps,this.frameDuration=Math.ceil(1e3/e.fps),m("JMuxer changed FPS to ".concat(e.fps," from track data"))),"browser"==this.env?this.bufferControllers&&this.bufferControllers[e.type]&&this.bufferControllers[e.type].feed(e.payload):this.stream&&this.stream.push(e.payload),0===this.options.flushingTime&&this.applyAndClearBuffer()}},{key:"onMSEOpen",value:function(){this.mseReady=!0,URL.revokeObjectURL(this.url),"function"==typeof this.options.onReady&&this.options.onReady.call(null,this.isReset)}},{key:"onMSEClose",value:function(){this.mseReady=!1,this.videoStarted=!1}},{key:"onBufferError",value:function(e){if("QuotaExceeded"==e.name)return m("JMuxer cleaning ".concat(e.type," buffer due to QuotaExceeded error")),void this.bufferControllers[e.type].initCleanup(this.node.currentTime);"InvalidStateError"==e.name?(m("JMuxer is reseting due to InvalidStateError"),this.reset()):this.endMSE(),"function"==typeof this.options.onError&&this.options.onError.call(null,e)}}],[{key:"isSupported",value:function(e){return window.MediaSource&&window.MediaSource.isTypeSupported(e)}}]),o}(U)}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.DisplayRouter=$.spcExtend(wdi.EventObject.prototype,{init:function(i){this.time=Date.now(),this.clientGui=i.clientGui,this.rasterEngine=i.rasterEngine||new wdi.RasterEngine({clientGui:this.clientGui}),i.routeList?this.routeList=i.routeList:this._initRoutes()},dispose:function(){this.rasterEngine.dispose(),this.clientGui=null,this.rasterEngine=null,this.routeList=null},_initRoutes:function(){wdi.Debug.log("displayRouter",this.time),this.routeList={},this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_SURFACE_CREATE]=this.rasterEngine.drawCanvas,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_SURFACE_DESTROY]=this.rasterEngine.removeCanvas,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_COPY]=this.rasterEngine.drawImage,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_FILL]=this.rasterEngine.drawFill,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND]=this.rasterEngine.drawAlphaBlend,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_WHITENESS]=this.rasterEngine.drawWhiteness,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_BLACKNESS]=this.rasterEngine.drawBlackness,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_TRANSPARENT]=this.rasterEngine.drawTransparent,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_COPY_BITS]=this.rasterEngine.drawCopyBits,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_TEXT]=this.rasterEngine.drawText,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_STROKE]=this.rasterEngine.drawStroke,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_ROP3]=this.rasterEngine.drawRop3,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_INVERS]=this.rasterEngine.drawInvers,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_CREATE]=this.rasterEngine.handleStreamCreate,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_DESTROY]=this.rasterEngine.handleStreamDestroy,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_DATA]=this.rasterEngine.handleStreamData,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_CLIP]=this.rasterEngine.handleStreamClip,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_DATA_SIZED]=this.rasterEngine.handleStreamDataSized,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT]=this.rasterEngine.handleStreamActiveReport,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_DRAW_BLEND]=this.rasterEngine.drawBlend,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_INVAL_LIST]=this.rasterEngine.invalList,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES]=this.rasterEngine.invalPalettes,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_MARK]=!1,this.routeList[wdi.SpiceVars.SPICE_MSG_DISPLAY_RESET]=this.rasterEngine.handleReset},processPacket:function(i){if(i){var t=this.routeList[i.messageType];t&&t.call(this.rasterEngine,i)}else wdi.Debug.log("DisplayProcess processPacket: Skipping empty message...")}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function pack(r){for(var t="",n=0;n<r.length;n+=2)t+=String.fromCharCode(parseInt(r.substring(n,n+2),16));return t}function char2hex(r){for(var t="",n=0;n<r.length;n+=1){switch(temp=r[n].toString(16),temp.length){case 1:temp="0"+temp;break;case 0:temp="00"}t+=temp}return t}function xor(r,t){length=Math.min(r.length,t.length),temp="";for(var n=0;n<length;n++)temp+=String.fromCharCode(r.charCodeAt(n)^t.charCodeAt(n));length=Math.max(r.length,t.length)-length;for(n=0;n<length;n++)temp+="\0";return temp}function mgf1(r,n){t="",hLen=20,count=Math.ceil(n/hLen);for(var e=0;e<count;e++)c=String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e),t+=pack(sha1Hash(r+c));return t.substring(0,n)}function rsa_oaep_encrypt(r,t,n){for(var e="Ú9£î^kK\r2U¿ï`¯Ø\t",o=128-r.length-40-2,a=0;a<o;a++)e+="\0";var g=e+""+r,h="";for(a=0;a<24;a+=4)o=new Array(4),rng.nextBytes(o),h+=String.fromCharCode(o[0],o[1],o[2],o[3]);var i=xor(g,mgf1(h=h.substring(4-h.length%4),107)),f="\0"+xor(h,mgf1(i,20))+i;for(m=new Array,a=0;a<f.length;a++)m[a]=f.charCodeAt(a);return m=new encryptionBigInteger(m,256),c=m.modPowInt(n,t),c=c.toString(16),1&c.length&&(c="0"+c),c}function RSA_public_encrypt(r,t){for(var n=new Uint8Array(t),e=new Array(129),o=0;o<129;o++)e[o]=n[28+o];var a=new encryptionBigInteger(e),g=new encryptionBigInteger("010001",16);return rsa_oaep_encrypt(r+String.fromCharCode(0),a,g)}rng=new SecureRandom;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.Flipper={flip:function(e){return this._handMadeFlip(e)},_handMadeFlip:function(e){var t=document.createElement("canvas");t.width=e.width,t.height=e.height;var a=t.getContext("2d");return a.save(),a.scale(1,-1),a.drawImage(e,0,-e.height),a.restore(),t}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"undefined"==typeof CanvasPixelArray||CanvasPixelArray.prototype.set||(CanvasPixelArray.prototype.set=function(n){for(var t=n.length,r=0;r<t;r++)this[r]=n[r]}),wdi.graphics={tmpCanvas:document.createElement("canvas"),imageLoader:new Image,dispose:function(){wdi.Debug.log("Disposing graphics"),$(this.tmpCanvas).remove(),$(this.imageLoader).remove(),this.tmpCanvas=document.createElement("canvas"),this.imageLoader=new Image,wdi.GlobalPool.dispose(),wdi.ImageCache.dispose(),wdi.ImageUncompressor.dispose(),wdi.RasterOperation.dispose()},getRect:function(n,t){if(0===n.x&&0===n.y&&n.width===t.width&&n.height===t.height)return t;var r=this.getImageFromData(t),e=wdi.graphics.getNewTmpCanvas(n.width,n.height);return e.getContext("2d").drawImage(r,n.x,n.y,n.width,n.height,0,0,n.width,n.height),e},argbToImageData:function(n,t,r){for(var e=n.length,u=wdi.graphics.getTmpCanvas(t,r).getContext("2d").createImageData(t,r),i=0;i<e;i+=4)u.data[i]=n[i],u.data[i+1]=n[i+1],u.data[i+2]=n[i+2],u.data[i+3]=n[i+3];return u},align:function(n,t){return n+(t-1)&~(t-1)},monoMask:[1,2,4,8,16,32,64,128],monoToImageData:function(n,t,r){this.align(t,8);for(var e=n.length,u=e/2,i=wdi.graphics.getTmpCanvas(t,r).getContext("2d").createImageData(t,r),o=[],c=[],a=0;a<e;a++){var f=n[a],d=8;if(a>=u)for(;d--;){var g=f&this.monoMask[d]&&!0;o.push(g)}else if(a<u)for(;d--;){g=f&this.monoMask[d]&&!0;c.push(g)}}var s=0;for(u=c.length,a=0;a<u;a++)s=4*a,o[a]||c[a]?!o[a]&&c[a]?(i.data[s]=255,i.data[s+1]=255,i.data[s+2]=255,i.data[s+3]=0):o[a]&&!c[a]?(i.data[s]=255,i.data[s+1]=255,i.data[s+2]=255,i.data[s+3]=255):o[a]&&c[a]&&(i.data[s]=0,i.data[s+1]=0,i.data[s+2]=0,i.data[s+3]=255):(i.data[s]=0,i.data[s+1]=0,i.data[s+2]=0,i.data[s+3]=255);return i},drawJpeg:function(n,t,r,e){return this.drawBrowserImage(n,t,r,e,"jpeg",!1)},drawBrowserImage:function(n,t,r,e,u,i){var o,c,a=wdi.GlobalPool.create("Image");a.onload=function(){URL.revokeObjectURL(c);try{if(n.flags&wdi.SpiceImageFlags.SPICE_IMAGE_FLAGS_CACHE_ME){var t=wdi.graphics.getTmpCanvas(this.width,this.height);t.getContext("2d").drawImage(this,0,0),wdi.ImageCache.addImage(n,t)}r.call(e,this)}catch(n){wdi.Debug.error(n.message)}finally{wdi.ExecutionControl.currentProxy.end()}},a.onerror=function(){URL.revokeObjectURL(c),wdi.Debug.error("failed to load JPEG image"),wdi.ExecutionControl.currentProxy.end()},i?(o=t,a.src=o):(c=wdi.SpiceObject.bytesToURI(t),a.src=c)},getImageFromSpice:function(n,t,r,e,u,i){var o,c,a,f,d=null;switch(i?(c=i.opaque,a=i.brush,f=i.raw):(c=!1,f=!1,a=!1),n.type){case wdi.SpiceImageType.SPICE_IMAGE_TYPE_LZ_RGB:d=this.processLz(n,t,a,c,r);break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_LZ_PLT:wdi.Debug.log("lz plt decode"),d=wdi.LZSS.convert_spice_lz_to_web(r.getContext(0),t,n,c);break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_QUIC:d=this.processQuic(n,t,a,c,r);break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_JPEG:return wdi.Debug.log("JPEG decode"),wdi.ExecutionControl.sync=!1,void this.drawJpeg(n,t.subarray(4),e,u);case wdi.SpiceImageType.SPICE_IMAGE_TYPE_JPEG_ALPHA:wdi.Debug.log("JPEG Alpha decode"),wdi.ExecutionControl.sync=!1;var g=t.subarray(9);return void this.drawJpeg(n,g,e,u);case wdi.SpiceImageType.SPICE_IMAGE_TYPE_BITMAP:wdi.Debug.log("BMP"),t.toJSArray&&(t=t.toJSArray()),d=new wdi.BMP2(t).marshall(r.getContext(0));break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_FROM_CACHE_LOSSLESS:case wdi.SpiceImageType.SPICE_IMAGE_TYPE_FROM_CACHE:return wdi.ExecutionControl.sync=!1,void wdi.ImageCache.getImageFrom(n,(function(n){e.call(u,n),wdi.ExecutionControl.currentProxy.end()}));case wdi.SpiceImageType.SPICE_IMAGE_TYPE_SURFACE:var s=wdi.SpiceObject.bytesToInt32(t.toJSArray());d=r.getContext(s).canvas;break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_CANVAS:d=t;break;case wdi.SpiceImageType.SPICE_IMAGE_TYPE_PNG:return wdi.ExecutionControl.sync=!1,t=wdi.SpiceObject.bytesToString(t.toJSArray()),void this.drawBrowserImage(n,t,e,u,"png",!0);default:return wdi.Debug.log("Unknown image type: "+n.type),void wdi.ExecutionControl.currentProxy.end()}o=null,n.flags&wdi.SpiceImageFlags.SPICE_IMAGE_FLAGS_CACHE_ME&&wdi.ImageCache.addImage(n,d),o=d.getContext||f?d:this.getImageFromData(d),n.flags&wdi.SpiceImageFlags.SPICE_IMAGE_FLAGS_CACHE_ME&&wdi.ImageCache.addImage(n,o),wdi.ExecutionControl.sync&&e.call(u,o)},processUncompress:function(n,t,r,e,u,i){wdi.ImageUncompressor.getSyncInstance().process(n,t,r,e,u,i,this)},processQuic:function(n,t,r,e,u){var i;return this.processUncompress(n,t,r,e,u,(function(t){var r=new Uint8ClampedArray(t);i=new ImageData(r,n.width,n.height)})),i},processLz:function(n,t,r,e,u){var i;return this.processUncompress(n,t,r,e,u,(function(u){var o=wdi.ImageUncompressor.getSyncInstance().extractLzHeader(t,r),c=new Uint8ClampedArray(u);i=new ImageData(c,n.width,n.height),o.header.top_down||e||(i=this.imageFlip(i))})),i},imageFlip:function(n){return wdi.RasterOperation.flip(this.getImageFromData(n))},getImageFromData:function(n,t){return n.getContext||n instanceof Image?n:((r=t?$("<canvas/>").attr({width:n.width,height:n.height})[0]:this.getNewTmpCanvas(n.width,n.height)).getContext("2d").putImageData(n,0,0),r);var r},getDataFromImage:function(n){return n.getContext("2d").getImageData(0,0,n.width,n.height)},getBoxFromSrcArea:function(n){return{width:n.right-n.left,height:n.bottom-n.top,x:n.left,y:n.top}},setBrush:function(n,t,r,e,u){var i,o,c;if(r.type===wdi.SpiceBrushType.SPICE_BRUSH_TYPE_PATTERN)o=r.pattern.image,this.getImageFromSpice(o,r.pattern.imageData,n,(function(n){if(i=t.createPattern(n,"repeat"),u===wdi.SpiceRopd.SPICE_ROPD_OP_PUT)t.fillStyle=i,t.fillRect(e.x,e.y,e.width,e.height);else{var r=wdi.graphics.getTmpCanvas(e.width,e.height),o=r.getContext("2d");o.fillStyle=i,o.fillRect(0,0,e.width,e.height);var a=wdi.graphics.getRect(e,t.canvas);c=wdi.RasterOperation.process(u,r,a),t.drawImage(c,e.x,e.y,e.width,e.height)}}),this,{opaque:!0});else if(r.type===wdi.SpiceBrushType.SPICE_BRUSH_TYPE_SOLID)if(u===wdi.SpiceRopd.SPICE_ROPD_OP_PUT)t.fillStyle!=r.color.simple_html_color&&(t.fillStyle=r.color.simple_html_color),t.fillRect(e.x,e.y,e.width,e.height);else{var a=wdi.graphics.getTmpCanvas(e.width,e.height),f=a.getContext("2d");f.fillStyle=r.color.html_color,f.fillRect(0,0,e.width,e.height);var d=wdi.graphics.getRect(e,t.canvas);c=wdi.RasterOperation.process(u,a,d),t.drawImage(c,e.x,e.y,e.width,e.height)}},imageIsEntireColor:function(n,t,r,e,u){var i,o=0;do{i=u[o]===n&&u[o+1]===t&&u[o+2]===r,o+=4}while(o!=e&&i);return i},drawBackText:function(n,t,r){var e=r.back_brush,u=r.back_mode,i=wdi.graphics.getBoxFromSrcArea(r.base.box);this.setBrush(n,t,e,i,u)},drawString:function(n,t,r,e,u,i){var o,c,a,f,d,g,s,h,p,w,l,m,I,C,_,E,S,y,v,P,T,x,A,b=e.color,D=t.len,G=t.raster_glyph;for(h=1===r?255:4===r?17:1,l=0;l<D;l++){for(o=(y=G[l]).render_pos,c=y.glyph_origin,a=y.width,f=y.height,d=y.data,g=f,m=new ArrayBuffer(a*f*4),I=new Uint8ClampedArray(m),C=new Uint32Array(m),p=0,w=0;g--;){for(E=_=Math.ceil(a*r/8),S=[];E--;)S.push(d.pop());for(;_--;)for(v=S.pop(),P=8,T=0;P;)x=wdi.bppMask[r][T]&v,1===r&&x?x=1:4===r&&x&&x>15&&(x>>=4),x&&(C[w*a+p]=h*x<<24|b.b<<16|b.g<<8|b.r),P-=r,p++,T++;w++,p=0}A={x:o.x+c.x,y:o.y+c.y-1,width:a,height:f},s=new ImageData(I,a,f);var R=wdi.graphics.getImageFromData(s);i.drawClip(R,A,n),wdi.GlobalPool.discard("Canvas",R)}},getImgDataPosition:function(n,t,r){return 4*(t*r+n)},getTmpCanvas:function(n,t){var r=this.tmpCanvas;return r.width=n,r.height=t,r},getNewTmpCanvas:function(n,t){var r=wdi.GlobalPool.create("Canvas");return r.width=n,r.height=t,r}},wdi.Rop3={1:function(n,t,r){return~(n|t|r)},2:function(n,t,r){return~(n|t)&r},4:function(n,t,r){return~(n|r)&t},6:function(n,t,r){return~(~(t^r)|n)},7:function(n,t,r){return~(t&r|n)},8:function(n,t,r){return~n&r&t},9:function(n,t,r){return~(t^r|n)},11:function(n,t,r){return~(~r&t|n)},13:function(n,t,r){return~(~t&r|n)},14:function(n,t,r){return~(~(t|r)|n)},16:function(n,t,r){return~(t|r)&n},18:function(n,t,r){return~(~(n^r)|t)},19:function(n,t,r){return~(n&r|t)},20:function(n,t,r){return~(~(n^t)|r)},21:function(n,t,r){return~(n&t|r)},22:function(n,t,r){return~(n&t)&r^t^n},23:function(n,t,r){return~((t^r)&(t^n)^t)},24:function(n,t,r){return(t^n)&(n^r)},25:function(n,t,r){return~(~(n&t)&r^t)},26:function(n,t,r){return(n&t|r)^n},27:function(n,t,r){return~((n^t)&r^t)},28:function(n,t,r){return(n&r|t)^n},29:function(n,t,r){return~((n^r)&t^r)},30:function(n,t,r){return(r|t)^n},31:function(n,t,r){return~((t|r)&n)},32:function(n,t,r){return~t&n&r},33:function(n,t,r){return~(n^r|t)},35:function(n,t,r){return~(~r&n|t)},36:function(n,t,r){return(t^n)&(r^t)},37:function(n,t,r){return~(~(t&n)&r^n)},38:function(n,t,r){return(t&n|r)^t},39:function(n,t,r){return(~(t^n)|r)^t},40:function(n,t,r){return(n^t)&r},41:function(n,t,r){return~((t&n|r)^t^n)},42:function(n,t,r){return~(t&n)&r},43:function(n,t,r){return~((n^r)&(t^n)^t)},44:function(n,t,r){return(t|r)&n^t},45:function(n,t,r){return(~r|t)^n},46:function(n,t,r){return(n^r|t)^n},47:function(n,t,r){return~((~r|t)&n)},49:function(n,t,r){return~(~n&r|t)},50:function(n,t,r){return(t|n|r)^t},52:function(n,t,r){return(t&r|n)^t},53:function(n,t,r){return(~(t^r)|n)^t},54:function(n,t,r){return(n|r)^t},55:function(n,t,r){return~((n|r)&t)},56:function(n,t,r){return(n|r)&t^n},57:function(n,t,r){return(~r|n)^t},58:function(n,t,r){return(t^r|n)^t},59:function(n,t,r){return~((~r|n)&t)},61:function(n,t,r){return(~(t|r)|n)^t},62:function(n,t,r){return(~t&r|n)^t},64:function(n,t,r){return~r&t&n},65:function(n,t,r){return~(t^n|r)},66:function(n,t,r){return(t^r)&(n^r)},67:function(n,t,r){return~(~(t&r)&n^t)},69:function(n,t,r){return~(~t&n|r)},70:function(n,t,r){return(r&n|t)^r},71:function(n,t,r){return~((n^r)&t^n)},72:function(n,t,r){return(n^r)&t},73:function(n,t,r){return~((r&n|t)^r^n)},74:function(n,t,r){return(r|t)&n^r},75:function(n,t,r){return(~t|r)^n},76:function(n,t,r){return~(n&r)&t},77:function(n,t,r){return~((t^r|t^n)^t)},78:function(n,t,r){return(n^t|r)^n},79:function(n,t,r){return~((~t|r)&n)},81:function(n,t,r){return~(~n&t|r)},82:function(n,t,r){return(r&t|n)^r},83:function(n,t,r){return~((t^r)&n^t)},84:function(n,t,r){return~(~(t|n)|r)},86:function(n,t,r){return(t|n)^r},87:function(n,t,r){return~((t|n)&r)},88:function(n,t,r){return(n|t)&r^n},89:function(n,t,r){return(~t|n)^r},91:function(n,t,r){return(~(r|t)|n)^r},92:function(n,t,r){return(r^t|n)^r},93:function(n,t,r){return~((~t|n)&r)},94:function(n,t,r){return(~r&t|n)^r},96:function(n,t,r){return(t^r)&n},97:function(n,t,r){return~((t&r|n)^t^r)},98:function(n,t,r){return(r|n)&t^r},99:function(n,t,r){return(~n|r)^t},100:function(n,t,r){return(t|n)&r^t},101:function(n,t,r){return(~n|t)^r},103:function(n,t,r){return(~(t|n)|r)^t},104:function(n,t,r){return~((~(t|r)|n)^t^r)},105:function(n,t,r){return~(t^r^n)},106:function(n,t,r){return t&n^r},107:function(n,t,r){return~((t|n)&r^t^n)},108:function(n,t,r){return n&r^t},109:function(n,t,r){return~((r|n)&t^r^n)},110:function(n,t,r){return(~t|n)&r^t},111:function(n,t,r){return~(~(t^r)&n)},112:function(n,t,r){return~(t&r)&n},113:function(n,t,r){return~((r^n)&(t^r)^t)},114:function(n,t,r){return(t^n|r)^t},115:function(n,t,r){return~((~n|r)&t)},116:function(n,t,r){return(r^n|t)^r},117:function(n,t,r){return~((~n|t)&r)},118:function(n,t,r){return(~t&n|r)^t},120:function(n,t,r){return t&r^n},121:function(n,t,r){return~((t|r)&n^t^r)},122:function(n,t,r){return(~r|t)&n^r},123:function(n,t,r){return~(~(n^r)&t)},124:function(n,t,r){return(~t|r)&n^t},125:function(n,t,r){return~(~(t^n)&r)},126:function(n,t,r){return t^r|n^t},127:function(n,t,r){return~(t&n&r)},128:function(n,t,r){return t&n&r},129:function(n,t,r){return~(t^r|n^t)},130:function(n,t,r){return~(t^n)&r},131:function(n,t,r){return~((~t|r)&n^t)},132:function(n,t,r){return~(n^r)&t},133:function(n,t,r){return~((~n|t)&r^n)},134:function(n,t,r){return(t|r)&n^t^r},135:function(n,t,r){return~(t&r^n)},137:function(n,t,r){return~((~t&n|r)^t)},138:function(n,t,r){return(~n|t)&r},139:function(n,t,r){return~((r^n|t)^r)},140:function(n,t,r){return(~n|r)&t},141:function(n,t,r){return~((t^n|r)^t)},142:function(n,t,r){return(r^n)&(r^t)^t},143:function(n,t,r){return~(~(t&r)&n)},144:function(n,t,r){return~(t^r)&n},145:function(n,t,r){return~((~t|n)&r^t)},146:function(n,t,r){return(n|r)&t^n^r},147:function(n,t,r){return~(r&n^t)},148:function(n,t,r){return(t|n)&r^t^n},149:function(n,t,r){return~(t&n^r)},150:function(n,t,r){return t^n^r},151:function(n,t,r){return(~(t|n)|r)^t^n},152:function(n,t,r){return~((~(t|n)|r)^t)},154:function(n,t,r){return~t&n^r},155:function(n,t,r){return~((t|n)&r^t)},156:function(n,t,r){return~r&n^t},157:function(n,t,r){return~((r|n)&t^r)},158:function(n,t,r){return(t&r|n)^t^r},159:function(n,t,r){return~((t^r)&n)},161:function(n,t,r){return~((~n&t|r)^n)},162:function(n,t,r){return(~t|n)&r},163:function(n,t,r){return~((r^t|n)^r)},164:function(n,t,r){return~((~(n|t)|r)^n)},166:function(n,t,r){return~n&t^r},167:function(n,t,r){return~((n|t)&r^n)},168:function(n,t,r){return(t|n)&r},169:function(n,t,r){return~((t|n)^r)},171:function(n,t,r){return~(t|n)|r},172:function(n,t,r){return(t^r)&n^t},173:function(n,t,r){return~((r&t|n)^r)},174:function(n,t,r){return~n&t|r},176:function(n,t,r){return(~t|r)&n},177:function(n,t,r){return~((n^t|r)^n)},178:function(n,t,r){return(t^r|n^t)^t},179:function(n,t,r){return~(~(n&r)&t)},180:function(n,t,r){return~r&t^n},181:function(n,t,r){return~((r|t)&n^r)},182:function(n,t,r){return(n&r|t)^n^r},183:function(n,t,r){return~((n^r)&t)},184:function(n,t,r){return(r^n)&t^n},185:function(n,t,r){return~((r&n|t)^r)},186:function(n,t,r){return~t&n|r},188:function(n,t,r){return~(t&r)&n^t},189:function(n,t,r){return~((r^n)&(r^t))},190:function(n,t,r){return t^n|r},191:function(n,t,r){return~(t&n)|r},193:function(n,t,r){return~((~t&r|n)^t)},194:function(n,t,r){return~((~(t|r)|n)^t)},196:function(n,t,r){return(~r|n)&t},197:function(n,t,r){return~((t^r|n)^t)},198:function(n,t,r){return~n&r^t},199:function(n,t,r){return~((n|r)&t^n)},200:function(n,t,r){return(n|r)&t},201:function(n,t,r){return~((r|n)^t)},202:function(n,t,r){return(r^t)&n^r},203:function(n,t,r){return~((t&r|n)^t)},205:function(n,t,r){return~(n|r)|t},206:function(n,t,r){return~n&r|t},208:function(n,t,r){return(~r|t)&n},209:function(n,t,r){return~((n^r|t)^n)},210:function(n,t,r){return~t&r^n},211:function(n,t,r){return~((t|r)&n^t)},212:function(n,t,r){return(r^n)&(n^t)^t},213:function(n,t,r){return~(~(t&n)&r)},214:function(n,t,r){return(t&n|r)^t^n},215:function(n,t,r){return~((t^n)&r)},216:function(n,t,r){return(n^t)&r^n},217:function(n,t,r){return~((t&n|r)^t)},218:function(n,t,r){return~(r&t)&n^r},219:function(n,t,r){return~((t^r)&(n^t))},220:function(n,t,r){return~r&n|t},222:function(n,t,r){return n^r|t},223:function(n,t,r){return~(n&r)|t},224:function(n,t,r){return(t|r)&n},225:function(n,t,r){return~((t|r)^n)},226:function(n,t,r){return(r^n)&t^r},227:function(n,t,r){return~((n&r|t)^n)},228:function(n,t,r){return(t^n)&r^t},229:function(n,t,r){return~((n&t|r)^n)},230:function(n,t,r){return~(t&n)&r^t},231:function(n,t,r){return~((r^n)&(n^t))},232:function(n,t,r){return(t^r)&(n^t)^t},233:function(n,t,r){return~(~(t&r)&n^t^r)},234:function(n,t,r){return t&n|r},235:function(n,t,r){return~(t^n)|r},236:function(n,t,r){return n&r|t},237:function(n,t,r){return~(n^r)|t},239:function(n,t,r){return~n|r|t},241:function(n,t,r){return~(t|r)|n},242:function(n,t,r){return~t&r|n},244:function(n,t,r){return~r&t|n},246:function(n,t,r){return t^r|n},247:function(n,t,r){return~(t&r)|n},248:function(n,t,r){return t&r|n},249:function(n,t,r){return~(t^r)|n},251:function(n,t,r){return~t|n|r},253:function(n,t,r){return~r|t|n},254:function(n,t,r){return t|n|r}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.GraphicDebug=$.spcExtend(wdi.DomainObject,{debugMode:null,spiceGraphicMessageTypes:[],cloneSpiceMessage:null,clientGui:null,tmpCanvas:null,tmpContext:null,originalCanvas:null,spiceMessageData:null,endCanvas:null,currentOperation:null,init:function(e){this.debugMode=e.debugMode,this.debugMode?(this._generateArray(),this._showDebug()):this._hideDebug()},_generateArray:function(){var e=this;$.each(wdi.SpiceVars,(function(a,t){-1!=a.search("SPICE_MSG_DISPLAY_")&&(e.spiceGraphicMessageTypes[t]=a)}))},_showDebug:function(){$("#canvasSpace").show(),$("#graphicDebug").show()},_hideDebug:function(){$("#canvasSpace").hide(),$("#graphicDebug").hide()},printDebugMessageOnFilter:function(e,a){if(e.channel===wdi.SpiceVars.SPICE_CHANNEL_DISPLAY&&this.debugMode&&$("#logActive").prop("checked")){var t=null;if(this.clientGui=a,this.cloneSpiceMessage=$.extend(!0,{},e),this.cloneSpiceMessage.args.base&&null!==this.cloneSpiceMessage.args.base.surface_id){t=this.cloneSpiceMessage.args.base.surface_id;var i=wdi.graphics.getBoxFromSrcArea(this.cloneSpiceMessage.args.base.box),s=$("<div/>").append(prettyPrint(this.cloneSpiceMessage)).hide();this.originalCanvas=this._copyCanvasFromSurfaceId(t),this.spiceMessageData=e.args.originalData,this.currentOperation=this.spiceGraphicMessageTypes[this.cloneSpiceMessage.messageType],$("#debugInfo").append($("<br/>")).append($("<hr/>")).append(this._copyAndHighlightCanvas(t,i)).append($("<br/>")).append($("<div/>").append(this.currentOperation+" (Click to hide/show)").css("cursor","pointer").css("color","blue").css("text-decoration","underline").click((function(){s.toggle()}))).append(s),this.cloneSpiceMessage.args.hasOwnProperty("image")&&this._printImage(s)}}},_printImage:function(e){wdi.graphics.getImageFromSpice(this.cloneSpiceMessage.args.image.imageDescriptor,this.cloneSpiceMessage.args.image.data,this.clientGui,(function(a){a&&e.append($("<div/>").css("font-size","12px").append("Image inside spiceMessage:").append($("<br/>")).css("border","1px solid black").append(a))}),this)},handleStreamInfo:function(){if(wdi.Stream.streams){$("#debug-stream").text("");for(let e in wdi.Stream.streams){const a=wdi.Stream.streams[e];a&&$("#debug-stream").append(`<p style="color: rgb(100, 255, 100)">Codec: ${a.codec} | Stream ID: ${a.id}</p>`)}}},printDebugMessageOnNotifyEnd:function(e,a){if(this.clientGui=a,e.channel===wdi.SpiceVars.SPICE_CHANNEL_DISPLAY&&this.debugMode&&$("#logActive").prop("checked")){var t=null;if(e.args.base&&null!==e.args.base.surface_id){var i=this;t=e.args.base.surface_id;var s=wdi.graphics.getBoxFromSrcArea(e.args.base.box),n=this._copyCanvasFromSurfaceId(t);$("#debugInfo").append($("<br/>")).append($("<div/>").append($("<button>Create test</button>").css("cursor","pointer").click((r=this.spiceMessageData,c=this.originalCanvas,o=n,p=this.currentOperation,function(){i.createImageTest(r,c,o,p)}))).append($("<button>Create replay window</button>").css("cursor","pointer").click(function(e,a,t,s){return function(){i.createReplay(e,a,t,s)}}(this.spiceMessageData,this.originalCanvas,n,this.currentOperation)))).append($("<br/>")).append(this._copyAndHighlightCanvas(t,s))}}var r,c,o,p},createImageTest:function(e,a,t,i){var s=prompt("Name of the test",i),n={origin:a.toDataURL("image/png"),expected:t.toDataURL("image/png"),object:e,name:s},r=JSON.stringify(n),c=s.replace(/\s/g,"_");$.post("graphictestgenerator.php","data="+r+"&name="+c).done((function(e,a,t){alert("Test created")})).fail((function(e,a,t){alert("Test creation failed.\n\nGot response: "+e.status+" "+e.statusText+"\n\n"+e.responseText)}))},createReplay:function(e,a){var t={origin:a.toDataURL("image/png"),object:e,width:a.width,height:a.height},i=JSON.stringify(t);$.post("graphictestgenerator.php","data="+i+"&replay=true").done((function(e,a,t){window.open("replay.html","replay")})).fail((function(e,a,t){alert("Replay failed.\n\nGot response: "+e.status+" "+e.statusText+"\n\n"+e.responseText)}))},_copyCanvasFromSurfaceId:function(e){var a=this.clientGui.getContext(e);this.tmpCanvas=a.canvas;var t=document.createElement("canvas");return t.width=this.tmpCanvas.width,t.height=this.tmpCanvas.height,t.getContext("2d").drawImage(this.tmpCanvas,0,0),t},_copyAndHighlightCanvas:function(e,a){var t=this._copyCanvasFromSurfaceId(e);return context=t.getContext("2d"),context.fillStyle="rgba(255,0,0,0.3)",context.fillRect(a.x,a.y,a.width,a.height),t}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.BMP2=$.spcExtend(wdi.SpiceObject,{objectSize:0,mapper:[0,1,1,4,4,8,16,24,32,32],init:function(t){var e,i,a,s,h=this.bytesToInt8(t),p=this.bytesToInt8(t),r=this.bytesToInt32(t),n=this.bytesToInt32(t),o=this.bytesToInt32(t),l=this.mapper[h],m=0;if(l<=8&&l>0){var d=[];if(1&p){this.bytesToInt32(t);e=t.length;var g,I=4*Math.pow(2,l)+8+2;for(e-=I,s=t.splice(e,I),a=this.bytesToInt64(s),m=this.bytesToInt16(s),i=0;i<4*m;i+=4)(g=new wdi.Queue).setData(s.slice(i,i+4)),d.push((new wdi.SpiceColor).demarshall(g));wdi.ImageCache.addPalette(a,d)}else{var f;for(a=this.bytesToInt64(t),e=t.length,s=[],m=(d=wdi.ImageCache.getPalette(a)).length,i=0;i<m;i++)(f=d[i].marshall()).push(0),s=s.concat(f)}}else this.bytesToInt32(t);this.setContent({imageSize:e,width:r,height:n,bpp:l,imageData:t,paletteSize:4*m,palette:d,stride:o,type:h})},setContent:function(t){this.imageSize=t.imageSize,this.width=t.width,this.height=t.height,this.bpp=t.bpp,this.imageData=t.imageData,this.palette=t.palette,this.offset=t.paletteSize+54,this.size=this.offset+this.imageSize,this.stride=t.stride,this.type=9},marshall:function(t){var e,i,a,s,h,p,r=this.type,n=this.palette,o=this.width,l=this.height,m=this.stride,d=this.imageData,g=d.length,I=8*m/this.bpp,f=new ArrayBuffer(4*I*l),w=new Uint8ClampedArray(f),T=new Uint32Array(f),b=!1;if(n){if(s=0,r===wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_1BIT_BE){var c=(h=n[1]).r<<24|h.g<<16|h.b<<8|255,B=(h=n[0]).r<<24|h.g<<16|h.b<<8|255,S=[1,2,4,8,16,32,64,128];for(a=0;a<g;a++)for(e=d[a],i=7;i>=0;i--)T[s++]=e&S[i]?c:B}else if(r===wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_4BIT_BE)for(a=0;a<g;a++)h=n[(e=d[a])>>>4],T[s++]=h.r<<24|h.g<<16|h.b<<8|255,h=n[15&e],T[s++]=h.r<<24|h.g<<16|h.b<<8|255}else{if(r===wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_32BIT)for(a=0;a<g;a+=4)p=d[a],d[a]=d[a+2],d[a+2]=p,d[a+3]=255;else if(r===wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_RGBA)for(b=!0,a=0;a<g;a+=4)p=d[a],d[a]=d[a+2],d[a+2]=p;else if(r===wdi.SpiceBitmapFmt.SPICE_BITMAP_FMT_24BIT)for(a=0;a<g;a+=3)p=d[a],d[a]=d[a+2],d[a+2]=p;w=new Uint8ClampedArray(d)}var y=new ImageData(w,I,l),_=wdi.graphics.getNewTmpCanvas(o,l);return _.getContext("2d").putImageData(y,0,0,0,0,o,l),y=_,b||(y=wdi.RasterOperation.flip(y)),y}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function golomb_code_len(e,n){return e<wdi.nGRcodewords[n]?1+(e>>>n)+n:wdi.notGRcwlen[n]}function golomb_decoding(e,n,o){var t,d;if(n>wdi.notGRprefixmask[e]){var _=cnt_l_zeroes(n);d=_<<e>>>0|n>>>32-(t=_+1+e)&o[e]}else t=wdi.notGRcwlen[e],d=wdi.nGRcodewords[e]+(n>>>32-t&o[wdi.notGRsuffixlen[e]]);return[d,t]}function real_update_model(e,n,o,t){var d,_,r,c,l=n.pcounters;for(r=l[_=t-1]+=golomb_code_len(o,_),d=t-2;d>=0;d--)(c=l[d]+=golomb_code_len(o,d))<r&&(_=d,r=c);if(n.bestcode=_,r>e.wm_trigger)for(d=0;d<t;d++)l[d]>>>=1}function UPDATE_MODEL(e,n,o,t,d,_){real_update_model(n.rgb_state,find_bucket(n.channels[0],t[e-1]),t[e],o),real_update_model(n.rgb_state,find_bucket(n.channels[1],d[e-1]),d[e],o),real_update_model(n.rgb_state,find_bucket(n.channels[2],_[e-1]),_[e],o)}function find_bucket(e,n){return void 0===n&&(n=e.oldFirst),e._buckets_ptrs[n]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function QUIC_UNCOMPRESS_RGBA(t,e,i,a){quic_uncompress_row0(t,e,i,a),quic_four_uncompress_row0(t,t.channels[3],i,a),t.row_completed();for(var _=t.height,o=t.rgb_state,r=1;r<_;r++)quic_uncompress_row(t,e,i,a,o),quic_four_uncompress_row(t,t.channels[3],i,a),t.row_completed()}function quic_four_uncompress_row(t,e,i,a){for(var _=wdi.JSQuic.BPC_MASK[a],o=0,r=t.width;wdi.JSQuic.wmimax>e.state.wmidx&&e.state.wmileft<=r;)e.state.wmileft&&(uncompress_four_row_seg(t,e,o,o+e.state.wmileft,i,_,a),o+=e.state.wmileft,r-=e.state.wmileft),e.state.wmidx++,wdi.JSQuic.set_wm_trigger(e.state),e.state.wmileft=wdi.JSQuic.wminext;r&&(uncompress_four_row_seg(t,e,o,o+r,i,_,a),wdi.JSQuic.wmimax>e.state.wmidx&&(e.state.wmileft-=r))}function uncompress_four_row_seg(t,e,i,a,_,o,r){var c,s,w,d,n=e.correlate_row,u=0,l=wdi.JSQuic.bppmask[e.state.wmidx],m=0,f=0,p=!1,S=t.computedWidth,b=t.rows_completed,E=(t.rows_completed-1)*S,A=t.eatbits,P=t.appendAlpha,g=wdi.JSQuic.bppmask;for(i?(u=i+e.state.waitcnt,s=t.result[t.alphaPos-4]):(s=UNCOMPRESS_ONE_0_A(e,t,o,E),e.state.waitcnt?--e.state.waitcnt:(e.state.waitcnt=wdi.JSQuic.tabrand(e.state)&l,real_update_model(e.state,find_bucket(e,n[-1]),n[0],_)),u=++i+e.state.waitcnt);;){for(;u<a;){for(;i<=u&&!(p=RLE_PRED_A(i,t,m,S,b));i++)c=(w=golomb_decoding(find_bucket(e,n[i-1]).bestcode,t.io_word,g))[0],d=w[1],n[i]=c,s=(wdi.xlatL2U[c]+(s+PIXEL_B(e,t,i,E)>>>1)&o)>>>0,P.call(t,s),A.call(t,d);if(p)break;real_update_model(e.state,find_bucket(e,n[u-1]),n[u],_),u=i+(wdi.JSQuic.tabrand(e.state)&l)}if(!p){for(;i<a&&!(p=RLE_PRED_A(i,t,m,S,b));i++)c=(w=golomb_decoding(find_bucket(e,n[i-1]).bestcode,t.io_word,g))[0],d=w[1],n[i]=c,s=(wdi.xlatL2U[c]+(s+PIXEL_B(e,t,i,E)>>>1)&o)>>>0,P.call(t,s),A.call(t,d);if(!p)return void(e.state.waitcnt=u-a)}e.state.waitcnt=u-i,m=i,f=i+wdi.JSQuic.decode_channel_run(t,e);for(var O=t.rows_completed*(4*t.width)+4*i,Q=t.result[O-1];i<f;i++)P.call(t,Q);if(i===a)return;u=i+e.state.waitcnt,p=!1}}function quic_four_uncompress_row0(t,e,i,a){for(var _=wdi.JSQuic.BPC_MASK[a],o=0,r=t.width;wdi.JSQuic.wmimax>e.state.wmidx&&e.state.wmileft<=r;)e.state.wmileft&&(uncompress_four_row0_seg(t,e,o,o+e.wmileft,wdi.JSQuic.bppmask[e.state.wmidx],i,_,a),o+=e.state.wmileft,r-=e.state.wmileft),e.state.wmidx++,wdi.JSQuic.set_wm_trigger(e.state),e.state.wmileft=wdi.JSQuic.wminext;r&&(uncompress_four_row0_seg(t,e,o,o+r,wdi.JSQuic.bppmask[e.state.wmidx],i,_,a),wdi.JSQuic.wmimax>e.state.wmidx&&(e.state.wmileft-=r))}function uncompress_four_row0_seg(t,e,i,a,_,o,r,c){var s=e.correlate_row,w=0;for(i?w=i+e.state.waitcnt:(UNCOMPRESS_ONE_ROW0_0_A(e),e.state.waitcnt?--e.state.waitcnt:(e.state.waitcnt=wdi.JSQuic.tabrand(e.state)&_,real_update_model(e.state,find_bucket(e,s[-1]),s[0],o)),w=++i+e.state.waitcnt);w<a;){for(;i<=w;i++)UNCOMPRESS_ONE_ROW0_A(e,i,r,t,s);real_update_model(e.state,find_bucket(e,s[w-1]),s[w],o),w=i+(wdi.JSQuic.tabrand(e.state)&_)}for(;i<a;i++)UNCOMPRESS_ONE_ROW0_A(e,i,r,t,s);e.state.waitcnt=w-a}function SAME_PIXEL_A(t,e){return e[t-1]===e[t+3]}function RLE_PRED_A(t,e,i,a,_){var o=(_-1)*a+4*t;return!!(i!==t&&t>2&&SAME_PIXEL_A(o,e.result)&&SAME_PIXEL_A(o=_*a+4*(t-1),e.result))}function UNCOMPRESS_ONE_0_A(t,e,i,a){var _,o;t.oldFirst=t.correlate_row[0],_=golomb_decoding(find_bucket(t,t.correlate_row[-1]).bestcode,e.io_word,wdi.JSQuic.bppmask),t.correlate_row[0]=_[0],o=_[1];var r=(wdi.xlatL2U[t.correlate_row[0]]+PIXEL_B(t,e,0,a)&i)>>>0;return e.appendAlpha(r),e.eatbits(o),r}function UNCOMPRESS_ONE_A(t,e,i,a,_,o){var r,c,s=(r=golomb_decoding(find_bucket(t,_[e-1]).bestcode,a.io_word,wdi.JSQuic.bppmask))[0];c=r[1],_[e]=s,a.appendAlpha((wdi.xlatL2U[s]+(PIXEL_A_A(a)+PIXEL_B(t,a,e,o)>>>1)&i)>>>0),a.eatbits(c)}function UNCOMPRESS_ONE_ROW0_0_A(t){var e,i,a=t.encoder;e=golomb_decoding(find_bucket(t,0).bestcode,a.io_word,wdi.JSQuic.bppmask),t.correlate_row[0]=e[0],i=e[1],a.appendAlpha(wdi.xlatL2U[t.correlate_row[0]]),a.eatbits(i)}function UNCOMPRESS_ONE_ROW0_A(t,e,i,a,_){var o,r,c=(o=golomb_decoding(find_bucket(t,_[e-1]).bestcode,a.io_word,wdi.JSQuic.bppmask))[0];r=o[1],_[e]=c,a.appendAlpha(CORELATE_0_A(a,t,e,i,_)),a.eatbits(r)}function CORELATE_0_A(t,e,i,a,_){return(wdi.xlatL2U[_[i]]+PIXEL_A_A(t)&a)>>>0}function PIXEL_A_A(t){return t.result[t.alphaPos-4]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function QUIC_UNCOMPRESS_RGB(t,e,r,i){quic_uncompress_row0(t,e,r,i),t.row_completed();for(var _=t.rgb_state,o=t.height,c=1;c<o;c++)quic_uncompress_row(t,e,r,i,_),t.row_completed()}function quic_uncompress_row(t,e,r,i,_){for(var o=wdi.JSQuic.BPC_MASK[i],c=0,a=t.width;wdi.JSQuic.wmimax>_.wmidx&&_.wmileft<=a;)_.wmileft&&(uncompress_row_seg(t,c,c+_.wmileft,r,o,i,_),c+=_.wmileft,a-=_.wmileft),_.wmidx++,wdi.JSQuic.set_wm_trigger(_),_.wmileft=wdi.JSQuic.wminext;a&&(uncompress_row_seg(t,c,c+a,r,o,i,_),wdi.JSQuic.wmimax>t.rgb_state.wmidx&&(_.wmileft-=a))}function SAME_PIXEL(t,e){return e[t-4]===e[t]&&e[t-3]===e[t+1]&&e[t-2]===e[t+2]}function RLE_PRED(t,e,r,i,_){if(_!==t&&t>2&&(SAME_PIXEL(r,e.result)&&SAME_PIXEL(i+4*(t-1),e.result)))return!0;return!1}function uncompress_row_seg(t,e,r,i,_,o,c){var a,n,w,d,s,u,l,m,b,S,E=t.channels[0],g=t.channels[1],O=t.channels[2],f=E._buckets_ptrs,p=g._buckets_ptrs,R=O._buckets_ptrs,P=E.correlate_row,N=g.correlate_row,M=O.correlate_row,Q=0,U=wdi.JSQuic.bppmask[c.wmidx],x=0,C=0,J=!1,L=t.computedWidth,k=(t.rows_completed-1)*L,v=t.rows_completed*L,h=t.result,A=t.resultData,D=wdi.xlatL2U,W=t.eatbits,I=wdi.JSQuic.tabrand,T=wdi.JSQuic.decode_run,X=t.cnt,q=t.pxCnt,B=wdi.JSQuic.bppmask;for(e?(Q=e+c.waitcnt,w=h[X-4],d=h[X-3],s=h[X-2],u=P[e-1],l=N[e-1],m=M[e-1]):(w=UNCOMPRESS_ONE_0(E,t,_,k),d=UNCOMPRESS_ONE_0(g,t,_,k),s=UNCOMPRESS_ONE_0(O,t,_,k),u=P[0],l=N[0],m=M[0],A[q++]=255<<24|s<<16|d<<8|w,X+=4,c.waitcnt?--c.waitcnt:(c.waitcnt=I.call(wdi.JSQuic,c)&U,UPDATE_MODEL(0,t,i,P,N,M)),Q=++e+c.waitcnt);;){for(;Q<r;){for(n=k+4*e;e<=Q&&!(J=RLE_PRED(e,t,n,v,x));e++)a=e-1,u=(b=golomb_decoding(f[u].bestcode,t.io_word,B))[0],S=b[1],P[e]=u,w=D[u]+(w+h[n]>>>1)&_,W.call(t,S),l=(b=golomb_decoding(p[l].bestcode,t.io_word,B))[0],S=b[1],N[e]=l,d=D[l]+(d+h[n+1]>>>1)&_,W.call(t,S),m=(b=golomb_decoding(R[m].bestcode,t.io_word,B))[0],S=b[1],M[e]=m,s=D[m]+(s+h[n+2]>>>1)&_,W.call(t,S),A[q++]=255<<24|s<<16|d<<8|w,X+=4,n+=4;if(J)break;UPDATE_MODEL(Q,t,i,P,N,M),Q=e+(I.call(wdi.JSQuic,c)&U)}if(!J){for(n=k+4*e;e<r&&!(J=RLE_PRED(e,t,n,v,x));e++)a=e-1,u=(b=golomb_decoding(f[u].bestcode,t.io_word,B))[0],S=b[1],P[e]=u,w=D[u]+(w+h[n]>>>1)&_,W.call(t,S),l=(b=golomb_decoding(p[l].bestcode,t.io_word,B))[0],S=b[1],N[e]=l,d=D[l]+(d+h[n+1]>>>1)&_,W.call(t,S),m=(b=golomb_decoding(R[m].bestcode,t.io_word,B))[0],S=b[1],M[e]=m,s=D[m]+(s+h[n+2]>>>1)&_,W.call(t,S),A[q++]=255<<24|s<<16|d<<8|w,X+=4,n+=4;if(!J)return c.waitcnt=Q-r,t.cnt=X,void(t.pxCnt=q)}for(c.waitcnt=Q-e,x=e,C=e+T.call(wdi.JSQuic,t);e<C;e++)A[q++]=255<<24|s<<16|d<<8|w,X+=4;if(e===r)return t.cnt=X,void(t.pxCnt=q);u=P[a=e-1],l=N[a],m=M[a],Q=e+c.waitcnt,J=!1}}function quic_uncompress_row0(t,e,r,i){for(var _=wdi.JSQuic.BPC_MASK[i],o=0,c=t.width;wdi.JSQuic.wmimax>t.rgb_state.wmidx&&t.rgb_state.wmileft<=c;)t.rgb_state.wmileft&&(uncompress_row0_seg(t,o,o+t.rgb_state.wmileft,wdi.JSQuic.bppmask[t.rgb_state.wmidx],r,_,i),o+=t.rgb_state.wmileft,c-=t.rgb_state.wmileft),t.rgb_state.wmidx++,wdi.JSQuic.set_wm_trigger(t.rgb_state),t.rgb_state.wmileft=wdi.JSQuic.wminext;c&&(uncompress_row0_seg(t,o,o+c,wdi.JSQuic.bppmask[t.rgb_state.wmidx],r,_,i),wdi.JSQuic.wmimax>t.rgb_state.wmidx&&(t.rgb_state.wmileft-=c))}function uncompress_row0_seg(t,e,r,i,_,o,c){var a,n,w,d=t.channels[0],s=t.channels[1],u=t.channels[2],l=d.correlate_row,m=s.correlate_row,b=u.correlate_row,S=0;for(e?S=e+t.rgb_state.waitcnt:(a=UNCOMPRESS_ONE_ROW0_0(d),n=UNCOMPRESS_ONE_ROW0_0(s),w=UNCOMPRESS_ONE_ROW0_0(u),t.appendPixel(a,n,w),t.rgb_state.waitcnt?--t.rgb_state.waitcnt:(t.rgb_state.waitcnt=wdi.JSQuic.tabrand(t.rgb_state)&i,UPDATE_MODEL(0,t,_,l,m,b)),S=++e+t.rgb_state.waitcnt);S<r;){for(;e<=S;e++)a=UNCOMPRESS_ONE_ROW0(d,e,o,t,l,a),n=UNCOMPRESS_ONE_ROW0(s,e,o,t,m,n),w=UNCOMPRESS_ONE_ROW0(u,e,o,t,b,w),t.appendPixel(a,n,w);UPDATE_MODEL(S,t,_,l,m,b),S=e+(wdi.JSQuic.tabrand(t.rgb_state)&i)}for(;e<r;e++)a=UNCOMPRESS_ONE_ROW0(d,e,o,t,l,a),n=UNCOMPRESS_ONE_ROW0(s,e,o,t,m,n),w=UNCOMPRESS_ONE_ROW0(u,e,o,t,b,w),t.appendPixel(a,n,w);t.rgb_state.waitcnt=S-r}function UNCOMPRESS_ONE_0(t,e,r,i){var _,o;t.oldFirst=t.correlate_row[0],_=golomb_decoding(find_bucket(t,t.correlate_row[0]).bestcode,e.io_word,wdi.JSQuic.bppmask),t.correlate_row[0]=_[0],o=_[1];var c=wdi.xlatL2U[t.correlate_row[0]]+e.result[i+t.num_channel]&r;return e.eatbits(o),c}function UNCOMPRESS_ONE(t,e,r,i,_,o,c,a,n,w,d,s,u){var l,m=(b=golomb_decoding(s[c[r]].bestcode,o.io_word,wdi.JSQuic.bppmask))[0];l=b[1],c[e]=m;var b=d[m]+(u+n[a+i+w]>>>1)&_;return o.eatbits(l),b}function UNCOMPRESS_ONE_ROW0_0(t){var e,r=t.encoder;i=golomb_decoding(find_bucket(t,0).bestcode,r.io_word,wdi.JSQuic.bppmask),t.correlate_row[0]=i[0],e=i[1];var i=wdi.xlatL2U[t.correlate_row[0]];return r.eatbits(e),i}function UNCOMPRESS_ONE_ROW0(t,e,r,i,_,o){var c;a=golomb_decoding(find_bucket(t,_[e-1]).bestcode,i.io_word,wdi.JSQuic.bppmask),_[e]=a[0],c=a[1];var a=CORELATE_0(i,t,e,r,_,o);return i.eatbits(c),a}function CORELATE_0(t,e,r,i,_,o){return wdi.xlatL2U[_[r]]+o&i}function PIXEL_A(t){return t.result[t.cnt-4]}function PIXEL_B(t,e,r,i){return e.result[i+4*r+t.num_channel]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
wdi.LZSS={LZ_IMAGE_TYPE_INVALID:0,LZ_IMAGE_TYPE_PLT1_LE:1,LZ_IMAGE_TYPE_PLT1_BE:2,LZ_IMAGE_TYPE_PLT4_LE:3,LZ_IMAGE_TYPE_PLT4_BE:4,LZ_IMAGE_TYPE_PLT8:5,LZ_IMAGE_TYPE_RGB16:6,LZ_IMAGE_TYPE_RGB24:7,LZ_IMAGE_TYPE_RGB32:8,LZ_IMAGE_TYPE_RGBA:9,LZ_IMAGE_TYPE_XXXA:10,LZPALETTE_FLAG_PAL_CACHE_ME:1,LZPALETTE_FLAG_PAL_FROM_CACHE:2,LZPALETTE_FLAG_TOP_DOWN:4,PLT_PIXELS_PER_BYTE:[0,8,8,2,2,1],PLT1_MASK:[1,2,4,8,16,32,64,128],copy_pixel:function(e,i,_){_[e+0]=i.r,_[e+1]=i.g,_[e+2]=i.b},lz_rgb32_decompress_rgb:function(e){var i,_=0,t=0,s=new Uint8Array(e),p=(s[_++],s[_++]),E=s[_++],c=s[++_+1]*Math.pow(16,2)+s[_],o=s[(_+=2)+1]*Math.pow(16,2)+s[_];_+=2;var T,r,l=o*Math.pow(16,4)+c,L=new ArrayBuffer(l),P=new Uint8Array(L),a=new Uint32Array(L),h=l/4;for(i=s[_++];t<h;i=s[_++])if(A=t,l=i>>5,I=(31&i)<<8,i>31){if(6===--l)do{l+=b=s[_++]}while(255===b);if(I+=b=s[_++],255===b&&I-b==7936&&(I=s[_++]<<8,I+=s[_++],I+=8191),l+=1,(A-=I+=1)===t-1)for(r=4*(f=A);l;--l)a[t]=255<<24|P[r+2]<<16|P[r+1]<<8|P[r],t++;else for(;l;--l)T=4*A,a[t]=255<<24|P[T+2]<<16|P[T+1]<<8|P[T],t++,A++}else for(i++,a[t]=255<<24|s[_]<<16|s[_+1]<<8|s[_+2],_+=3,t++,--i;i;i--)a[t]=255<<24|s[_]<<16|s[_+1]<<8|s[_+2],_+=3,t++;if(E===this.LZ_IMAGE_TYPE_RGBA&&!p)for(t=0,i=null,_--,i=s[_++];t<h;i=s[_++]){var A=t,I=(l=i>>5,(31&i)<<8),n=4*t;if(i>=32){var b;if(6===--l)do{l+=b=s[_++]}while(255===b);if(I+=b=s[_++],255===b&&I-b==7936&&(I=s[_++]<<8,I+=s[_++],I+=8191),l+=3,(A-=I+=1)===t-1)for(var f=A;l;--l)P[(n=4*t)+3]=P[4*f+3],t++;else for(;l;--l)P[(n=4*t)+3]=P[4*A+3],t++,A++}else for(i++,P[n+3]=s[_++],t++,--i;i;i--)P[(n=4*t)+3]=s[_++],t++}return L},lz_rgb32_decompress:function(e,i,_,t,s,p,E){var c,o=i,T=0,r=_.length/4,l=t===this.LZ_IMAGE_TYPE_RGBA;for(c=e[o++];T<r;c=e[o++]){var L=T,P=c>>5,a=(31&c)<<8,h=4*T;if(c>=32){var A;if(6===--P)do{P+=A=e[o++]}while(255===A);if(a+=A=e[o++],255===A&&a-A==7936&&(a=e[o++]<<8,a+=e[o++],a+=8191),P+=1,(l||p)&&(P+=2),a+=1,t===this.LZ_IMAGE_TYPE_PLT4_LE||t===this.LZ_IMAGE_TYPE_PLT4_BE?(a*=2,P*=2):t!==this.LZ_IMAGE_TYPE_PLT1_BE&&t!==this.LZ_IMAGE_TYPE_PLT1_LE||(a*=8,P*=8),(L-=a)===T-1)for(var I=L;P;--P){if(h=4*T,l)_[h+3]=E?255:_[4*I+3];else for(var n=0;n<4;n++)_[h+n]=_[4*I+n];T++}else for(;P;--P){if(h=4*T,l)_[h+3]=E?255:_[4*L+3];else for(n=0;n<4;n++)_[h+n]=_[4*L+n];T++,L++}}else{if(c++,l)E?(_[h+3]=255,o++):_[h+3]=e[o++];else if(p){if(t===this.LZ_IMAGE_TYPE_PLT1_LE){var b=e[o++],f=p[1],d=p[0];for(n=0;n<8;n++)b&this.PLT1_MASK[n]?this.copy_pixel(h,f,_):this.copy_pixel(h,d,_),s&&(_[h+3]=255),n<7&&T++,h=4*T}else if(t===this.LZ_IMAGE_TYPE_PLT1_BE)for(b=e[o++],f=p[1],d=p[0],n=7;n>=0;n--)b&this.PLT1_MASK[n]?this.copy_pixel(h,f,_):this.copy_pixel(h,d,_),s&&(_[h+3]=255),n>0&&T++,h=4*T;else if(t===this.LZ_IMAGE_TYPE_PLT4_LE){var w=p[15&(b=e[o++])];this.copy_pixel(h,w,_),s&&(_[h+3]=255),h=4*++T;w=p[b>>>4&15];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}else if(t===this.LZ_IMAGE_TYPE_PLT4_BE){var y=15&(b=e[o++]);w=p[b>>>4&15];this.copy_pixel(h,w,_),s&&(_[h+3]=255),h=4*++T;w=p[y];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}else if(t===this.LZ_IMAGE_TYPE_PLT8){w=p[e[o++]];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}}else _[h+0]=e[o+2],_[h+1]=e[o+1],_[h+2]=e[o+0],s&&(_[h+3]=255),o+=3;for(T++,--c;c;c--){if(h=4*T,l)_[h+3]=E?255:e[o++];else if(p){if(t===this.LZ_IMAGE_TYPE_PLT1_LE)for(b=e[o++],f=p[1],d=p[0],n=0;n<8;n++)b&this.PLT1_MASK[n]?this.copy_pixel(h,f,_):this.copy_pixel(h,d,_),s&&(_[h+3]=255),n<7&&T++,h=4*T;else if(t===this.LZ_IMAGE_TYPE_PLT1_BE)for(b=e[o++],f=p[1],d=p[0],n=7;n>=0;n--)b&this.PLT1_MASK[n]?this.copy_pixel(h,f,_):this.copy_pixel(h,d,_),s&&(_[h+3]=255),n>0&&T++,h=4*T;else if(t===this.LZ_IMAGE_TYPE_PLT4_LE){w=p[15&(b=e[o++])];this.copy_pixel(h,w,_),s&&(_[h+3]=255),h=4*++T;w=p[b>>>4&15];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}else if(t===this.LZ_IMAGE_TYPE_PLT4_BE){w=p[(b=e[o++])>>>4&15];this.copy_pixel(h,w,_),s&&(_[h+3]=255),h=4*++T;w=p[15&b];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}else if(t===this.LZ_IMAGE_TYPE_PLT8){w=p[e[o++]];this.copy_pixel(h,w,_),s&&(_[h+3]=255)}}else _[h+0]=e[o+2],_[h+1]=e[o+1],_[h+2]=e[o+0],s&&(_[h+3]=255),o+=3;T++}}}return o-1},convert_spice_lz_to_web:function(e,i,_,t){var s=_.type;if(i=i.toJSArray(),s===wdi.SpiceImageType.SPICE_IMAGE_TYPE_LZ_PLT){var p=wdi.SpiceObject.bytesToInt8(i.splice(0,1));if(p===this.LZPALETTE_FLAG_PAL_FROM_CACHE){var E=i.splice(0,12),c=(wdi.SpiceObject.bytesToInt32(E.splice(0,4)),wdi.SpiceObject.bytesToInt64(E.splice(0,8)));E=i;wdi.SpiceObject.bytesToStringBE(E.splice(0,4)),wdi.SpiceObject.bytesToInt32BE(E.splice(0,4));var o=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),T=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),r=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),l=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),L=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4))}else if(p===this.LZPALETTE_FLAG_PAL_CACHE_ME){for(var P=_.offset+1,a=(E=i.splice(0,36),wdi.SpiceObject.bytesToInt32(E.splice(0,4)),wdi.SpiceObject.bytesToInt32(E.splice(0,4))-P-36),h=(wdi.SpiceObject.bytesToStringBE(E.splice(0,4)),wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),o=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),T=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),r=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),l=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),L=wdi.SpiceObject.bytesToInt32BE(E.splice(0,4)),c=wdi.SpiceObject.bytesToInt64(i.splice(a,8)),wdi.SpiceObject.bytesToInt16(i.splice(a,2))),A=[],I=0;I<h;I++){var n=new wdi.Queue;n.setData(i.splice(a,4)),A.push((new wdi.SpiceColor).demarshall(n))}wdi.ImageCache.addPalette(c,A)}else wdi.Debug.error("Unimplemented lz palette top down");A=wdi.ImageCache.getPalette(c)}if(o!==this.LZ_IMAGE_TYPE_RGB32&&o!==this.LZ_IMAGE_TYPE_RGBA&&o!==this.LZ_IMAGE_TYPE_RGB24&&o!==this.LZ_IMAGE_TYPE_PLT8&&o!==this.LZ_IMAGE_TYPE_PLT1_LE&&o!==this.LZ_IMAGE_TYPE_PLT1_BE&&o!==this.LZ_IMAGE_TYPE_PLT4_LE&&o!==this.LZ_IMAGE_TYPE_PLT4_BE)return!1;if(A){var b=e.createImageData(l*this.PLT_PIXELS_PER_BYTE[o],r);this.lz_rgb32_decompress(i,0,b.data,o,o!==this.LZ_IMAGE_TYPE_RGBA,A);var f=wdi.graphics.getNewTmpCanvas(T,r);f.getContext("2d").putImageData(b,0,0,0,0,T,r),b=f}else{var d=new ArrayBuffer(i.length+8),w=new Uint8Array(d);w[0]=1,w[1]=t,w[2]=o,w[3]=0;var y=b.data.length;for(I=0;I<4;I++)w[4+I]=255&y,y>>=8;w.set(i,8);var G=new Uint8ClampedArray(this.lz_rgb32_decompress_rgb(d));b=new ImageData(G,T,r),b=wdi.graphics.getImageFromData(b)}return L||(b=wdi.RasterOperation.flip(b)),b},demarshall_rgb:function(e){var i=e.splice(0,32);return{length:wdi.SpiceObject.bytesToInt32(i.splice(0,4)),magic:wdi.SpiceObject.bytesToStringBE(i.splice(0,4)),version:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4)),type:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4)),width:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4)),height:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4)),stride:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4)),top_down:wdi.SpiceObject.bytesToInt32BE(i.splice(0,4))}},lz_rgb32_plt1_be_decompress:function(e,i,_){var t,s,p,E,c,o,T,r,l,L,P=0,a=0,h=i.length/4,A=this.LZ_IMAGE_TYPE_PLT1_BE,I=this.PLT_PIXELS_PER_BYTE[A];for(t=e[P++];a<h;t=e[P++])if(s=a,p=t>>5,E=(31&t)<<8,t>31){if(7===p)do{p+=c=e[P++]}while(255===c);if(8191===(E+=e[P++])&&(E+=e[P++]<<8+e[P++]),p=(p+2)*I,(s-=(E+1)*I)===a-1)for(o=4*s;0!=p--;)op_4=4*a,i[op_4]=i[o],i[op_4+1]=i[o+1],i[op_4+2]=i[o+2],i[op_4+3]=i[o+3],a++;else for(;0!=p--;)op_4=4*a,o=4*s,i[op_4]=i[o],i[op_4+1]=i[o+1],i[op_4+2]=i[o+2],i[op_4+3]=i[o+3],a++,s++}else for(;-1!=t--;)for(op_4=4*a,T=e[P++],r=_[1],l=_[0],L=7;L>=0;L--)op_4=4*a,T&this.PLT1_MASK[L]?(i[op_4+0]=r.r,i[op_4+1]=r.g,i[op_4+2]=r.b):(i[op_4+0]=l.r,i[op_4+1]=l.g,i[op_4+2]=l.b),i[op_4+3]=255,a++}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var rfc2083_crc_table=Array(256),rfc2083_crc_table_computed=0;function rfc2083_make_crc_table(){var t,e,i;for(e=0;e<256;e++){for(t=e,i=0;i<8;i++)1&t?t=(3988292384^t>>>1)>>>0&4294967295:t>>>=1;rfc2083_crc_table[e]=t}rfc2083_crc_table_computed=1}function rfc2083_update_crc(t,e,i,r){var n,s=t;for(rfc2083_crc_table_computed||rfc2083_make_crc_table(),n=0;n<r;n++)s=rfc2083_crc_table[255&(s^e[i+n])]^s>>>8;return s}function rfc2083_crc(t,e,i){return 4294967295^rfc2083_update_crc(4294967295,t,e,i)}function crc32(t,e,i){return rfc2083_crc(new Uint8Array(t),e,i)}function PngIHDR(t,e){this.width=t,this.height=e,this.depth=8,this.type=6,this.compression=0,this.filter=0,this.interlace=0}function adler(){this.s1=1,this.s2=0}function PngIDAT(t,e,i){if(i.byteLength>65535)throw new Error("Cannot handle more than 64K");this.data=i,this.width=t,this.height=e}function PngIEND(){}function create_rgba_png(t,e,i){var r,n=new PngIHDR(t,e),s=new PngIDAT(t,e,i),c=new PngIEND,h=new ArrayBuffer(n.buffer_size()+s.buffer_size()+c.buffer_size()),f=n.to_buffer(h);f=s.to_buffer(h,f),f=c.to_buffer(h,f);var a=new Uint8Array(h),o="";for(r=0;r<f;r++)o+="%",a[r]<16&&(o+="0"),o+=a[r].toString(16);return"%89PNG%0D%0A%1A%0A"+o}PngIHDR.prototype={to_buffer:function(t,e){var i=e=e||0,r=new SpiceDataView(t);return r.setUint32(e,this.buffer_size()-12),e+=4,r.setUint8(e,"I".charCodeAt(0)),e++,r.setUint8(e,"H".charCodeAt(0)),e++,r.setUint8(e,"D".charCodeAt(0)),e++,r.setUint8(e,"R".charCodeAt(0)),e++,r.setUint32(e,this.width),e+=4,r.setUint32(e,this.height),e+=4,r.setUint8(e,this.depth),e++,r.setUint8(e,this.type),e++,r.setUint8(e,this.compression),e++,r.setUint8(e,this.filter),e++,r.setUint8(e,this.interlace),e++,r.setUint32(e,crc32(t,i+4,this.buffer_size()-8)),e+=4},buffer_size:function(){return 25}},adler.prototype.update=function(t){this.s1+=t,this.s1%=65521,this.s2+=this.s1,this.s2%=65521},PngIDAT.prototype={to_buffer:function(t,e){var i,r,n,s=e=e||0,c=new SpiceDataView(t),h=new adler;c.setUint32(e,this.buffer_size()-12),e+=4,c.setUint8(e,"I".charCodeAt(0)),e++,c.setUint8(e,"D".charCodeAt(0)),e++,c.setUint8(e,"A".charCodeAt(0)),e++,c.setUint8(e,"T".charCodeAt(0)),e++,c.setUint8(e,120),e++,c.setUint8(e,1),e++,c.setUint8(e,128),e++,c.setUint16(e,this.data.byteLength+this.height),e+=2,c.setUint16(e,~(this.data.byteLength+this.height)),e+=2;var f=new Uint8Array(this.data);for(n=0,r=0;r<this.height;r++)for(c.setUint8(e,0),e++,h.update(0),i=0;i<this.width&&n<this.data.byteLength;i++)h.update(f[n]),c.setUint8(e,f[n++]),e++,h.update(f[n]),c.setUint8(e,f[n++]),e++,h.update(f[n]),c.setUint8(e,f[n++]),e++,h.update(f[n]),c.setUint8(e,f[n++]),e++;return c.setUint16(e,h.s2),e+=2,c.setUint16(e,h.s1),e+=2,c.setUint32(e,crc32(t,s+4,this.buffer_size()-8)),e+=4},buffer_size:function(){return 12+this.data.byteLength+this.height+4+2+1+2+2}},PngIEND.prototype={to_buffer:function(t,e){var i=e=e||0,r=new SpiceDataView(t);return r.setUint32(e,this.buffer_size()-12),e+=4,r.setUint8(e,"I".charCodeAt(0)),e++,r.setUint8(e,"E".charCodeAt(0)),e++,r.setUint8(e,"N".charCodeAt(0)),e++,r.setUint8(e,"D".charCodeAt(0)),e++,r.setUint32(e,crc32(t,i+4,this.buffer_size()-8)),e+=4},buffer_size:function(){return 12}};
|