@sendbird/uikit-react 3.4.3 → 3.4.4-rc.1
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/App.js +41 -45
- package/App.js.map +1 -1
- package/CHANGELOG.md +11 -0
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +33 -34
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +28 -29
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +24 -25
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +32 -33
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +33 -34
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -7
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-74d39ce5.js → ChannelListProvider-d3db5c63.js} +12 -12
- package/ChannelListProvider-d3db5c63.js.map +1 -0
- package/{ChannelProvider-7b83d4fd.js → ChannelProvider-fd4e313f.js} +21 -20
- package/ChannelProvider-fd4e313f.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -12
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -18
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +11 -12
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +11 -12
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +14 -15
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +10 -11
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +13 -14
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -18
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +13 -14
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +13 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -11
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -14
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-488e930d.js → CreateChannelProvider-1573dc88.js} +1 -1
- package/{CreateChannelProvider-488e930d.js.map → CreateChannelProvider-1573dc88.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -10
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -10
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/EditUserProfile.js +12 -13
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-4b25e6bc.js → LocalizationContext-4fbc679d.js} +3 -3
- package/{LocalizationContext-4b25e6bc.js.map → LocalizationContext-4fbc679d.js.map} +1 -1
- package/{MediaQueryContext-29dcaddb.js → MediaQueryContext-96262052.js} +1 -1
- package/{MediaQueryContext-29dcaddb.js.map → MediaQueryContext-96262052.js.map} +1 -1
- package/{MemberList-5cf25437.js → MemberList-3edad420.js} +5 -5
- package/{MemberList-5cf25437.js.map → MemberList-3edad420.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -12
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +1 -2
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +11 -12
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -13
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +16 -16
- package/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/OpenChannel/components/OpenChannelMessageList.js +58 -47
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +26 -25
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -9
- package/OpenChannel/context.js.map +1 -1
- package/OpenChannel.js +26 -25
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +3 -4
- package/OpenChannelList/context.js.map +1 -1
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-2685f3d5.js → OpenChannelListProvider-c41274c2.js} +4 -4
- package/OpenChannelListProvider-c41274c2.js.map +1 -0
- package/{OpenChannelProvider-9bd64275.js → OpenChannelProvider-698975bd.js} +12 -12
- package/OpenChannelProvider-698975bd.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -14
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -13
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -18
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +16 -17
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +14 -15
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -18
- package/OpenChannelSettings.js.map +1 -1
- package/{RemoveMessageModal-0182446a.js → RemoveMessageModal-c0880289.js} +3 -3
- package/{RemoveMessageModal-0182446a.js.map → RemoveMessageModal-c0880289.js.map} +1 -1
- package/SendbirdProvider.js +225 -244
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +26 -27
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +15 -17
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +28 -29
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +28 -29
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +25 -26
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +32 -33
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -9
- package/Thread/context.js.map +1 -1
- package/Thread.js +32 -33
- package/Thread.js.map +1 -1
- package/{ThreadProvider-daedc3df.js → ThreadProvider-fb0cdceb.js} +46 -29
- package/ThreadProvider-fb0cdceb.js.map +1 -0
- package/{UserProfileContext-2ea97dc1.js → UserProfileContext-08a492ab.js} +1 -1
- package/{UserProfileContext-2ea97dc1.js.map → UserProfileContext-08a492ab.js.map} +1 -1
- package/{VoiceMessageInputWrapper-f65cc3ae.js → VoiceMessageInputWrapper-40e4fea8.js} +12 -8
- package/VoiceMessageInputWrapper-40e4fea8.js.map +1 -0
- package/VoicePlayer/context.js +5 -3
- package/VoicePlayer/context.js.map +1 -1
- package/VoicePlayer/useVoicePlayer.js +5 -4
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +2553 -6
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -3
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{_rollupPluginBabelHelpers-38fb8170.js → _rollupPluginBabelHelpers-b23d4685.js} +1 -1
- package/_rollupPluginBabelHelpers-b23d4685.js.map +1 -0
- package/{actionTypes-ce60cab6.js → actionTypes-179e71b8.js} +1 -1
- package/{actionTypes-ce60cab6.js.map → actionTypes-179e71b8.js.map} +1 -1
- package/cjs/App.js +41 -45
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +33 -34
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +28 -29
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +24 -25
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +32 -33
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +33 -34
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -7
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-4cf41348.js → ChannelListProvider-4453157b.js} +12 -12
- package/cjs/ChannelListProvider-4453157b.js.map +1 -0
- package/cjs/{ChannelProvider-af11f0e6.js → ChannelProvider-af2098e9.js} +21 -20
- package/cjs/ChannelProvider-af2098e9.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -12
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -18
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -12
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -12
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -15
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +10 -11
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +13 -14
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -18
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -14
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +13 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -11
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -14
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-1241284b.js → CreateChannelProvider-194c7642.js} +1 -1
- package/cjs/{CreateChannelProvider-1241284b.js.map → CreateChannelProvider-194c7642.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -10
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -10
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -13
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
- package/cjs/EditUserProfile.js +12 -13
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-d6a49817.js → LocalizationContext-1082110f.js} +3 -3
- package/cjs/{LocalizationContext-d6a49817.js.map → LocalizationContext-1082110f.js.map} +1 -1
- package/cjs/{MediaQueryContext-fe920821.js → MediaQueryContext-f8ce4d27.js} +1 -1
- package/cjs/{MediaQueryContext-fe920821.js.map → MediaQueryContext-f8ce4d27.js.map} +1 -1
- package/cjs/{MemberList-b3c99792.js → MemberList-47b1849f.js} +5 -5
- package/cjs/{MemberList-b3c99792.js.map → MemberList-47b1849f.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -12
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +1 -2
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +11 -12
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -13
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
- package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +57 -46
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +26 -25
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -9
- package/cjs/OpenChannel/context.js.map +1 -1
- package/cjs/OpenChannel.js +26 -25
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +3 -4
- package/cjs/OpenChannelList/context.js.map +1 -1
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-aa38b9f3.js → OpenChannelListProvider-724b2d08.js} +4 -4
- package/cjs/OpenChannelListProvider-724b2d08.js.map +1 -0
- package/cjs/{OpenChannelProvider-689e3690.js → OpenChannelProvider-37f051db.js} +12 -12
- package/cjs/OpenChannelProvider-37f051db.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -14
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -13
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -18
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -15
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -18
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-e454585a.js → RemoveMessageModal-22baefe2.js} +3 -3
- package/cjs/{RemoveMessageModal-e454585a.js.map → RemoveMessageModal-22baefe2.js.map} +1 -1
- package/cjs/SendbirdProvider.js +225 -245
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +26 -27
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +15 -17
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +28 -29
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +28 -29
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +25 -26
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +32 -33
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -9
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +32 -33
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-03fb5452.js → ThreadProvider-52c9c70d.js} +46 -29
- package/cjs/ThreadProvider-52c9c70d.js.map +1 -0
- package/cjs/{UserProfileContext-6b73c8c7.js → UserProfileContext-1f8618e0.js} +1 -1
- package/cjs/{UserProfileContext-6b73c8c7.js.map → UserProfileContext-1f8618e0.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-b00f09e0.js → VoiceMessageInputWrapper-e8a59b75.js} +12 -8
- package/cjs/VoiceMessageInputWrapper-e8a59b75.js.map +1 -0
- package/cjs/VoicePlayer/context.js +5 -3
- package/cjs/VoicePlayer/context.js.map +1 -1
- package/cjs/VoicePlayer/useVoicePlayer.js +5 -4
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +2555 -8
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -3
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{_rollupPluginBabelHelpers-6bd3ed3b.js → _rollupPluginBabelHelpers-818d7e95.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-818d7e95.js.map +1 -0
- package/cjs/{actionTypes-f0a152e4.js → actionTypes-0a67a40a.js} +1 -1
- package/cjs/{actionTypes-f0a152e4.js.map → actionTypes-0a67a40a.js.map} +1 -1
- package/cjs/{color-273e8911.js → color-d2329a70.js} +1 -1
- package/cjs/{color-273e8911.js.map → color-d2329a70.js.map} +1 -1
- package/cjs/{compareIds-cedb6c39.js → compareIds-ae657885.js} +1 -1
- package/cjs/{compareIds-cedb6c39.js.map → compareIds-ae657885.js.map} +1 -1
- package/cjs/{const-5de4173e.js → const-76d95d9b.js} +1 -1
- package/cjs/{const-5de4173e.js.map → const-76d95d9b.js.map} +1 -1
- package/cjs/{const-b8ef9240.js → const-c1eec493.js} +1 -3
- package/cjs/const-c1eec493.js.map +1 -0
- package/cjs/{consts-0e64ad01.js → consts-22207ff1.js} +8 -4
- package/cjs/consts-22207ff1.js.map +1 -0
- package/cjs/{consts-9d6ed0a6.js → consts-2c20d358.js} +1 -1
- package/cjs/{consts-9d6ed0a6.js.map → consts-2c20d358.js.map} +1 -1
- package/cjs/{context-e0a53b29.js → context-7826d2d3.js} +2 -2
- package/cjs/{context-e0a53b29.js.map → context-7826d2d3.js.map} +1 -1
- package/cjs/dist/index.css +92 -92
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-aa5383c4.js → index-100492b5.js} +5 -5
- package/cjs/{index-aa5383c4.js.map → index-100492b5.js.map} +1 -1
- package/cjs/{index-3b0363a8.js → index-1019bf7d.js} +1 -1
- package/cjs/{index-3b0363a8.js.map → index-1019bf7d.js.map} +1 -1
- package/cjs/{index-8aa6d8c9.js → index-40ff1dce.js} +2 -2
- package/cjs/{index-8aa6d8c9.js.map → index-40ff1dce.js.map} +1 -1
- package/cjs/{index-31298927.js → index-45ba7735.js} +2 -2
- package/cjs/{index-31298927.js.map → index-45ba7735.js.map} +1 -1
- package/cjs/{index-25af7767.js → index-7955a554.js} +7 -7
- package/cjs/{index-25af7767.js.map → index-7955a554.js.map} +1 -1
- package/cjs/{index-c810e78c.js → index-97f6350c.js} +1 -1
- package/cjs/{index-c810e78c.js.map → index-97f6350c.js.map} +1 -1
- package/cjs/{index-36be8d44.js → index-aa95b410.js} +4 -4
- package/cjs/{index-36be8d44.js.map → index-aa95b410.js.map} +1 -1
- package/cjs/{index-f0d6f431.js → index-abf3cbfd.js} +7 -7
- package/cjs/{index-f0d6f431.js.map → index-abf3cbfd.js.map} +1 -1
- package/cjs/{index-197e3c5b.js → index-b3488c9f.js} +2 -2
- package/cjs/{index-197e3c5b.js.map → index-b3488c9f.js.map} +1 -1
- package/cjs/{index-684be350.js → index-b803e77c.js} +3 -3
- package/cjs/{index-684be350.js.map → index-b803e77c.js.map} +1 -1
- package/cjs/{index-75f8f2cd.js → index-ce519eb3.js} +2 -2
- package/cjs/{index-75f8f2cd.js.map → index-ce519eb3.js.map} +1 -1
- package/cjs/{index-f2e27f6a.js → index-e4356695.js} +21 -3
- package/cjs/index-e4356695.js.map +1 -0
- package/cjs/{index-6ed2df90.js → index-f426f55d.js} +4 -4
- package/cjs/{index-6ed2df90.js.map → index-f426f55d.js.map} +1 -1
- package/cjs/{index-7ba6befd.js → index-fc73474a.js} +2 -2
- package/cjs/{index-7ba6befd.js.map → index-fc73474a.js.map} +1 -1
- package/cjs/index.js +45 -46
- package/cjs/index.js.map +1 -1
- package/cjs/sendbirdSelectors.js +11 -11
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-1e9a4bf2.js → stringSet-2922e280.js} +1 -1
- package/cjs/{stringSet-1e9a4bf2.js.map → stringSet-2922e280.js.map} +1 -1
- package/cjs/topics-4f45210e.js +18 -0
- package/cjs/topics-4f45210e.js.map +1 -0
- package/cjs/{tslib.es6-a674f4e5.js → tslib.es6-5f9a94d3.js} +1 -1
- package/cjs/{tslib.es6-a674f4e5.js.map → tslib.es6-5f9a94d3.js.map} +1 -1
- package/cjs/{types-ff787253.js → types-12f7f462.js} +1 -1
- package/cjs/{types-ff787253.js.map → types-12f7f462.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +10 -11
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +23 -24
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +10 -11
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +3 -3
- package/cjs/ui/OpenChannelAvatar.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- package/cjs/ui/PlaceHolder.js +6 -6
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +10 -11
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -11
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -10
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +7 -6
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +10 -11
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-37c403d8.js → useLongPress-7d3a560d.js} +3 -3
- package/cjs/{useLongPress-37c403d8.js.map → useLongPress-7d3a560d.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-50ff8ad6.js → utils-91ce072b.js} +2 -2
- package/cjs/{utils-50ff8ad6.js.map → utils-91ce072b.js.map} +1 -1
- package/cjs/{utils-9df4cc6c.js → utils-966a10b2.js} +1 -1
- package/cjs/{utils-9df4cc6c.js.map → utils-966a10b2.js.map} +1 -1
- package/cjs/{utils-afdab4b0.js → utils-ae312689.js} +1 -1
- package/cjs/{utils-afdab4b0.js.map → utils-ae312689.js.map} +1 -1
- package/cjs/{utils-9fed7de8.js → utils-f30ad5fb.js} +1 -1
- package/cjs/{utils-9fed7de8.js.map → utils-f30ad5fb.js.map} +1 -1
- package/cjs/{uuid-f5d1a1fe.js → uuid-deaedf88.js} +1 -1
- package/cjs/{uuid-f5d1a1fe.js.map → uuid-deaedf88.js.map} +1 -1
- package/cjs/withSendbird.js +15 -13
- package/cjs/withSendbird.js.map +1 -1
- package/{color-a450612f.js → color-a8e8431b.js} +1 -1
- package/{color-a450612f.js.map → color-a8e8431b.js.map} +1 -1
- package/{compareIds-27ab0100.js → compareIds-1e83739b.js} +1 -1
- package/{compareIds-27ab0100.js.map → compareIds-1e83739b.js.map} +1 -1
- package/{const-2d43b497.js → const-19948b22.js} +2 -3
- package/const-19948b22.js.map +1 -0
- package/{const-de21a301.js → const-89cc643e.js} +1 -1
- package/{const-de21a301.js.map → const-89cc643e.js.map} +1 -1
- package/{consts-9f2eecf3.js → consts-6cda3569.js} +1 -1
- package/{consts-9f2eecf3.js.map → consts-6cda3569.js.map} +1 -1
- package/{consts-cedae35a.js → consts-ebe0485e.js} +8 -5
- package/consts-ebe0485e.js.map +1 -0
- package/{context-b7ccbd17.js → context-ca1665ce.js} +2 -2
- package/{context-b7ccbd17.js.map → context-ca1665ce.js.map} +1 -1
- package/dist/index.css +92 -92
- package/dist/index.css.map +1 -1
- package/{index-4729324a.js → index-059a6706.js} +5 -5
- package/{index-4729324a.js.map → index-059a6706.js.map} +1 -1
- package/{index-eba6c13e.js → index-0b9d1551.js} +7 -7
- package/{index-eba6c13e.js.map → index-0b9d1551.js.map} +1 -1
- package/{index-9ee89f7c.js → index-1fa1e6d0.js} +2 -2
- package/{index-9ee89f7c.js.map → index-1fa1e6d0.js.map} +1 -1
- package/{index-533dff7c.js → index-2643cf19.js} +7 -7
- package/{index-533dff7c.js.map → index-2643cf19.js.map} +1 -1
- package/{index-f3ba7696.js → index-27f0ab65.js} +1 -1
- package/{index-f3ba7696.js.map → index-27f0ab65.js.map} +1 -1
- package/{index-58b5008c.js → index-2dfbf6a2.js} +2 -2
- package/{index-58b5008c.js.map → index-2dfbf6a2.js.map} +1 -1
- package/{index-d69c6128.js → index-328ab4c8.js} +3 -3
- package/{index-d69c6128.js.map → index-328ab4c8.js.map} +1 -1
- package/{index-fb9f4d36.js → index-4732c108.js} +2 -2
- package/{index-fb9f4d36.js.map → index-4732c108.js.map} +1 -1
- package/{index-ba549e6a.js → index-62f648a3.js} +2 -2
- package/{index-ba549e6a.js.map → index-62f648a3.js.map} +1 -1
- package/{index-5e921f58.js → index-64ea2c4d.js} +21 -3
- package/index-64ea2c4d.js.map +1 -0
- package/{index-9f08118f.js → index-a85cb707.js} +4 -4
- package/{index-9f08118f.js.map → index-a85cb707.js.map} +1 -1
- package/{index-e8294858.js → index-b90e1c4f.js} +4 -4
- package/{index-e8294858.js.map → index-b90e1c4f.js.map} +1 -1
- package/{index-a245d213.js → index-e28eedfe.js} +2 -2
- package/{index-a245d213.js.map → index-e28eedfe.js.map} +1 -1
- package/{index-af6e4d1e.js → index-fbd4a0c4.js} +1 -1
- package/{index-af6e4d1e.js.map → index-fbd4a0c4.js.map} +1 -1
- package/index.d.ts +1 -2
- package/index.js +45 -46
- package/index.js.map +1 -1
- package/package.json +32 -33
- package/sendbirdSelectors.js +11 -11
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-80381462.js → stringSet-5c7aee85.js} +1 -1
- package/{stringSet-80381462.js.map → stringSet-5c7aee85.js.map} +1 -1
- package/topics-812ef49c.js +16 -0
- package/topics-812ef49c.js.map +1 -0
- package/{tslib.es6-33004eb4.js → tslib.es6-f2e08a44.js} +1 -1
- package/{tslib.es6-33004eb4.js.map → tslib.es6-f2e08a44.js.map} +1 -1
- package/{types-79f3626f.js → types-f3611450.js} +1 -1
- package/{types-79f3626f.js.map → types-f3611450.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +10 -11
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +23 -24
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +10 -11
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- package/ui/PlaceHolder.js +6 -6
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +10 -11
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -11
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -10
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +7 -6
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +10 -11
- package/ui/Word.js.map +1 -1
- package/{useLongPress-562f0826.js → useLongPress-37f6a445.js} +3 -3
- package/{useLongPress-562f0826.js.map → useLongPress-37f6a445.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-3eee4302.js → utils-1c87a0fe.js} +1 -1
- package/{utils-3eee4302.js.map → utils-1c87a0fe.js.map} +1 -1
- package/{utils-4e5389df.js → utils-5403f9b1.js} +1 -1
- package/{utils-4e5389df.js.map → utils-5403f9b1.js.map} +1 -1
- package/{utils-8fa2a634.js → utils-96d6b362.js} +2 -2
- package/{utils-8fa2a634.js.map → utils-96d6b362.js.map} +1 -1
- package/{utils-b84d9295.js → utils-edb71921.js} +1 -1
- package/{utils-b84d9295.js.map → utils-edb71921.js.map} +1 -1
- package/{uuid-7397f1ec.js → uuid-ba6bc915.js} +1 -1
- package/{uuid-7397f1ec.js.map → uuid-ba6bc915.js.map} +1 -1
- package/withSendbird.js +15 -13
- package/withSendbird.js.map +1 -1
- package/.size-snapshot.json +0 -9696
- package/ChannelListProvider-74d39ce5.js.map +0 -1
- package/ChannelProvider-7b83d4fd.js.map +0 -1
- package/OpenChannelListProvider-2685f3d5.js.map +0 -1
- package/OpenChannelProvider-9bd64275.js.map +0 -1
- package/ThreadProvider-daedc3df.js.map +0 -1
- package/VoiceMessageInputWrapper-f65cc3ae.js.map +0 -1
- package/_rollupPluginBabelHelpers-38fb8170.js.map +0 -1
- package/cjs/ChannelListProvider-4cf41348.js.map +0 -1
- package/cjs/ChannelProvider-af11f0e6.js.map +0 -1
- package/cjs/OpenChannelListProvider-aa38b9f3.js.map +0 -1
- package/cjs/OpenChannelProvider-689e3690.js.map +0 -1
- package/cjs/ThreadProvider-03fb5452.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-b00f09e0.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-6bd3ed3b.js.map +0 -1
- package/cjs/const-b8ef9240.js.map +0 -1
- package/cjs/consts-0e64ad01.js.map +0 -1
- package/cjs/index-f2e27f6a.js.map +0 -1
- package/cjs/lame.all.js +0 -2541
- package/cjs/lame.all.js.map +0 -1
- package/cjs/topics-33dacb94.js +0 -22
- package/cjs/topics-33dacb94.js.map +0 -1
- package/const-2d43b497.js.map +0 -1
- package/consts-cedae35a.js.map +0 -1
- package/index-5e921f58.js.map +0 -1
- package/lame.all.js +0 -2537
- package/lame.all.js.map +0 -1
- package/topics-aa4d9dac.js +0 -13
- package/topics-aa4d9dac.js.map +0 -1
package/lame.all.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lame.all.js","sources":["../src/_externals/lamejs/lame.all.js"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire3f09\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire3f09\"] = parcelRequire;\n}\nparcelRequire.register(\"kk1yk\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $ecb6e13812bdc08b$var$System = $3YDN3.System;\nvar $ecb6e13812bdc08b$var$VbrMode = $3YDN3.VbrMode;\nvar $ecb6e13812bdc08b$var$Float = $3YDN3.Float;\nvar $ecb6e13812bdc08b$var$ShortBlock = $3YDN3.ShortBlock;\nvar $ecb6e13812bdc08b$var$Util = $3YDN3.Util;\nvar $ecb6e13812bdc08b$var$Arrays = $3YDN3.Arrays;\nvar $ecb6e13812bdc08b$var$new_array_n = $3YDN3.new_array_n;\nvar $ecb6e13812bdc08b$var$new_byte = $3YDN3.new_byte;\nvar $ecb6e13812bdc08b$var$new_double = $3YDN3.new_double;\nvar $ecb6e13812bdc08b$var$new_float = $3YDN3.new_float;\nvar $ecb6e13812bdc08b$var$new_float_n = $3YDN3.new_float_n;\nvar $ecb6e13812bdc08b$var$new_int = $3YDN3.new_int;\nvar $ecb6e13812bdc08b$var$new_int_n = $3YDN3.new_int_n;\nvar $ecb6e13812bdc08b$var$new_short_n = $3YDN3.new_short_n;\nvar $ecb6e13812bdc08b$var$assert = $3YDN3.assert;\n\nvar $d2VP0 = parcelRequire(\"d2VP0\");\n\nvar $5HJeD = parcelRequire(\"5HJeD\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n\nvar $cU3Yf = parcelRequire(\"cU3Yf\");\n\nvar $2qGTD = parcelRequire(\"2qGTD\");\n\nvar $e32wu = parcelRequire(\"e32wu\");\n\nvar $ctaQC = parcelRequire(\"ctaQC\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nfunction $ecb6e13812bdc08b$var$Lame() {\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var self = this;\n var LAME_MAXALBUMART = 131072;\n $ecb6e13812bdc08b$var$Lame.V9 = 410;\n $ecb6e13812bdc08b$var$Lame.V8 = 420;\n $ecb6e13812bdc08b$var$Lame.V7 = 430;\n $ecb6e13812bdc08b$var$Lame.V6 = 440;\n $ecb6e13812bdc08b$var$Lame.V5 = 450;\n $ecb6e13812bdc08b$var$Lame.V4 = 460;\n $ecb6e13812bdc08b$var$Lame.V3 = 470;\n $ecb6e13812bdc08b$var$Lame.V2 = 480;\n $ecb6e13812bdc08b$var$Lame.V1 = 490;\n $ecb6e13812bdc08b$var$Lame.V0 = 500;\n /* still there for compatibility */ $ecb6e13812bdc08b$var$Lame.R3MIX = 1000;\n $ecb6e13812bdc08b$var$Lame.STANDARD = 1001;\n $ecb6e13812bdc08b$var$Lame.EXTREME = 1002;\n $ecb6e13812bdc08b$var$Lame.INSANE = 1003;\n $ecb6e13812bdc08b$var$Lame.STANDARD_FAST = 1004;\n $ecb6e13812bdc08b$var$Lame.EXTREME_FAST = 1005;\n $ecb6e13812bdc08b$var$Lame.MEDIUM = 1006;\n $ecb6e13812bdc08b$var$Lame.MEDIUM_FAST = 1007;\n /**\n * maximum size of mp3buffer needed if you encode at most 1152 samples for\n * each call to lame_encode_buffer. see lame_encode_buffer() below\n * (LAME_MAXMP3BUFFER is now obsolete)\n */ var LAME_MAXMP3BUFFER = 16384 + LAME_MAXALBUMART;\n $ecb6e13812bdc08b$var$Lame.LAME_MAXMP3BUFFER = LAME_MAXMP3BUFFER;\n var ga;\n var bs;\n var p;\n var qupvt;\n var qu;\n var psy = new $d2VP0();\n var vbr;\n var ver;\n var id3;\n var mpglib;\n this.enc = new $cPNKB();\n this.setModules = function(_ga, _bs, _p, _qupvt, _qu, _vbr, _ver, _id3, _mpglib) {\n ga = _ga;\n bs = _bs;\n p = _p;\n qupvt = _qupvt;\n qu = _qu;\n vbr = _vbr;\n ver = _ver;\n id3 = _id3;\n mpglib = _mpglib;\n this.enc.setModules(bs, psy, qupvt, vbr);\n };\n /**\n * PSY Model related stuff\n */ function PSY() {\n /**\n * The dbQ stuff.\n */ this.mask_adjust = 0.;\n /**\n * The dbQ stuff.\n */ this.mask_adjust_short = 0.;\n /* at transition from one scalefactor band to next */ /**\n * Band weight long scalefactor bands.\n */ this.bo_l_weight = $ecb6e13812bdc08b$var$new_float($cPNKB.SBMAX_l);\n /**\n * Band weight short scalefactor bands.\n */ this.bo_s_weight = $ecb6e13812bdc08b$var$new_float($cPNKB.SBMAX_s);\n }\n function LowPassHighPass() {\n this.lowerlimit = 0.;\n }\n function BandPass(bitrate, lPass) {\n this.lowpass = lPass;\n }\n var LAME_ID = 0xFFF88E3B;\n function lame_init_old(gfp) {\n var gfc;\n gfp.class_id = LAME_ID;\n gfc = gfp.internal_flags = new $4SDnr();\n /* Global flags. set defaults here for non-zero values */ /* see lame.h for description */ /*\n * set integer values to -1 to mean that LAME will compute the best\n * value, UNLESS the calling program as set it (and the value is no\n * longer -1)\n */ gfp.mode = MPEGMode.NOT_SET;\n gfp.original = 1;\n gfp.in_samplerate = 44100;\n gfp.num_channels = 2;\n gfp.num_samples = -1;\n gfp.bWriteVbrTag = true;\n gfp.quality = -1;\n gfp.short_blocks = null;\n gfc.subblock_gain = -1;\n gfp.lowpassfreq = 0;\n gfp.highpassfreq = 0;\n gfp.lowpasswidth = -1;\n gfp.highpasswidth = -1;\n gfp.VBR = $ecb6e13812bdc08b$var$VbrMode.vbr_off;\n gfp.VBR_q = 4;\n gfp.ATHcurve = -1;\n gfp.VBR_mean_bitrate_kbps = 128;\n gfp.VBR_min_bitrate_kbps = 0;\n gfp.VBR_max_bitrate_kbps = 0;\n gfp.VBR_hard_min = 0;\n gfc.VBR_min_bitrate = 1;\n /* not 0 ????? */ gfc.VBR_max_bitrate = 13;\n /* not 14 ????? */ gfp.quant_comp = -1;\n gfp.quant_comp_short = -1;\n gfp.msfix = -1;\n gfc.resample_ratio = 1;\n gfc.OldValue[0] = 180;\n gfc.OldValue[1] = 180;\n gfc.CurrentStep[0] = 4;\n gfc.CurrentStep[1] = 4;\n gfc.masking_lower = 1;\n gfc.nsPsy.attackthre = -1;\n gfc.nsPsy.attackthre_s = -1;\n gfp.scale = -1;\n gfp.athaa_type = -1;\n gfp.ATHtype = -1;\n /* default = -1 = set in lame_init_params */ gfp.athaa_loudapprox = -1;\n /* 1 = flat loudness approx. (total energy) */ /* 2 = equal loudness curve */ gfp.athaa_sensitivity = 0.0;\n /* no offset */ gfp.useTemporal = null;\n gfp.interChRatio = -1;\n /*\n * The reason for int mf_samples_to_encode = ENCDELAY + POSTDELAY;\n * ENCDELAY = internal encoder delay. And then we have to add\n * POSTDELAY=288 because of the 50% MDCT overlap. A 576 MDCT granule\n * decodes to 1152 samples. To synthesize the 576 samples centered under\n * this granule we need the previous granule for the first 288 samples\n * (no problem), and the next granule for the next 288 samples (not\n * possible if this is last granule). So we need to pad with 288 samples\n * to make sure we can encode the 576 samples we are interested in.\n */ gfc.mf_samples_to_encode = $cPNKB.ENCDELAY + $cPNKB.POSTDELAY;\n gfp.encoder_padding = 0;\n gfc.mf_size = $cPNKB.ENCDELAY - $cPNKB.MDCTDELAY;\n /*\n * we pad input with this many 0's\n */ gfp.findReplayGain = false;\n gfp.decode_on_the_fly = false;\n gfc.decode_on_the_fly = false;\n gfc.findReplayGain = false;\n gfc.findPeakSample = false;\n gfc.RadioGain = 0;\n gfc.AudiophileGain = 0;\n gfc.noclipGainChange = 0;\n gfc.noclipScale = -1;\n gfp.preset = 0;\n gfp.write_id3tag_automatic = true;\n return 0;\n }\n this.lame_init = function() {\n var gfp = new $5HJeD();\n var ret = lame_init_old(gfp);\n if (ret != 0) return null;\n gfp.lame_allocated_gfp = 1;\n return gfp;\n };\n function filter_coef(x) {\n if (x > 1.0) return 0.0;\n if (x <= 0.0) return 1.0;\n return Math.cos(Math.PI / 2 * x);\n }\n this.nearestBitrateFullIndex = function(bitrate) {\n /* borrowed from DM abr presets */ var full_bitrate_table = [\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 160,\n 192,\n 224,\n 256,\n 320\n ];\n var lower_range = 0, lower_range_kbps = 0, upper_range = 0, upper_range_kbps = 0;\n /* We assume specified bitrate will be 320kbps */ upper_range_kbps = full_bitrate_table[16];\n upper_range = 16;\n lower_range_kbps = full_bitrate_table[16];\n lower_range = 16;\n /*\n * Determine which significant bitrates the value specified falls\n * between, if loop ends without breaking then we were correct above\n * that the value was 320\n */ for(var b = 0; b < 16; b++)if (Math.max(bitrate, full_bitrate_table[b + 1]) != bitrate) {\n upper_range_kbps = full_bitrate_table[b + 1];\n upper_range = b + 1;\n lower_range_kbps = full_bitrate_table[b];\n lower_range = b;\n break;\n /* We found upper range */ }\n /* Determine which range the value specified is closer to */ if (upper_range_kbps - bitrate > bitrate - lower_range_kbps) return lower_range;\n return upper_range;\n };\n function optimum_samplefreq(lowpassfreq, input_samplefreq) {\n /*\n * Rules:\n *\n * - if possible, sfb21 should NOT be used\n */ var suggested_samplefreq = 44100;\n if (input_samplefreq >= 48000) suggested_samplefreq = 48000;\n else if (input_samplefreq >= 44100) suggested_samplefreq = 44100;\n else if (input_samplefreq >= 32000) suggested_samplefreq = 32000;\n else if (input_samplefreq >= 24000) suggested_samplefreq = 24000;\n else if (input_samplefreq >= 22050) suggested_samplefreq = 22050;\n else if (input_samplefreq >= 16000) suggested_samplefreq = 16000;\n else if (input_samplefreq >= 12000) suggested_samplefreq = 12000;\n else if (input_samplefreq >= 11025) suggested_samplefreq = 11025;\n else if (input_samplefreq >= 8000) suggested_samplefreq = 8000;\n if (lowpassfreq == -1) return suggested_samplefreq;\n if (lowpassfreq <= 15960) suggested_samplefreq = 44100;\n if (lowpassfreq <= 15250) suggested_samplefreq = 32000;\n if (lowpassfreq <= 11220) suggested_samplefreq = 24000;\n if (lowpassfreq <= 9970) suggested_samplefreq = 22050;\n if (lowpassfreq <= 7230) suggested_samplefreq = 16000;\n if (lowpassfreq <= 5420) suggested_samplefreq = 12000;\n if (lowpassfreq <= 4510) suggested_samplefreq = 11025;\n if (lowpassfreq <= 3970) suggested_samplefreq = 8000;\n if (input_samplefreq < suggested_samplefreq) {\n /*\n * choose a valid MPEG sample frequency above the input sample\n * frequency to avoid SFB21/12 bitrate bloat rh 061115\n */ if (input_samplefreq > 44100) return 48000;\n if (input_samplefreq > 32000) return 44100;\n if (input_samplefreq > 24000) return 32000;\n if (input_samplefreq > 22050) return 24000;\n if (input_samplefreq > 16000) return 22050;\n if (input_samplefreq > 12000) return 16000;\n if (input_samplefreq > 11025) return 12000;\n if (input_samplefreq > 8000) return 11025;\n return 8000;\n }\n return suggested_samplefreq;\n }\n /**\n * convert samp freq in Hz to index\n */ function SmpFrqIndex(sample_freq, gpf) {\n switch(sample_freq){\n case 44100:\n gpf.version = 1;\n return 0;\n case 48000:\n gpf.version = 1;\n return 1;\n case 32000:\n gpf.version = 1;\n return 2;\n case 22050:\n gpf.version = 0;\n return 0;\n case 24000:\n gpf.version = 0;\n return 1;\n case 16000:\n gpf.version = 0;\n return 2;\n case 11025:\n gpf.version = 0;\n return 0;\n case 12000:\n gpf.version = 0;\n return 1;\n case 8000:\n gpf.version = 0;\n return 2;\n default:\n gpf.version = 0;\n return -1;\n }\n }\n /**\n * @param bRate\n * legal rates from 8 to 320\n */ function FindNearestBitrate(bRate, version, samplerate) {\n /* MPEG-1 or MPEG-2 LSF */ if (samplerate < 16000) version = 2;\n var bitrate = $dQDcS.bitrate_table[version][1];\n for(var i = 2; i <= 14; i++){\n if ($dQDcS.bitrate_table[version][i] > 0) {\n if (Math.abs($dQDcS.bitrate_table[version][i] - bRate) < Math.abs(bitrate - bRate)) bitrate = $dQDcS.bitrate_table[version][i];\n }\n }\n return bitrate;\n }\n /**\n * @param bRate\n * legal rates from 32 to 448 kbps\n * @param version\n * MPEG-1 or MPEG-2/2.5 LSF\n */ function BitrateIndex(bRate, version, samplerate) {\n /* convert bitrate in kbps to index */ if (samplerate < 16000) version = 2;\n for(var i = 0; i <= 14; i++)if ($dQDcS.bitrate_table[version][i] > 0) {\n if ($dQDcS.bitrate_table[version][i] == bRate) return i;\n }\n return -1;\n }\n function optimum_bandwidth(lh, bitrate) {\n /**\n * <PRE>\n * Input:\n * bitrate total bitrate in kbps\n *\n * Output:\n * lowerlimit: best lowpass frequency limit for input filter in Hz\n * upperlimit: best highpass frequency limit for input filter in Hz\n * </PRE>\n */ var freq_map = [\n new BandPass(8, 2000),\n new BandPass(16, 3700),\n new BandPass(24, 3900),\n new BandPass(32, 5500),\n new BandPass(40, 7000),\n new BandPass(48, 7500),\n new BandPass(56, 10000),\n new BandPass(64, 11000),\n new BandPass(80, 13500),\n new BandPass(96, 15100),\n new BandPass(112, 15600),\n new BandPass(128, 17000),\n new BandPass(160, 17500),\n new BandPass(192, 18600),\n new BandPass(224, 19400),\n new BandPass(256, 19700),\n new BandPass(320, 20500)\n ];\n var table_index = self.nearestBitrateFullIndex(bitrate);\n lh.lowerlimit = freq_map[table_index].lowpass;\n }\n function lame_init_params_ppflt(gfp) {\n var gfc = gfp.internal_flags;\n /***************************************************************/ /* compute info needed for polyphase filter (filter type==0, default) */ /***************************************************************/ var lowpass_band = 32;\n var highpass_band = -1;\n if (gfc.lowpass1 > 0) {\n var minband = 999;\n for(var band = 0; band <= 31; band++){\n var freq = band / 31.0;\n /* this band and above will be zeroed: */ if (freq >= gfc.lowpass2) lowpass_band = Math.min(lowpass_band, band);\n if (gfc.lowpass1 < freq && freq < gfc.lowpass2) minband = Math.min(minband, band);\n }\n /*\n * compute the *actual* transition band implemented by the polyphase\n * filter\n */ if (minband == 999) gfc.lowpass1 = (lowpass_band - .75) / 31.0;\n else gfc.lowpass1 = (minband - .75) / 31.0;\n gfc.lowpass2 = lowpass_band / 31.0;\n }\n /*\n * make sure highpass filter is within 90% of what the effective\n * highpass frequency will be\n */ if (gfc.highpass2 > 0) {\n if (gfc.highpass2 < .9 * (.75 / 31.0)) {\n gfc.highpass1 = 0;\n gfc.highpass2 = 0;\n $ecb6e13812bdc08b$var$System.err.println(\"Warning: highpass filter disabled. highpass frequency too small\\n\");\n }\n }\n if (gfc.highpass2 > 0) {\n var maxband = -1;\n for(var band = 0; band <= 31; band++){\n var freq = band / 31.0;\n /* this band and below will be zereod */ if (freq <= gfc.highpass1) highpass_band = Math.max(highpass_band, band);\n if (gfc.highpass1 < freq && freq < gfc.highpass2) maxband = Math.max(maxband, band);\n }\n /*\n * compute the *actual* transition band implemented by the polyphase\n * filter\n */ gfc.highpass1 = highpass_band / 31.0;\n if (maxband == -1) gfc.highpass2 = (highpass_band + .75) / 31.0;\n else gfc.highpass2 = (maxband + .75) / 31.0;\n }\n for(var band = 0; band < 32; band++){\n var fc1, fc2;\n var freq = band / 31.0;\n if (gfc.highpass2 > gfc.highpass1) fc1 = filter_coef((gfc.highpass2 - freq) / (gfc.highpass2 - gfc.highpass1 + 1e-20));\n else fc1 = 1.0;\n if (gfc.lowpass2 > gfc.lowpass1) fc2 = filter_coef((freq - gfc.lowpass1) / (gfc.lowpass2 - gfc.lowpass1 + 1e-20));\n else fc2 = 1.0;\n gfc.amp_filter[band] = fc1 * fc2;\n }\n }\n function lame_init_qval(gfp) {\n var gfc = gfp.internal_flags;\n switch(gfp.quality){\n default:\n case 9:\n /* no psymodel, no noise shaping */ gfc.psymodel = 0;\n gfc.noise_shaping = 0;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 8:\n gfp.quality = 7;\n //$FALL-THROUGH$\n case 7:\n /*\n * use psymodel (for short block and m/s switching), but no noise\n * shapping\n */ gfc.psymodel = 1;\n gfc.noise_shaping = 0;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 6:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 5:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 0;\n gfc.full_outer_loop = 0;\n break;\n case 4:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 0;\n gfc.noise_shaping_stop = 0;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 3:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n gfc.noise_shaping_amp = 1;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 2:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 1;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n /* inner loop */ gfc.full_outer_loop = 0;\n break;\n case 1:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 2;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n gfc.full_outer_loop = 0;\n break;\n case 0:\n gfc.psymodel = 1;\n if (gfc.noise_shaping == 0) gfc.noise_shaping = 1;\n if (gfc.substep_shaping == 0) gfc.substep_shaping = 2;\n gfc.noise_shaping_amp = 2;\n gfc.noise_shaping_stop = 1;\n if (gfc.subblock_gain == -1) gfc.subblock_gain = 1;\n gfc.use_best_huffman = 1;\n /*\n * type 2 disabled because of it slowness, in favor of full outer\n * loop search\n */ gfc.full_outer_loop = 0;\n break;\n }\n }\n function lame_init_bitstream(gfp) {\n var gfc = gfp.internal_flags;\n gfp.frameNum = 0;\n if (gfp.write_id3tag_automatic) id3.id3tag_write_v2(gfp);\n /* initialize histogram data optionally used by frontend */ gfc.bitrate_stereoMode_Hist = $ecb6e13812bdc08b$var$new_int_n([\n 16,\n 5\n ]);\n gfc.bitrate_blockType_Hist = $ecb6e13812bdc08b$var$new_int_n([\n 16,\n 6\n ]);\n gfc.PeakSample = 0.0;\n /* Write initial VBR Header to bitstream and init VBR data */ if (gfp.bWriteVbrTag) vbr.InitVbrTag(gfp);\n }\n /********************************************************************\n * initialize internal params based on data in gf (globalflags struct filled\n * in by calling program)\n *\n * OUTLINE:\n *\n * We first have some complex code to determine bitrate, output samplerate\n * and mode. It is complicated by the fact that we allow the user to set\n * some or all of these parameters, and need to determine best possible\n * values for the rest of them:\n *\n * 1. set some CPU related flags 2. check if we are mono.mono, stereo.mono\n * or stereo.stereo 3. compute bitrate and output samplerate: user may have\n * set compression ratio user may have set a bitrate user may have set a\n * output samplerate 4. set some options which depend on output samplerate\n * 5. compute the actual compression ratio 6. set mode based on compression\n * ratio\n *\n * The remaining code is much simpler - it just sets options based on the\n * mode & compression ratio:\n *\n * set allow_diff_short based on mode select lowpass filter based on\n * compression ratio & mode set the bitrate index, and min/max bitrates for\n * VBR modes disable VBR tag if it is not appropriate initialize the\n * bitstream initialize scalefac_band data set sideinfo_len (based on\n * channels, CRC, out_samplerate) write an id3v2 tag into the bitstream\n * write VBR tag into the bitstream set mpeg1/2 flag estimate the number of\n * frames (based on a lot of data)\n *\n * now we set more flags: nspsytune: see code VBR modes see code CBR/ABR see\n * code\n *\n * Finally, we set the algorithm flags based on the gfp.quality value\n * lame_init_qval(gfp);\n *\n ********************************************************************/ this.lame_init_params = function(gfp) {\n var gfc = gfp.internal_flags;\n gfc.Class_ID = 0;\n if (gfc.ATH == null) gfc.ATH = new $cU3Yf();\n if (gfc.PSY == null) gfc.PSY = new PSY();\n if (gfc.rgdata == null) gfc.rgdata = new $2qGTD();\n gfc.channels_in = gfp.num_channels;\n if (gfc.channels_in == 1) gfp.mode = MPEGMode.MONO;\n gfc.channels_out = gfp.mode == MPEGMode.MONO ? 1 : 2;\n gfc.mode_ext = $cPNKB.MPG_MD_MS_LR;\n if (gfp.mode == MPEGMode.MONO) gfp.force_ms = false;\n /*\n * don't allow forced mid/side stereo for mono output\n */ if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.VBR_mean_bitrate_kbps != 128 && gfp.brate == 0) gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_mt) ;\n else gfp.free_format = false;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.brate == 0) /* no bitrate or compression ratio specified, use 11.025 */ {\n if ($ctaQC.EQ(gfp.compression_ratio, 0)) gfp.compression_ratio = 11.025;\n }\n /* find bitrate if user specify a compression ratio */ if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off && gfp.compression_ratio > 0) {\n if (gfp.out_samplerate == 0) gfp.out_samplerate = map2MP3Frequency(int(0.97 * gfp.in_samplerate));\n /*\n * round up with a margin of 3 %\n */ /*\n * choose a bitrate for the output samplerate which achieves\n * specified compression ratio\n */ gfp.brate = 0 | gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.compression_ratio);\n /* we need the version for the bitrate table look up */ gfc.samplerate_index = SmpFrqIndex(gfp.out_samplerate, gfp);\n if (!gfp.free_format) /*\n * for non Free Format find the nearest allowed\n * bitrate\n */ gfp.brate = FindNearestBitrate(gfp.brate, gfp.version, gfp.out_samplerate);\n }\n if (gfp.out_samplerate != 0) {\n if (gfp.out_samplerate < 16000) {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 64);\n } else if (gfp.out_samplerate < 32000) {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 160);\n } else {\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 32);\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n }\n }\n /****************************************************************/ /* if a filter has not been enabled, see if we should add one: */ /****************************************************************/ if (gfp.lowpassfreq == 0) {\n var lowpass = 16000.;\n switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_off:\n var lh = new LowPassHighPass();\n optimum_bandwidth(lh, gfp.brate);\n lowpass = lh.lowerlimit;\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_abr:\n var lh = new LowPassHighPass();\n optimum_bandwidth(lh, gfp.VBR_mean_bitrate_kbps);\n lowpass = lh.lowerlimit;\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n var x = [\n 19500,\n 19000,\n 18600,\n 18000,\n 17500,\n 16000,\n 15600,\n 14900,\n 12500,\n 10000,\n 3950\n ];\n if (0 <= gfp.VBR_q && gfp.VBR_q <= 9) {\n var a = x[gfp.VBR_q], b = x[gfp.VBR_q + 1], m = gfp.VBR_q_frac;\n lowpass = linear_int(a, b, m);\n } else lowpass = 19500;\n break;\n default:\n var x = [\n 19500,\n 19000,\n 18500,\n 18000,\n 17500,\n 16500,\n 15500,\n 14500,\n 12500,\n 9500,\n 3950\n ];\n if (0 <= gfp.VBR_q && gfp.VBR_q <= 9) {\n var a = x[gfp.VBR_q], b = x[gfp.VBR_q + 1], m = gfp.VBR_q_frac;\n lowpass = linear_int(a, b, m);\n } else lowpass = 19500;\n }\n if (gfp.mode == MPEGMode.MONO && (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off || gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_abr)) lowpass *= 1.5;\n gfp.lowpassfreq = lowpass | 0;\n }\n if (gfp.out_samplerate == 0) {\n if (2 * gfp.lowpassfreq > gfp.in_samplerate) gfp.lowpassfreq = gfp.in_samplerate / 2;\n gfp.out_samplerate = optimum_samplefreq(gfp.lowpassfreq | 0, gfp.in_samplerate);\n }\n gfp.lowpassfreq = Math.min(20500, gfp.lowpassfreq);\n gfp.lowpassfreq = Math.min(gfp.out_samplerate / 2, gfp.lowpassfreq);\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.brate);\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_abr) gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.VBR_mean_bitrate_kbps);\n /*\n * do not compute ReplayGain values and do not find the peak sample if\n * we can't store them\n */ if (!gfp.bWriteVbrTag) {\n gfp.findReplayGain = false;\n gfp.decode_on_the_fly = false;\n gfc.findPeakSample = false;\n }\n gfc.findReplayGain = gfp.findReplayGain;\n gfc.decode_on_the_fly = gfp.decode_on_the_fly;\n if (gfc.decode_on_the_fly) gfc.findPeakSample = true;\n if (gfc.findReplayGain) {\n if (ga.InitGainAnalysis(gfc.rgdata, gfp.out_samplerate) == GainAnalysis.INIT_GAIN_ANALYSIS_ERROR) {\n gfp.internal_flags = null;\n return -6;\n }\n }\n if (gfc.decode_on_the_fly && !gfp.decode_only) {\n if (gfc.hip != null) mpglib.hip_decode_exit(gfc.hip);\n gfc.hip = mpglib.hip_decode_init();\n }\n gfc.mode_gr = gfp.out_samplerate <= 24000 ? 1 : 2;\n /*\n * Number of granules per frame\n */ gfp.framesize = 576 * gfc.mode_gr;\n gfp.encoder_delay = $cPNKB.ENCDELAY;\n gfc.resample_ratio = gfp.in_samplerate / gfp.out_samplerate;\n /**\n * <PRE>\n * sample freq bitrate compression ratio\n * [kHz] [kbps/channel] for 16 bit input\n * 44.1 56 12.6\n * 44.1 64 11.025\n * 44.1 80 8.82\n * 22.05 24 14.7\n * 22.05 32 11.025\n * 22.05 40 8.82\n * 16 16 16.0\n * 16 24 10.667\n * </PRE>\n */ /**\n * <PRE>\n * For VBR, take a guess at the compression_ratio.\n * For example:\n *\n * VBR_q compression like\n * - 4.4 320 kbps/44 kHz\n * 0...1 5.5 256 kbps/44 kHz\n * 2 7.3 192 kbps/44 kHz\n * 4 8.8 160 kbps/44 kHz\n * 6 11 128 kbps/44 kHz\n * 9 14.7 96 kbps\n *\n * for lower bitrates, downsample with --resample\n * </PRE>\n */ switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mt:\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh:\n /* numbers are a bit strange, but they determine the lowpass value */ var cmp = [\n 5.7,\n 6.5,\n 7.3,\n 8.2,\n 10,\n 11.9,\n 13,\n 14,\n 15,\n 16.5\n ];\n gfp.compression_ratio = cmp[gfp.VBR_q];\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_abr:\n gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.VBR_mean_bitrate_kbps);\n break;\n default:\n gfp.compression_ratio = gfp.out_samplerate * 16 * gfc.channels_out / (1.e3 * gfp.brate);\n break;\n }\n /*\n * mode = -1 (not set by user) or mode = MONO (because of only 1 input\n * channel). If mode has not been set, then select J-STEREO\n */ if (gfp.mode == MPEGMode.NOT_SET) gfp.mode = MPEGMode.JOINT_STEREO;\n /* apply user driven high pass filter */ if (gfp.highpassfreq > 0) {\n gfc.highpass1 = 2. * gfp.highpassfreq;\n if (gfp.highpasswidth >= 0) gfc.highpass2 = 2. * (gfp.highpassfreq + gfp.highpasswidth);\n else /* 0% above on default */ gfc.highpass2 = 2 * gfp.highpassfreq;\n gfc.highpass1 /= gfp.out_samplerate;\n gfc.highpass2 /= gfp.out_samplerate;\n } else {\n gfc.highpass1 = 0;\n gfc.highpass2 = 0;\n }\n /* apply user driven low pass filter */ if (gfp.lowpassfreq > 0) {\n gfc.lowpass2 = 2. * gfp.lowpassfreq;\n if (gfp.lowpasswidth >= 0) {\n gfc.lowpass1 = 2. * (gfp.lowpassfreq - gfp.lowpasswidth);\n if (gfc.lowpass1 < 0) /* has to be >= 0 */ gfc.lowpass1 = 0;\n } else gfc.lowpass1 = 2 * gfp.lowpassfreq;\n gfc.lowpass1 /= gfp.out_samplerate;\n gfc.lowpass2 /= gfp.out_samplerate;\n } else {\n gfc.lowpass1 = 0;\n gfc.lowpass2 = 0;\n }\n /**********************************************************************/ /* compute info needed for polyphase filter (filter type==0, default) */ /**********************************************************************/ lame_init_params_ppflt(gfp);\n /*******************************************************\n * samplerate and bitrate index\n *******************************************************/ gfc.samplerate_index = SmpFrqIndex(gfp.out_samplerate, gfp);\n if (gfc.samplerate_index < 0) {\n gfp.internal_flags = null;\n return -1;\n }\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) {\n if (gfp.free_format) gfc.bitrate_index = 0;\n else {\n gfp.brate = FindNearestBitrate(gfp.brate, gfp.version, gfp.out_samplerate);\n gfc.bitrate_index = BitrateIndex(gfp.brate, gfp.version, gfp.out_samplerate);\n if (gfc.bitrate_index <= 0) {\n gfp.internal_flags = null;\n return -1;\n }\n }\n } else gfc.bitrate_index = 1;\n /* for CBR, we will write an \"info\" tag. */ if (gfp.analysis) gfp.bWriteVbrTag = false;\n /* some file options not allowed if output is: not specified or stdout */ if (gfc.pinfo != null) gfp.bWriteVbrTag = false;\n /* disable Xing VBR tag */ bs.init_bit_stream_w(gfc);\n var j = gfc.samplerate_index + 3 * gfp.version + 6 * (gfp.out_samplerate < 16000 ? 1 : 0);\n for(var i = 0; i < $cPNKB.SBMAX_l + 1; i++)gfc.scalefac_band.l[i] = qupvt.sfBandIndex[j].l[i];\n for(var i = 0; i < $cPNKB.PSFB21 + 1; i++){\n var size = (gfc.scalefac_band.l[22] - gfc.scalefac_band.l[21]) / $cPNKB.PSFB21;\n var start = gfc.scalefac_band.l[21] + i * size;\n gfc.scalefac_band.psfb21[i] = start;\n }\n gfc.scalefac_band.psfb21[$cPNKB.PSFB21] = 576;\n for(var i = 0; i < $cPNKB.SBMAX_s + 1; i++)gfc.scalefac_band.s[i] = qupvt.sfBandIndex[j].s[i];\n for(var i = 0; i < $cPNKB.PSFB12 + 1; i++){\n var size = (gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12]) / $cPNKB.PSFB12;\n var start = gfc.scalefac_band.s[12] + i * size;\n gfc.scalefac_band.psfb12[i] = start;\n }\n gfc.scalefac_band.psfb12[$cPNKB.PSFB12] = 192;\n /* determine the mean bitrate for main data */ if (gfp.version == 1) /* MPEG 1 */ gfc.sideinfo_len = gfc.channels_out == 1 ? 21 : 36;\n else /* MPEG 2 */ gfc.sideinfo_len = gfc.channels_out == 1 ? 13 : 21;\n if (gfp.error_protection) gfc.sideinfo_len += 2;\n lame_init_bitstream(gfp);\n gfc.Class_ID = LAME_ID;\n var k;\n for(k = 0; k < 19; k++)gfc.nsPsy.pefirbuf[k] = 700 * gfc.mode_gr * gfc.channels_out;\n if (gfp.ATHtype == -1) gfp.ATHtype = 4;\n $ecb6e13812bdc08b$var$assert(gfp.VBR_q <= 9);\n $ecb6e13812bdc08b$var$assert(gfp.VBR_q >= 0);\n switch(gfp.VBR){\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mt:\n gfp.VBR = $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh;\n //$FALL-THROUGH$\n case $ecb6e13812bdc08b$var$VbrMode.vbr_mtrh:\n if (gfp.useTemporal == null) gfp.useTemporal = false;\n p.apply_preset(gfp, 500 - gfp.VBR_q * 10, 0);\n /**\n * <PRE>\n * The newer VBR code supports only a limited\n * subset of quality levels:\n * 9-5=5 are the same, uses x^3/4 quantization\n * 4-0=0 are the same 5 plus best huffman divide code\n * </PRE>\n */ if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n if (gfp.quality < 5) gfp.quality = 0;\n if (gfp.quality > 5) gfp.quality = 5;\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n /*\n * sfb21 extra only with MPEG-1 at higher sampling rates\n */ if (gfp.experimentalY) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = gfp.out_samplerate > 44000;\n gfc.iteration_loop = new VBRNewIterationLoop(qu);\n break;\n case $ecb6e13812bdc08b$var$VbrMode.vbr_rh:\n p.apply_preset(gfp, 500 - gfp.VBR_q * 10, 0);\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n /*\n * sfb21 extra only with MPEG-1 at higher sampling rates\n */ if (gfp.experimentalY) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = gfp.out_samplerate > 44000;\n /*\n * VBR needs at least the output of GPSYCHO, so we have to garantee\n * that by setting a minimum quality level, actually level 6 does\n * it. down to level 6\n */ if (gfp.quality > 6) gfp.quality = 6;\n if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n gfc.iteration_loop = new VBROldIterationLoop(qu);\n break;\n default:\n var vbrmode;\n /*\n * no sfb21 extra with CBR code\n */ gfc.sfb21_extra = false;\n if (gfp.quality < 0) gfp.quality = LAME_DEFAULT_QUALITY;\n vbrmode = gfp.VBR;\n if (vbrmode == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfp.VBR_mean_bitrate_kbps = gfp.brate;\n /* second, set parameters depending on bitrate */ p.apply_preset(gfp, gfp.VBR_mean_bitrate_kbps, 0);\n gfp.VBR = vbrmode;\n gfc.PSY.mask_adjust = gfp.maskingadjust;\n gfc.PSY.mask_adjust_short = gfp.maskingadjust_short;\n if (vbrmode == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfc.iteration_loop = new $e32wu(qu);\n else gfc.iteration_loop = new ABRIterationLoop(qu);\n break;\n }\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n /* initialize default values common for all modes */ if (gfp.VBR != $ecb6e13812bdc08b$var$VbrMode.vbr_off) {\n /* if the user didn't specify VBR_max_bitrate: */ gfc.VBR_min_bitrate = 1;\n /*\n * default: allow 8 kbps (MPEG-2) or 32 kbps (MPEG-1)\n */ gfc.VBR_max_bitrate = 14;\n /*\n * default: allow 160 kbps (MPEG-2) or 320 kbps (MPEG-1)\n */ if (gfp.out_samplerate < 16000) gfc.VBR_max_bitrate = 8;\n /* default: allow 64 kbps (MPEG-2.5) */ if (gfp.VBR_min_bitrate_kbps != 0) {\n gfp.VBR_min_bitrate_kbps = FindNearestBitrate(gfp.VBR_min_bitrate_kbps, gfp.version, gfp.out_samplerate);\n gfc.VBR_min_bitrate = BitrateIndex(gfp.VBR_min_bitrate_kbps, gfp.version, gfp.out_samplerate);\n if (gfc.VBR_min_bitrate < 0) return -1;\n }\n if (gfp.VBR_max_bitrate_kbps != 0) {\n gfp.VBR_max_bitrate_kbps = FindNearestBitrate(gfp.VBR_max_bitrate_kbps, gfp.version, gfp.out_samplerate);\n gfc.VBR_max_bitrate = BitrateIndex(gfp.VBR_max_bitrate_kbps, gfp.version, gfp.out_samplerate);\n if (gfc.VBR_max_bitrate < 0) return -1;\n }\n gfp.VBR_min_bitrate_kbps = $dQDcS.bitrate_table[gfp.version][gfc.VBR_min_bitrate];\n gfp.VBR_max_bitrate_kbps = $dQDcS.bitrate_table[gfp.version][gfc.VBR_max_bitrate];\n gfp.VBR_mean_bitrate_kbps = Math.min($dQDcS.bitrate_table[gfp.version][gfc.VBR_max_bitrate], gfp.VBR_mean_bitrate_kbps);\n gfp.VBR_mean_bitrate_kbps = Math.max($dQDcS.bitrate_table[gfp.version][gfc.VBR_min_bitrate], gfp.VBR_mean_bitrate_kbps);\n }\n /* just another daily changing developer switch */ if (gfp.tune) {\n gfc.PSY.mask_adjust += gfp.tune_value_a;\n gfc.PSY.mask_adjust_short += gfp.tune_value_a;\n }\n /* initialize internal qval settings */ lame_init_qval(gfp);\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n /*\n * automatic ATH adjustment on\n */ if (gfp.athaa_type < 0) gfc.ATH.useAdjust = 3;\n else gfc.ATH.useAdjust = gfp.athaa_type;\n /* initialize internal adaptive ATH settings -jd */ gfc.ATH.aaSensitivityP = Math.pow(10.0, gfp.athaa_sensitivity / -10);\n if (gfp.short_blocks == null) gfp.short_blocks = $ecb6e13812bdc08b$var$ShortBlock.short_block_allowed;\n /*\n * Note Jan/2003: Many hardware decoders cannot handle short blocks in\n * regular stereo mode unless they are coupled (same type in both\n * channels) it is a rare event (1 frame per min. or so) that LAME would\n * use uncoupled short blocks, so lets turn them off until we decide how\n * to handle this. No other encoders allow uncoupled short blocks, even\n * though it is in the standard.\n */ /*\n * rh 20040217: coupling makes no sense for mono and dual-mono streams\n */ if (gfp.short_blocks == $ecb6e13812bdc08b$var$ShortBlock.short_block_allowed && (gfp.mode == MPEGMode.JOINT_STEREO || gfp.mode == MPEGMode.STEREO)) gfp.short_blocks = $ecb6e13812bdc08b$var$ShortBlock.short_block_coupled;\n if (gfp.quant_comp < 0) gfp.quant_comp = 1;\n if (gfp.quant_comp_short < 0) gfp.quant_comp_short = 0;\n if (gfp.msfix < 0) gfp.msfix = 0;\n /* select psychoacoustic model */ gfp.exp_nspsytune = gfp.exp_nspsytune | 1;\n if (gfp.internal_flags.nsPsy.attackthre < 0) gfp.internal_flags.nsPsy.attackthre = $d2VP0.NSATTACKTHRE;\n if (gfp.internal_flags.nsPsy.attackthre_s < 0) gfp.internal_flags.nsPsy.attackthre_s = $d2VP0.NSATTACKTHRE_S;\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n if (gfp.scale < 0) gfp.scale = 1;\n if (gfp.ATHtype < 0) gfp.ATHtype = 4;\n if (gfp.ATHcurve < 0) gfp.ATHcurve = 4;\n if (gfp.athaa_loudapprox < 0) gfp.athaa_loudapprox = 2;\n if (gfp.interChRatio < 0) gfp.interChRatio = 0;\n if (gfp.useTemporal == null) gfp.useTemporal = true;\n /* on by default */ /*\n * padding method as described in\n * \"MPEG-Layer3 / Bitstream Syntax and Decoding\" by Martin Sieler, Ralph\n * Sperschneider\n *\n * note: there is no padding for the very first frame\n *\n * Robert Hegemann 2000-06-22\n */ gfc.slot_lag = gfc.frac_SpF = 0;\n if (gfp.VBR == $ecb6e13812bdc08b$var$VbrMode.vbr_off) gfc.slot_lag = gfc.frac_SpF = (gfp.version + 1) * 72000 * gfp.brate % gfp.out_samplerate | 0;\n qupvt.iteration_init(gfp);\n psy.psymodel_init(gfp);\n $ecb6e13812bdc08b$var$assert(gfp.scale >= 0);\n return 0;\n };\n function update_inbuffer_size(gfc, nsamples) {\n if (gfc.in_buffer_0 == null || gfc.in_buffer_nsamples < nsamples) {\n gfc.in_buffer_0 = $ecb6e13812bdc08b$var$new_float(nsamples);\n gfc.in_buffer_1 = $ecb6e13812bdc08b$var$new_float(nsamples);\n gfc.in_buffer_nsamples = nsamples;\n }\n }\n this.lame_encode_flush = function(gfp, mp3buffer, mp3bufferPos, mp3buffer_size) {\n var gfc = gfp.internal_flags;\n var buffer = $ecb6e13812bdc08b$var$new_short_n([\n 2,\n 1152\n ]);\n var imp3 = 0, mp3count, mp3buffer_size_remaining;\n /*\n * we always add POSTDELAY=288 padding to make sure granule with real\n * data can be complety decoded (because of 50% overlap with next\n * granule\n */ var end_padding;\n var frames_left;\n var samples_to_encode = gfc.mf_samples_to_encode - $cPNKB.POSTDELAY;\n var mf_needed = calcNeeded(gfp);\n /* Was flush already called? */ if (gfc.mf_samples_to_encode < 1) return 0;\n mp3count = 0;\n if (gfp.in_samplerate != gfp.out_samplerate) /*\n * delay due to resampling; needs to be fixed, if resampling code\n * gets changed\n */ samples_to_encode += 16. * gfp.out_samplerate / gfp.in_samplerate;\n end_padding = gfp.framesize - samples_to_encode % gfp.framesize;\n if (end_padding < 576) end_padding += gfp.framesize;\n gfp.encoder_padding = end_padding;\n frames_left = (samples_to_encode + end_padding) / gfp.framesize;\n /*\n * send in a frame of 0 padding until all internal sample buffers are\n * flushed\n */ while(frames_left > 0 && imp3 >= 0){\n var bunch = mf_needed - gfc.mf_size;\n var frame_num = gfp.frameNum;\n bunch *= gfp.in_samplerate;\n bunch /= gfp.out_samplerate;\n if (bunch > 1152) bunch = 1152;\n if (bunch < 1) bunch = 1;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n imp3 = this.lame_encode_buffer(gfp, buffer[0], buffer[1], bunch, mp3buffer, mp3bufferPos, mp3buffer_size_remaining);\n mp3bufferPos += imp3;\n mp3count += imp3;\n frames_left -= frame_num != gfp.frameNum ? 1 : 0;\n }\n /*\n * Set gfc.mf_samples_to_encode to 0, so we may detect and break loops\n * calling it more than once in a row.\n */ gfc.mf_samples_to_encode = 0;\n if (imp3 < 0) /* some type of fatal error */ return imp3;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n /* mp3 related stuff. bit buffer might still contain some mp3 data */ bs.flush_bitstream(gfp);\n imp3 = bs.copy_buffer(gfc, mp3buffer, mp3bufferPos, mp3buffer_size_remaining, 1);\n if (imp3 < 0) /* some type of fatal error */ return imp3;\n mp3bufferPos += imp3;\n mp3count += imp3;\n mp3buffer_size_remaining = mp3buffer_size - mp3count;\n /* if user specifed buffer size = 0, dont check size */ if (mp3buffer_size == 0) mp3buffer_size_remaining = 0;\n if (gfp.write_id3tag_automatic) {\n /* write a id3 tag to the bitstream */ id3.id3tag_write_v1(gfp);\n imp3 = bs.copy_buffer(gfc, mp3buffer, mp3bufferPos, mp3buffer_size_remaining, 0);\n if (imp3 < 0) return imp3;\n mp3count += imp3;\n }\n return mp3count;\n };\n this.lame_encode_buffer = function(gfp, buffer_l, buffer_r, nsamples, mp3buf, mp3bufPos, mp3buf_size) {\n var gfc = gfp.internal_flags;\n var in_buffer = [\n null,\n null\n ];\n if (gfc.Class_ID != LAME_ID) return -3;\n if (nsamples == 0) return 0;\n update_inbuffer_size(gfc, nsamples);\n in_buffer[0] = gfc.in_buffer_0;\n in_buffer[1] = gfc.in_buffer_1;\n /* make a copy of input buffer, changing type to sample_t */ for(var i = 0; i < nsamples; i++){\n in_buffer[0][i] = buffer_l[i];\n if (gfc.channels_in > 1) in_buffer[1][i] = buffer_r[i];\n }\n return lame_encode_buffer_sample(gfp, in_buffer[0], in_buffer[1], nsamples, mp3buf, mp3bufPos, mp3buf_size);\n };\n function calcNeeded(gfp) {\n var mf_needed = $cPNKB.BLKSIZE + gfp.framesize - $cPNKB.FFTOFFSET;\n /*\n * amount needed for FFT\n */ mf_needed = Math.max(mf_needed, 512 + gfp.framesize - 32);\n $ecb6e13812bdc08b$var$assert($4SDnr.MFSIZE >= mf_needed);\n return mf_needed;\n }\n function lame_encode_buffer_sample(gfp, buffer_l, buffer_r, nsamples, mp3buf, mp3bufPos, mp3buf_size) {\n var gfc = gfp.internal_flags;\n var mp3size = 0, ret, i, ch, mf_needed;\n var mp3out;\n var mfbuf = [\n null,\n null\n ];\n var in_buffer = [\n null,\n null\n ];\n if (gfc.Class_ID != LAME_ID) return -3;\n if (nsamples == 0) return 0;\n /* copy out any tags that may have been written into bitstream */ mp3out = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 0);\n if (mp3out < 0) return mp3out;\n /* not enough buffer space */ mp3bufPos += mp3out;\n mp3size += mp3out;\n in_buffer[0] = buffer_l;\n in_buffer[1] = buffer_r;\n /* Apply user defined re-scaling */ /* user selected scaling of the samples */ if ($ctaQC.NEQ(gfp.scale, 0) && $ctaQC.NEQ(gfp.scale, 1.0)) for(i = 0; i < nsamples; ++i){\n in_buffer[0][i] *= gfp.scale;\n if (gfc.channels_out == 2) in_buffer[1][i] *= gfp.scale;\n }\n /* user selected scaling of the channel 0 (left) samples */ if ($ctaQC.NEQ(gfp.scale_left, 0) && $ctaQC.NEQ(gfp.scale_left, 1.0)) for(i = 0; i < nsamples; ++i)in_buffer[0][i] *= gfp.scale_left;\n /* user selected scaling of the channel 1 (right) samples */ if ($ctaQC.NEQ(gfp.scale_right, 0) && $ctaQC.NEQ(gfp.scale_right, 1.0)) for(i = 0; i < nsamples; ++i)in_buffer[1][i] *= gfp.scale_right;\n /* Downsample to Mono if 2 channels in and 1 channel out */ if (gfp.num_channels == 2 && gfc.channels_out == 1) for(i = 0; i < nsamples; ++i){\n in_buffer[0][i] = 0.5 * (in_buffer[0][i] + in_buffer[1][i]);\n in_buffer[1][i] = 0.0;\n }\n mf_needed = calcNeeded(gfp);\n mfbuf[0] = gfc.mfbuf[0];\n mfbuf[1] = gfc.mfbuf[1];\n var in_bufferPos = 0;\n while(nsamples > 0){\n var in_buffer_ptr = [\n null,\n null\n ];\n var n_in = 0;\n /* number of input samples processed with fill_buffer */ var n_out = 0;\n /* number of samples output with fill_buffer */ /* n_in <> n_out if we are resampling */ in_buffer_ptr[0] = in_buffer[0];\n in_buffer_ptr[1] = in_buffer[1];\n /* copy in new samples into mfbuf, with resampling */ var inOut = new InOut();\n fill_buffer(gfp, mfbuf, in_buffer_ptr, in_bufferPos, nsamples, inOut);\n n_in = inOut.n_in;\n n_out = inOut.n_out;\n /* compute ReplayGain of resampled input if requested */ if (gfc.findReplayGain && !gfc.decode_on_the_fly) {\n if (ga.AnalyzeSamples(gfc.rgdata, mfbuf[0], gfc.mf_size, mfbuf[1], gfc.mf_size, n_out, gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR) return -6;\n }\n /* update in_buffer counters */ nsamples -= n_in;\n in_bufferPos += n_in;\n gfc.channels_out; // in_bufferPos += n_in;\n /* update mfbuf[] counters */ gfc.mf_size += n_out;\n $ecb6e13812bdc08b$var$assert(gfc.mf_size <= $4SDnr.MFSIZE);\n /*\n * lame_encode_flush may have set gfc.mf_sample_to_encode to 0 so we\n * have to reinitialize it here when that happened.\n */ if (gfc.mf_samples_to_encode < 1) gfc.mf_samples_to_encode = $cPNKB.ENCDELAY + $cPNKB.POSTDELAY;\n gfc.mf_samples_to_encode += n_out;\n if (gfc.mf_size >= mf_needed) {\n /* encode the frame. */ /* mp3buf = pointer to current location in buffer */ /* mp3buf_size = size of original mp3 output buffer */ /* = 0 if we should not worry about the */ /* buffer size because calling program is */ /* to lazy to compute it */ /* mp3size = size of data written to buffer so far */ /* mp3buf_size-mp3size = amount of space avalable */ var buf_size = mp3buf_size - mp3size;\n if (mp3buf_size == 0) buf_size = 0;\n ret = lame_encode_frame(gfp, mfbuf[0], mfbuf[1], mp3buf, mp3bufPos, buf_size);\n if (ret < 0) return ret;\n mp3bufPos += ret;\n mp3size += ret;\n /* shift out old samples */ gfc.mf_size -= gfp.framesize;\n gfc.mf_samples_to_encode -= gfp.framesize;\n for(ch = 0; ch < gfc.channels_out; ch++)for(i = 0; i < gfc.mf_size; i++)mfbuf[ch][i] = mfbuf[ch][i + gfp.framesize];\n }\n }\n $ecb6e13812bdc08b$var$assert(nsamples == 0);\n return mp3size;\n }\n function lame_encode_frame(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var ret = self.enc.lame_encode_mp3_frame(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size);\n gfp.frameNum++;\n return ret;\n }\n function InOut() {\n this.n_in = 0;\n this.n_out = 0;\n }\n function NumUsed() {\n this.num_used = 0;\n }\n /**\n * Greatest common divisor.\n * <p>\n * Joint work of Euclid and M. Hendry\n */ function gcd(i, j) {\n return j != 0 ? gcd(j, i % j) : i;\n }\n /**\n * Resampling via FIR filter, blackman window.\n */ function blackman(x, fcn, l) {\n /*\n * This algorithm from: SIGNAL PROCESSING ALGORITHMS IN FORTRAN AND C\n * S.D. Stearns and R.A. David, Prentice-Hall, 1992\n */ var wcn = Math.PI * fcn;\n x /= l;\n if (x < 0) x = 0;\n if (x > 1) x = 1;\n var x2 = x - .5;\n var bkwn = 0.42 - 0.5 * Math.cos(2 * x * Math.PI) + 0.08 * Math.cos(4 * x * Math.PI);\n if (Math.abs(x2) < 1e-9) return wcn / Math.PI;\n else return bkwn * Math.sin(l * wcn * x2) / (Math.PI * l * x2);\n }\n function fill_buffer_resample(gfp, outbuf, outbufPos, desired_len, inbuf, in_bufferPos, len, num_used, ch) {\n var gfc = gfp.internal_flags;\n var i, j = 0, k;\n /* number of convolution functions to pre-compute */ var bpc = gfp.out_samplerate / gcd(gfp.out_samplerate, gfp.in_samplerate);\n if (bpc > $4SDnr.BPC) bpc = $4SDnr.BPC;\n var intratio = Math.abs(gfc.resample_ratio - Math.floor(.5 + gfc.resample_ratio)) < .0001 ? 1 : 0;\n var fcn = 1.00 / gfc.resample_ratio;\n if (fcn > 1.00) fcn = 1.00;\n var filter_l = 31;\n if (0 == filter_l % 2) --filter_l;\n /* must be odd */ filter_l += intratio;\n /* unless resample_ratio=int, it must be even */ var BLACKSIZE = filter_l + 1;\n /* size of data needed for FIR */ if (gfc.fill_buffer_resample_init == 0) {\n gfc.inbuf_old[0] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n gfc.inbuf_old[1] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n for(i = 0; i <= 2 * bpc; ++i)gfc.blackfilt[i] = $ecb6e13812bdc08b$var$new_float(BLACKSIZE);\n gfc.itime[0] = 0;\n gfc.itime[1] = 0;\n /* precompute blackman filter coefficients */ for(j = 0; j <= 2 * bpc; j++){\n var sum = 0.;\n var offset = (j - bpc) / (2. * bpc);\n for(i = 0; i <= filter_l; i++)sum += gfc.blackfilt[j][i] = blackman(i - offset, fcn, filter_l);\n for(i = 0; i <= filter_l; i++)gfc.blackfilt[j][i] /= sum;\n }\n gfc.fill_buffer_resample_init = 1;\n }\n var inbuf_old = gfc.inbuf_old[ch];\n /* time of j'th element in inbuf = itime + j/ifreq; */ /* time of k'th element in outbuf = j/ofreq */ for(k = 0; k < desired_len; k++){\n var time0;\n var joff;\n time0 = k * gfc.resample_ratio;\n /* time of k'th output sample */ j = 0 | Math.floor(time0 - gfc.itime[ch]);\n /* check if we need more input data */ if (filter_l + j - filter_l / 2 >= len) break;\n /* blackman filter. by default, window centered at j+.5(filter_l%2) */ /* but we want a window centered at time0. */ var offset = time0 - gfc.itime[ch] - (j + .5 * (filter_l % 2));\n $ecb6e13812bdc08b$var$assert(Math.abs(offset) <= .501);\n /* find the closest precomputed window for this offset: */ joff = 0 | Math.floor(offset * 2 * bpc + bpc + .5);\n var xvalue = 0.;\n for(i = 0; i <= filter_l; ++i){\n /* force integer index */ var j2 = 0 | i + j - filter_l / 2;\n var y;\n $ecb6e13812bdc08b$var$assert(j2 < len);\n $ecb6e13812bdc08b$var$assert(j2 + BLACKSIZE >= 0);\n y = j2 < 0 ? inbuf_old[BLACKSIZE + j2] : inbuf[in_bufferPos + j2];\n xvalue += y * gfc.blackfilt[joff][i];\n }\n outbuf[outbufPos + k] = xvalue;\n }\n /* k = number of samples added to outbuf */ /* last k sample used data from [j-filter_l/2,j+filter_l-filter_l/2] */ /* how many samples of input data were used: */ num_used.num_used = Math.min(len, filter_l + j - filter_l / 2);\n /*\n * adjust our input time counter. Incriment by the number of samples\n * used, then normalize so that next output sample is at time 0, next\n * input buffer is at time itime[ch]\n */ gfc.itime[ch] += num_used.num_used - k * gfc.resample_ratio;\n /* save the last BLACKSIZE samples into the inbuf_old buffer */ if (num_used.num_used >= BLACKSIZE) for(i = 0; i < BLACKSIZE; i++)inbuf_old[i] = inbuf[in_bufferPos + num_used.num_used + i - BLACKSIZE];\n else {\n /* shift in num_used.num_used samples into inbuf_old */ var n_shift = BLACKSIZE - num_used.num_used;\n /*\n * number of samples to\n * shift\n */ /*\n * shift n_shift samples by num_used.num_used, to make room for the\n * num_used new samples\n */ for(i = 0; i < n_shift; ++i)inbuf_old[i] = inbuf_old[i + num_used.num_used];\n /* shift in the num_used.num_used samples */ for(j = 0; i < BLACKSIZE; ++i, ++j)inbuf_old[i] = inbuf[in_bufferPos + j];\n $ecb6e13812bdc08b$var$assert(j == num_used.num_used);\n }\n return k;\n /* return the number samples created at the new samplerate */ }\n function fill_buffer(gfp, mfbuf, in_buffer, in_bufferPos, nsamples, io) {\n var gfc = gfp.internal_flags;\n /* copy in new samples into mfbuf, with resampling if necessary */ if (gfc.resample_ratio < .9999 || gfc.resample_ratio > 1.0001) for(var ch = 0; ch < gfc.channels_out; ch++){\n var numUsed = new NumUsed();\n io.n_out = fill_buffer_resample(gfp, mfbuf[ch], gfc.mf_size, gfp.framesize, in_buffer[ch], in_bufferPos, nsamples, numUsed, ch);\n io.n_in = numUsed.num_used;\n }\n else {\n io.n_out = Math.min(gfp.framesize, nsamples);\n io.n_in = io.n_out;\n for(var i = 0; i < io.n_out; ++i){\n mfbuf[0][gfc.mf_size + i] = in_buffer[0][in_bufferPos + i];\n if (gfc.channels_out == 2) mfbuf[1][gfc.mf_size + i] = in_buffer[1][in_bufferPos + i];\n }\n }\n }\n}\nmodule.exports = $ecb6e13812bdc08b$var$Lame;\n\n});\nparcelRequire.register(\"3YDN3\", function(module, exports) {\nfunction $2e55d7364d01815c$var$new_byte(count) {\n return new Int8Array(count);\n}\nfunction $2e55d7364d01815c$var$new_short(count) {\n return new Int16Array(count);\n}\nfunction $2e55d7364d01815c$var$new_int(count) {\n return new Int32Array(count);\n}\nfunction $2e55d7364d01815c$var$new_float(count) {\n return new Float32Array(count);\n}\nfunction $2e55d7364d01815c$var$new_double(count) {\n return new Float64Array(count);\n}\nfunction $2e55d7364d01815c$var$new_float_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_float(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_float_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_int_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_int(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_int_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_short_n(args) {\n if (args.length == 1) return $2e55d7364d01815c$var$new_short(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_short_n(args));\n return A;\n}\nfunction $2e55d7364d01815c$var$new_array_n(args) {\n if (args.length == 1) return new Array(args[0]);\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for(var i = 0; i < sz; i++)A.push($2e55d7364d01815c$var$new_array_n(args));\n return A;\n}\nvar $2e55d7364d01815c$var$Arrays = {};\n$2e55d7364d01815c$var$Arrays.fill = function(a, fromIndex, toIndex, val) {\n if (arguments.length == 2) for(var i = 0; i < a.length; i++)a[i] = arguments[1];\n else for(var i = fromIndex; i < toIndex; i++)a[i] = val;\n};\nvar $2e55d7364d01815c$var$System = {};\n$2e55d7364d01815c$var$System.arraycopy = function(src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while(srcPos < srcEnd)dest[destPos++] = src[srcPos++];\n};\n$2e55d7364d01815c$var$System.out = {};\n$2e55d7364d01815c$var$System.out.println = function(message) {\n console.log(message);\n};\n$2e55d7364d01815c$var$System.out.printf = function() {\n console.log.apply(console, arguments);\n};\nvar $2e55d7364d01815c$var$Util = {};\n$2e55d7364d01815c$var$Util.SQRT2 = 1.41421356237309504880;\n$2e55d7364d01815c$var$Util.FAST_LOG10 = function(x) {\n return Math.log10(x);\n};\n$2e55d7364d01815c$var$Util.FAST_LOG10_X = function(x, y) {\n return Math.log10(x) * y;\n};\nfunction $2e55d7364d01815c$var$ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_allowed = new $2e55d7364d01815c$var$ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_coupled = new $2e55d7364d01815c$var$ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_dispensed = new $2e55d7364d01815c$var$ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */ $2e55d7364d01815c$var$ShortBlock.short_block_forced = new $2e55d7364d01815c$var$ShortBlock(3);\nvar $2e55d7364d01815c$var$Float = {};\n$2e55d7364d01815c$var$Float.MAX_VALUE = 3.4028235e+38;\nfunction $2e55d7364d01815c$var$VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\n$2e55d7364d01815c$var$VbrMode.vbr_off = new $2e55d7364d01815c$var$VbrMode(0);\n$2e55d7364d01815c$var$VbrMode.vbr_mt = new $2e55d7364d01815c$var$VbrMode(1);\n$2e55d7364d01815c$var$VbrMode.vbr_rh = new $2e55d7364d01815c$var$VbrMode(2);\n$2e55d7364d01815c$var$VbrMode.vbr_abr = new $2e55d7364d01815c$var$VbrMode(3);\n$2e55d7364d01815c$var$VbrMode.vbr_mtrh = new $2e55d7364d01815c$var$VbrMode(4);\n$2e55d7364d01815c$var$VbrMode.vbr_default = $2e55d7364d01815c$var$VbrMode.vbr_mtrh;\nvar $2e55d7364d01815c$var$assert = function(x) {\n//console.assert(x);\n};\nmodule.exports = {\n \"System\": $2e55d7364d01815c$var$System,\n \"VbrMode\": $2e55d7364d01815c$var$VbrMode,\n \"Float\": $2e55d7364d01815c$var$Float,\n \"ShortBlock\": $2e55d7364d01815c$var$ShortBlock,\n \"Util\": $2e55d7364d01815c$var$Util,\n \"Arrays\": $2e55d7364d01815c$var$Arrays,\n \"new_array_n\": $2e55d7364d01815c$var$new_array_n,\n \"new_byte\": $2e55d7364d01815c$var$new_byte,\n \"new_double\": $2e55d7364d01815c$var$new_double,\n \"new_float\": $2e55d7364d01815c$var$new_float,\n \"new_float_n\": $2e55d7364d01815c$var$new_float_n,\n \"new_int\": $2e55d7364d01815c$var$new_int,\n \"new_int_n\": $2e55d7364d01815c$var$new_int_n,\n \"new_short\": $2e55d7364d01815c$var$new_short,\n \"new_short_n\": $2e55d7364d01815c$var$new_short_n,\n \"assert\": $2e55d7364d01815c$var$assert\n};\n\n});\n\nparcelRequire.register(\"d2VP0\", function(module, exports) {\n/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */ /*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */ /*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */ /*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */ /*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $97f850779472263e$var$System = $3YDN3.System;\nvar $97f850779472263e$var$VbrMode = $3YDN3.VbrMode;\nvar $97f850779472263e$var$Float = $3YDN3.Float;\nvar $97f850779472263e$var$ShortBlock = $3YDN3.ShortBlock;\nvar $97f850779472263e$var$Util = $3YDN3.Util;\nvar $97f850779472263e$var$Arrays = $3YDN3.Arrays;\nvar $97f850779472263e$var$new_array_n = $3YDN3.new_array_n;\nvar $97f850779472263e$var$new_byte = $3YDN3.new_byte;\nvar $97f850779472263e$var$new_double = $3YDN3.new_double;\nvar $97f850779472263e$var$new_float = $3YDN3.new_float;\nvar $97f850779472263e$var$new_float_n = $3YDN3.new_float_n;\nvar $97f850779472263e$var$new_int = $3YDN3.new_int;\nvar $97f850779472263e$var$new_int_n = $3YDN3.new_int_n;\nvar $97f850779472263e$var$assert = $3YDN3.assert;\n\nvar $2g11P = parcelRequire(\"2g11P\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nfunction $97f850779472263e$var$PsyModel() {\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var fft = new $2g11P();\n var LOG10 = 2.30258509299404568402;\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n /* size of each partition band, in barks: */ var DELBARK = .34;\n /* tuned for output level (sensitive to energy scale) */ var VO_SCALE = 1. / 217621504 / ($cPNKB.BLKSIZE / 2);\n var temporalmask_sustain_sec = 0.01;\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n var NS_MSFIX = 3.5;\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n var NSFIRLEN = 21;\n /* size of each partition band, in barks: */ var LN_TO_LOG10 = 0.2302585093;\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n /**\n * <PRE>\n * L3psycho_anal. Compute psycho acoustics.\n *\n * Data returned to the calling program must be delayed by one\n * granule.\n *\n * This is done in two places.\n * If we do not need to know the blocktype, the copying\n * can be done here at the top of the program: we copy the data for\n * the last granule (computed during the last call) before it is\n * overwritten with the new data. It looks like this:\n *\n * 0. static psymodel_data\n * 1. calling_program_data = psymodel_data\n * 2. compute psymodel_data\n *\n * For data which needs to know the blocktype, the copying must be\n * done at the end of this loop, and the old values must be saved:\n *\n * 0. static psymodel_data_old\n * 1. compute psymodel_data\n * 2. compute possible block type of this granule\n * 3. compute final block type of previous granule based on #2.\n * 4. calling_program_data = psymodel_data_old\n * 5. psymodel_data_old = psymodel_data\n * psycho_loudness_approx\n * jd - 2001 mar 12\n * in: energy - BLKSIZE/2 elements of frequency magnitudes ^ 2\n * gfp - uses out_samplerate, ATHtype (also needed for ATHformula)\n * returns: loudness^2 approximation, a positive value roughly tuned for a value\n * of 1.0 for signals near clipping.\n * notes: When calibrated, feeding this function binary white noise at sample\n * values +32767 or -32768 should return values that approach 3.\n * ATHformula is used to approximate an equal loudness curve.\n * future: Data indicates that the shape of the equal loudness curve varies\n * with intensity. This function might be improved by using an equal\n * loudness curve shaped for typical playback levels (instead of the\n * ATH, that is shaped for the threshold). A flexible realization might\n * simply bend the existing ATH curve to achieve the desired shape.\n * However, the potential gain may not be enough to justify an effort.\n * </PRE>\n */ function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */ for(var i = 0; i < $cPNKB.BLKSIZE / 2; ++i)loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n return loudness_power;\n }\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n for(var j = $cPNKB.BLKSIZE - 1; j >= 0; --j){\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n for(var b = 2; b >= 0; --b)for(var j = $cPNKB.BLKSIZE_s - 1; j >= 0; --j){\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n for(var j = $cPNKB.BLKSIZE / 2 - 1; j >= 0; --j){\n var re = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 + j];\n fftenergy[$cPNKB.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n for(var b = 2; b >= 0; --b){\n fftenergy_s[b][0] = wsamp_s[wsamp_sPos + 0][b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for(var j = $cPNKB.BLKSIZE_s / 2 - 1; j >= 0; --j){\n var re = wsamp_s[wsamp_sPos + 0][b][$cPNKB.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][b][$cPNKB.BLKSIZE_s / 2 + j];\n fftenergy_s[b][$cPNKB.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n }\n var totalenergy = 0.0;\n for(var j = 11; j < $cPNKB.HBLKSIZE; j++)totalenergy += fftenergy[j];\n gfc.tot_ener[chn] = totalenergy;\n if (gfp.analysis) {\n for(var j = 0; j < $cPNKB.HBLKSIZE; j++){\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/ if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n /* mask_add optimization */ /* init the limit values used to avoid computing log in mask_add when it is not necessary */ /**\n * <PRE>\n * For example, with i = 10*log10(m2/m1)/10*16 (= log10(m2/m1)*16)\n *\n * abs(i)>8 is equivalent (as i is an integer) to\n * abs(i)>=9\n * i>=9 || i<=-9\n * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n * exp10 is strictly increasing thus this is equivalent to\n * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n * </PRE>\n */ /**\n * as in if(i>8)\n */ var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */ var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */ var MLIMIT = 15;\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n /**\n * This is the masking table:<BR>\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).<BR>\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */ var tab = [\n 1.0,\n 0.79433,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.63096,\n 0.25119,\n 0.11749\n ];\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, MLIMIT / 10.0);\n }\n var table1 = [\n 3.3246 * 3.3246,\n 3.23837 * 3.23837,\n 9.9500500969,\n 9.0247369744,\n 8.1854926609,\n 7.0440875649,\n 2.46209 * 2.46209,\n 2.284 * 2.284,\n 4.4892710641,\n 1.96552 * 1.96552,\n 1.82335 * 1.82335,\n 1.69146 * 1.69146,\n 2.4621061921,\n 2.1508568964,\n 1.37074 * 1.37074,\n 1.31036 * 1.31036,\n 1.5691069696,\n 1.4555939904,\n 1.16203 * 1.16203,\n 1.2715945225,\n 1.09428 * 1.09428,\n 1.0659 * 1.0659,\n 1.0779838276,\n 1.0382591025,\n 1\n ];\n var table2 = [\n 1.7782755904,\n 1.35879 * 1.35879,\n 1.38454 * 1.38454,\n 1.39497 * 1.39497,\n 1.40548 * 1.40548,\n 1.3537 * 1.3537,\n 1.6999465924,\n 1.22321 * 1.22321,\n 1.3169398564,\n 1\n ];\n var table3 = [\n 5.5396212496,\n 2.29259 * 2.29259,\n 4.9868695969,\n 2.12675 * 2.12675,\n 2.02545 * 2.02545,\n 1.87894 * 1.87894,\n 1.74303 * 1.74303,\n 1.61695 * 1.61695,\n 2.2499700001,\n 1.39148 * 1.39148,\n 1.29083 * 1.29083,\n 1.19746 * 1.19746,\n 1.2339655056,\n 1.0779838276\n ];\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */ function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n if (m2 > m1) {\n if (m2 < m1 * ma_max_i2) ratio = m2 / m1;\n else return m1 + m2;\n } else {\n if (m1 >= m2 * ma_max_i2) return m1 + m2;\n ratio = m1 / m2;\n }\n /* Should always be true, just checking */ $97f850779472263e$var$assert(m1 >= 0);\n $97f850779472263e$var$assert(m2 >= 0);\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if (b + 3 <= 6) {\n /* approximately, 1 bark = 3 partitions */ /* 65% of the cases */ /* originally 'if(i > 8)' */ if (ratio >= ma_max_i1) /* 43% of the total */ return m1;\n /* 22% of the total */ var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n return m1 * table2[i];\n }\n /**\n * <PRE>\n * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n * </PRE>\n */ var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n else m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n $97f850779472263e$var$assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */ /* Originally if (m > 0) { */ if (m1 > m2) {\n var f, r;\n f = 1.0;\n if (i <= 13) f = table3[i];\n r = $97f850779472263e$var$Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n if (i > 13) return m1;\n return m1 * table3[i];\n }\n /* 10% of total */ return m1 * table1[i];\n }\n var table2_ = [\n 1.7782755904,\n 1.35879 * 1.35879,\n 1.38454 * 1.38454,\n 1.39497 * 1.39497,\n 1.40548 * 1.40548,\n 1.3537 * 1.3537,\n 1.6999465924,\n 1.22321 * 1.22321,\n 1.3169398564,\n 1\n ];\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */ function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n if (m1 < 0) m1 = 0;\n if (m2 < 0) m2 = 0;\n if (m1 <= 0) return m2;\n if (m2 <= 0) return m1;\n if (m2 > m1) ratio = m2 / m1;\n else ratio = m1 / m2;\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */ /* originally 'if(i > 8)' */ if (ratio >= ma_max_i1) return m1 + m2;\n else {\n var i = 0 | $97f850779472263e$var$Util.FAST_LOG10_X(ratio, 16.0);\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) return m1 + m2;\n if (m1 < m2) m1 = m2;\n return m1;\n }\n /**\n * compute interchannel masking effects\n */ function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */ function msfix1(gfc) {\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n /* use this fix if L & R masking differs by 2db or less */ /* if db = 10*log10(x2/x1) < 2 */ /* if (x2 < 1.58*x1) { */ if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb] || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb]) continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb], Math.min(gfc.thm[3].l[sb], mld));\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb], Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock] || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock]) continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock], Math.min(gfc.thm[3].s[sb][sblock], mld));\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock], Math.min(gfc.thm[2].s[sb][sblock], mld));\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */ function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n msfix *= 2.0;\n msfix2 *= 2.0;\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n var thmLR, thmM, thmS, ath;\n ath = gfc.ATH.cb_l[gfc.bm_l[sb]] * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath), Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n athlower *= $cPNKB.BLKSIZE_s / $cPNKB.BLKSIZE;\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var thmLR, thmM, thmS, ath;\n ath = gfc.ATH.cb_s[gfc.bm_s[sb]] * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath), Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock], thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock], thmS);\n }\n }\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */ function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for(sb = b = 0; sb < $cPNKB.SBMAX_s; ++b, ++sb){\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while(b < b_lim){\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n if (b >= npart_s) {\n ++sb;\n break;\n }\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n /* at transition sfb . sfb+1 */ var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n /* zero initialize the rest */ for(; sb < $cPNKB.SBMAX_s; ++sb){\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n /**\n * longblock threshold calculation (part 2)\n */ function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for(sb = b = 0; sb < $cPNKB.SBMAX_l; ++b, ++sb){\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while(b < b_lim){\n $97f850779472263e$var$assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n $97f850779472263e$var$assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n if (b >= npart_l) {\n ++sb;\n break;\n }\n $97f850779472263e$var$assert(eb[b] >= 0);\n $97f850779472263e$var$assert(thr[b] >= 0);\n /* at transition sfb . sfb+1 */ var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n /* zero initialize the rest */ for(; sb < $cPNKB.SBMAX_l; ++sb){\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n for(b = j = 0; b < gfc.npart_s; ++b){\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for(var i = 0; i < n; ++i, ++j){\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n }\n $97f850779472263e$var$assert(b == gfc.npart_s);\n $97f850779472263e$var$assert(j == 129);\n for(j = b = 0; b < gfc.npart_s; b++){\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while(kk <= gfc.s3ind_s[b][1]){\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n if (gfc.blocktype_old[chn & 1] == $cPNKB.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */ var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b <= $cPNKB.CBANDS; ++b){\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_coupled && !(uselongblock[0] != 0 && uselongblock[1] != 0)) uselongblock[0] = uselongblock[1] = 0;\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */ for(var chn = 0; chn < gfc.channels_out; chn++){\n blocktype[chn] = $cPNKB.NORM_TYPE;\n /* disable short blocks */ if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_dispensed) uselongblock[chn] = 1;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_forced) uselongblock[chn] = 0;\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */ $97f850779472263e$var$assert(gfc.blocktype_old[chn] != $cPNKB.START_TYPE);\n if (gfc.blocktype_old[chn] == $cPNKB.SHORT_TYPE) blocktype[chn] = $cPNKB.STOP_TYPE;\n } else {\n /* attack : use short blocks */ blocktype[chn] = $cPNKB.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.NORM_TYPE) gfc.blocktype_old[chn] = $cPNKB.START_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.STOP_TYPE) gfc.blocktype_old[chn] = $cPNKB.SHORT_TYPE;\n }\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */ if (r >= 1.0) /* 99.7% of the time */ return x;\n if (r <= 0.0) return y;\n if (y > 0.0) /* rest of the time */ return Math.pow(x / y, r) * y;\n /* never happens */ return 0.0;\n }\n /**\n * these values are tuned only for 44.1kHz...\n */ var regcoef_s = [\n 11.8,\n 13.6,\n 17.2,\n 32,\n 46.5,\n 51.3,\n 57.5,\n 67.1,\n 71.5,\n 84.6,\n 97.6,\n 130\n ];\n function pecalc_s(mr, masking_lower) {\n var pe_s = 309.07;\n for(var sb = 0; sb < $cPNKB.SBMAX_s - 1; sb++)for(var sblock = 0; sblock < 3; sblock++){\n var thm = mr.thm.s[sb][sblock];\n $97f850779472263e$var$assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) pe_s += regcoef_s[sb] * (10.0 * LOG10);\n else {\n $97f850779472263e$var$assert(x > 0);\n pe_s += regcoef_s[sb] * $97f850779472263e$var$Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_s;\n }\n /**\n * these values are tuned only for 44.1kHz...\n */ var regcoef_l = [\n 6.8,\n 5.8,\n 5.8,\n 6.4,\n 6.5,\n 9.9,\n 12.1,\n 14.4,\n 15,\n 18.9,\n 21.6,\n 26.9,\n 34.2,\n 40.2,\n 46.8,\n 56.5,\n 60.7,\n 73.9,\n 85.7,\n 93.4,\n 126.1\n ];\n function pecalc_l(mr, masking_lower) {\n var pe_l = 281.0575;\n for(var sb = 0; sb < $cPNKB.SBMAX_l - 1; sb++){\n var thm = mr.thm.l[sb];\n $97f850779472263e$var$assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) pe_l += regcoef_l[sb] * (10.0 * LOG10);\n else {\n $97f850779472263e$var$assert(x > 0);\n pe_l += regcoef_l[sb] * $97f850779472263e$var$Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n for(b = j = 0; b < gfc.npart_l; ++b){\n var ebb = 0, m = 0;\n var i;\n for(i = 0; i < gfc.numlines_l[b]; ++i, ++j){\n var el = fftenergy[j];\n $97f850779472263e$var$assert(el >= 0);\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n $97f850779472263e$var$assert(gfc.rnumlines_l[b] >= 0);\n $97f850779472263e$var$assert(ebb >= 0);\n $97f850779472263e$var$assert(eb[b] >= 0);\n $97f850779472263e$var$assert(max[b] >= 0);\n $97f850779472263e$var$assert(avg[b] >= 0);\n }\n }\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n for(b = 1; b < gfc.npart_l - 1; b++){\n a = avg[b - 1] + avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1 > 0);\n a = 20.0 * (m * 3.0 - a) / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n }\n $97f850779472263e$var$assert(b > 0);\n $97f850779472263e$var$assert(b == gfc.npart_l - 1);\n a = avg[b - 1] + avg[b];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n $97f850779472263e$var$assert(gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n $97f850779472263e$var$assert(b == gfc.npart_l - 1);\n }\n var fircoef = [\n -0.00000000000000000865163 * 2,\n -0.01703172,\n -0.00000000000000000674764 * 2,\n 0.0418072,\n -0.0000000000000000336639 * 2,\n -0.0876324,\n -0.0000000000000000154175 * 2,\n 0.1863476,\n -0.0000000000000000552212 * 2,\n -0.627638\n ];\n this.L3psycho_anal_ns = function(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */ var gfc = gfp.internal_flags;\n /* fft and energy calculation */ var wsamp_L = $97f850779472263e$var$new_float_n([\n 2,\n $cPNKB.BLKSIZE\n ]);\n var wsamp_S = $97f850779472263e$var$new_float_n([\n 2,\n 3,\n $cPNKB.BLKSIZE_s\n ]);\n /* convolution */ var eb_l = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var eb_s = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var thr = $97f850779472263e$var$new_float($cPNKB.CBANDS + 2);\n /* block type */ var blocktype = $97f850779472263e$var$new_int(2), uselongblock = $97f850779472263e$var$new_int(2);\n /* usual variables like loop indices, etc.. */ var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n /* variables used for --nspsytune */ var ns_hpfsmpl = $97f850779472263e$var$new_float_n([\n 2,\n 576\n ]);\n var pcfact;\n var mask_idx_l = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2), mask_idx_s = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2);\n $97f850779472263e$var$Arrays.fill(mask_idx_s, 0);\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */ if (gfp.mode == MPEGMode.JOINT_STEREO) numchn = 4;\n if (gfp.VBR == $97f850779472263e$var$VbrMode.vbr_off) pcfact = gfc.ResvMax == 0 ? 0 : gfc.ResvSize / gfc.ResvMax * 0.5;\n else if (gfp.VBR == $97f850779472263e$var$VbrMode.vbr_rh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mtrh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mt) pcfact = 0.6;\n else pcfact = 1.0;\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/ /* Don't copy the input buffer into a temporary buffer */ /* unroll the loop 2 times */ for(chn = 0; chn < gfc.channels_out; chn++){\n /* apply high pass filter of fs/4 */ var firbuf1 = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n $97f850779472263e$var$assert(fircoef.length == (NSFIRLEN - 1) / 2);\n for(i = 0; i < 576; i++){\n var sum1, sum2;\n sum1 = firbuf1[firbufPos + i + 10];\n sum2 = 0.0;\n for(j = 0; j < (NSFIRLEN - 1) / 2 - 1; j += 2){\n sum1 += fircoef[j] * (firbuf1[firbufPos + i + j] + firbuf1[firbufPos + i + NSFIRLEN - j]);\n sum2 += fircoef[j + 1] * (firbuf1[firbufPos + i + j + 1] + firbuf1[firbufPos + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */ /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */ masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for(chn = 0; chn < numchn; chn++){\n var wsamp_l;\n var wsamp_s;\n var en_subshort = $97f850779472263e$var$new_float(12);\n var en_short = [\n 0,\n 0,\n 0,\n 0\n ];\n var attack_intensity = $97f850779472263e$var$new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = $97f850779472263e$var$new_float($cPNKB.CBANDS), avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var ns_attacks = [\n 0,\n 0,\n 0,\n 0\n ];\n var fftenergy = $97f850779472263e$var$new_float($cPNKB.HBLKSIZE);\n var fftenergy_s = $97f850779472263e$var$new_float_n([\n 3,\n $cPNKB.HBLKSIZE_s\n ]);\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */ $97f850779472263e$var$assert(gfc.npart_s <= $cPNKB.CBANDS);\n $97f850779472263e$var$assert(gfc.npart_l <= $cPNKB.CBANDS);\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/ /* calculate energies of each sub-shortblocks */ for(i = 0; i < 3; i++){\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n $97f850779472263e$var$assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i] / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n if (chn == 2) for(i = 0; i < 576; i++){\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for(i = 0; i < 9; i++){\n var pfe = pfPos + 64;\n var p = 1.;\n for(; pfPos < pfe; pfPos++)if (p < Math.abs(pf[pfPos])) p = Math.abs(pf[pfPos]);\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n $97f850779472263e$var$assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n $97f850779472263e$var$assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else p = 0.0;\n attack_intensity[i + 3] = p;\n }\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for(i = 1; i < 12; i++)if (x < attack_intensity[i]) x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n /* compare energies between sub-shortblocks */ attackThreshold = chn == 3 ? gfc.nsPsy.attackthre_s : gfc.nsPsy.attackthre;\n for(i = 0; i < 12; i++)if (0 == ns_attacks[i / 3] && attack_intensity[i] > attackThreshold) ns_attacks[i / 3] = i % 3 + 1;\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */ for(i = 1; i < 4; i++){\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n $97f850779472263e$var$assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n $97f850779472263e$var$assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1) ns_attacks[0] = 0;\n }\n }\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0) ns_attacks[0] = 0;\n if (gfc.nsPsy.lastAttacks[chn] == 3 || ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3] != 0) {\n ns_uselongblock = 0;\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0) ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0) ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0) ns_attacks[3] = 0;\n }\n if (chn < 2) uselongblock[chn] = ns_uselongblock;\n else if (ns_uselongblock == 0) uselongblock[0] = uselongblock[1] = 0;\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */ energy[chn] = gfc.tot_ener[chn];\n /*********************************************************************\n * compute FFTs\n *********************************************************************/ wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, chn & 1, wsamp_s, chn & 1, gr_out, chn, buffer, bufPos);\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/ calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */ for(sblock = 0; sblock < 3; sblock++){\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/ for(sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n if (ns_attacks[sblock] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (sblock != 0 && ns_attacks[sblock - 1] == 3 || sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3) {\n var idx = sblock != 2 ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n /* pulse like signal detection for fatboy.wav and so on */ enn = en_subshort[sblock * 3 + 3] + en_subshort[sblock * 3 + 4] + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn) thmm *= 0.5;\n }\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/ k = 0;\n for(b = 0; b < gfc.npart_l; b++){\n /*\n * convolve the partitioned energy with the spreading\n * function\n */ var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while(++kk <= gfc.s3ind[b][1]){\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b, gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */ /**** long block pre-echo control ****/ /**\n * <PRE>\n * dont use long block pre-echo control if previous granule was\n * a short block. This is to avoid the situation:\n * frame0: quiet (very low masking)\n * frame1: surge (triggers short blocks)\n * frame2: regular frame. looks like pre-echo when compared to\n * frame0, but all pre-echo was in frame1.\n * </PRE>\n */ /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */ if (gfc.blocktype_old[chn & 1] == $cPNKB.SHORT_TYPE) thr[b] = ecb;\n else thr[b] = NS_INTERP(Math.min(ecb, Math.min(rpelev * gfc.nb_1[chn][b], rpelev2 * gfc.nb_2[chn][b])), ecb, pcfact);\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n for(; b <= $cPNKB.CBANDS; ++b){\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */ convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */ if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0) ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n /***************************************************************\n * determine final block type\n ***************************************************************/ block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/ for(chn = 0; chn < numchn; chn++){\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = $cPNKB.NORM_TYPE;\n if (blocktype_d[0] == $cPNKB.SHORT_TYPE || blocktype_d[1] == $cPNKB.SHORT_TYPE) type = $cPNKB.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n if (type == $cPNKB.SHORT_TYPE) ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n if (gfp.analysis) gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n return 0;\n };\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n else if (chn == 2) /* FFT data for mid and side channel is derived from L & R */ for(var j = $cPNKB.BLKSIZE - 1; j >= 0; --j){\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n for(var j = $cPNKB.BLKSIZE / 2 - 1; j >= 0; --j){\n var re = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][$cPNKB.BLKSIZE / 2 + j];\n fftenergy[$cPNKB.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n var totalenergy = 0.0;\n for(var j = 11; j < $cPNKB.HBLKSIZE; j++)totalenergy += fftenergy[j];\n gfc.tot_ener[chn] = totalenergy;\n if (gfp.analysis) {\n for(var j = 0; j < $cPNKB.HBLKSIZE; j++){\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n if (sblock == 0 && chn < 2) fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n if (chn == 2) /* FFT data for mid and side channel is derived from L & R */ for(var j = $cPNKB.BLKSIZE_s - 1; j >= 0; --j){\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * $97f850779472263e$var$Util.SQRT2 * 0.5;\n }\n /*********************************************************************\n * compute energies\n *********************************************************************/ fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for(var j = $cPNKB.BLKSIZE_s / 2 - 1; j >= 0; --j){\n var re = wsamp_s[wsamp_sPos + 0][sblock][$cPNKB.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][$cPNKB.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][$cPNKB.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re * re + im * im) * 0.5);\n }\n }\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */ function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n var fircoef_ = [\n -0.00000000000000000865163 * 2,\n -0.01703172,\n -0.00000000000000000674764 * 2,\n 0.0418072,\n -0.0000000000000000336639 * 2,\n -0.0876324,\n -0.0000000000000000154175 * 2,\n 0.1863476,\n -0.0000000000000000552212 * 2,\n -0.627638\n ];\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */ function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = $97f850779472263e$var$new_float_n([\n 2,\n 576\n ]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */ var n_chn_psy = gfp.mode == MPEGMode.JOINT_STEREO ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */ /* unroll the loop 2 times */ for(var chn = 0; chn < n_chn_out; chn++){\n /* apply high pass filter of fs/4 */ firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n $97f850779472263e$var$assert(fircoef_.length == (NSFIRLEN - 1) / 2);\n for(var i = 0; i < 576; i++){\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for(var j = 0; j < (NSFIRLEN - 1) / 2 - 1; j += 2){\n sum1 += fircoef_[j] * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1] * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */ /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */ masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for(var chn = 0; chn < n_chn_psy; chn++){\n var attack_intensity = $97f850779472263e$var$new_float(12);\n var en_subshort = $97f850779472263e$var$new_float(12);\n var en_short = [\n 0,\n 0,\n 0,\n 0\n ];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = chn == 3 ? gfc.nsPsy.attackthre_s : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n if (chn == 2) for(var i = 0, j = 576; j > 0; ++i, --j){\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/ /* calculate energies of each sub-shortblocks */ for(var i = 0; i < 3; i++){\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n $97f850779472263e$var$assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i] / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n for(var i = 0; i < 9; i++){\n var pfe = pfPos + 64;\n var p = 1.;\n for(; pfPos < pfe; pfPos++)if (p < Math.abs(pf[pfPos])) p = Math.abs(pf[pfPos]);\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n $97f850779472263e$var$assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n $97f850779472263e$var$assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else p = 0.0;\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */ for(var i = 0; i < 3; ++i){\n var enn = en_subshort[i * 3 + 3] + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) factor *= 0.5;\n }\n sub_short_factor[chn][i] = factor;\n }\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for(var i = 1; i < 12; i++)if (x < attack_intensity[i]) x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n /* compare energies between sub-shortblocks */ for(var i = 0; i < 12; i++)if (0 == ns_attacks[chn][i / 3] && attack_intensity[i] > attackThreshold) ns_attacks[chn][i / 3] = i % 3 + 1;\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */ /* Good samples to show the effect are Trumpet test songs */ /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */ /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */ for(var i = 1; i < 4; i++){\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) {\n if (u < 1.7 * v && v < 1.7 * u) {\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) ns_attacks[chn][0] = 0;\n ns_attacks[chn][i] = 0;\n }\n }\n }\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) ns_attacks[chn][0] = 0;\n if (gfc.nsPsy.lastAttacks[chn] == 3 || ns_attacks[chn][0] + ns_attacks[chn][1] + ns_attacks[chn][2] + ns_attacks[chn][3] != 0) {\n ns_uselongblock = 0;\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) ns_attacks[chn][1] = 0;\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) ns_attacks[chn][2] = 0;\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) ns_attacks[chn][3] = 0;\n }\n if (chn < 2) uselongblock[chn] = ns_uselongblock;\n else if (ns_uselongblock == 0) uselongblock[0] = uselongblock[1] = 0;\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */ energy[chn] = gfc.tot_ener[chn];\n }\n }\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) for(var b = 0; b < gfc.npart_s; b++){\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n function vbrpsy_skip_masking_l(gfc, chn) {\n for(var b = 0; b < gfc.npart_l; b++){\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n for(b = 1; b < gfc.npart_s - 1; b++){\n a = avg[b - 1] + avg[b] + avg[b + 1];\n $97f850779472263e$var$assert(b + 1 < gfc.npart_s);\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n if (m < max[b + 1]) m = max[b + 1];\n $97f850779472263e$var$assert(gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1 > 0);\n a = 20.0 * (m * 3.0 - a) / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n }\n $97f850779472263e$var$assert(b > 0);\n $97f850779472263e$var$assert(b == gfc.npart_s - 1);\n a = avg[b - 1] + avg[b];\n $97f850779472263e$var$assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b]) m = max[b];\n $97f850779472263e$var$assert(gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1 > 0);\n a = 20.0 * (m * 2.0 - a) / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry) k = last_tab_entry;\n mask_idx[b] = k;\n } else mask_idx[b] = 0;\n $97f850779472263e$var$assert(b == gfc.npart_s - 1);\n }\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[$cPNKB.CBANDS], avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[$cPNKB.CBANDS];\n for(b = j = 0; b < gfc.npart_s; ++b){\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for(i = 0; i < n; ++i, ++j){\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el) m = el;\n }\n eb[b] = ebb;\n $97f850779472263e$var$assert(ebb >= 0);\n max[b] = m;\n $97f850779472263e$var$assert(n > 0);\n avg[b] = ebb / n;\n $97f850779472263e$var$assert(avg[b] >= 0);\n }\n $97f850779472263e$var$assert(b == gfc.npart_s);\n $97f850779472263e$var$assert(j == 129);\n for(; b < $cPNKB.CBANDS; ++b){\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for(j = b = 0; b < gfc.npart_s; b++){\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while(kk <= last){\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */ x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) thr[b] = x;\n if (gfc.masking_lower > 1) thr[b] *= gfc.masking_lower;\n if (thr[b] > eb[b]) thr[b] = eb[b];\n if (gfc.masking_lower < 1) thr[b] *= gfc.masking_lower;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b < $cPNKB.CBANDS; ++b){\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = $97f850779472263e$var$new_float($cPNKB.CBANDS), avg = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var mask_idx_l = $97f850779472263e$var$new_int($cPNKB.CBANDS + 2);\n var b;\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/ calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/ var k = 0;\n for(b = 0; b < gfc.npart_l; b++){\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */ var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while(kk <= last){\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n /**** long block pre-echo control ****/ /**\n * <PRE>\n * dont use long block pre-echo control if previous granule was\n * a short block. This is to avoid the situation:\n * frame0: quiet (very low masking)\n * frame1: surge (triggers short blocks)\n * frame2: regular frame. looks like pre-echo when compared to\n * frame0, but all pre-echo was in frame1.\n * </PRE>\n */ /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */ if (gfc.blocktype_old[chn & 0x01] == $cPNKB.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) thr[b] = Math.min(ecb, ecb_limit);\n else /**\n * <PRE>\n * Robert 071209:\n * Because we don't calculate long block psy when we know a granule\n * should be of short blocks, we don't have any clue how the granule\n * before would have looked like as a long block. So we have to guess\n * a little bit for this END_TYPE block.\n * Most of the time we get away with this sloppyness. (fingers crossed :)\n * The speed increase is worth it.\n * </PRE>\n */ thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) ecb_limit_2 = ecb;\n if (ecb_limit_1 <= 0) ecb_limit_1 = ecb;\n if (gfc.blocktype_old[chn & 0x01] == $cPNKB.NORM_TYPE) ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n else ecb_limit = ecb_limit_1;\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */ x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) thr[b] = x;\n if (gfc.masking_lower > 1) thr[b] *= gfc.masking_lower;\n if (thr[b] > eb_l[b]) thr[b] = eb_l[b];\n if (gfc.masking_lower < 1) thr[b] *= gfc.masking_lower;\n $97f850779472263e$var$assert(thr[b] >= 0);\n }\n for(; b < $cPNKB.CBANDS; ++b){\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_coupled && !(uselongblock[0] != 0 && uselongblock[1] != 0)) uselongblock[0] = uselongblock[1] = 0;\n for(var chn = 0; chn < gfc.channels_out; chn++){\n /* disable short blocks */ if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_dispensed) uselongblock[chn] = 1;\n if (gfp.short_blocks == $97f850779472263e$var$ShortBlock.short_block_forced) uselongblock[chn] = 0;\n }\n }\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */ for(var chn = 0; chn < gfc.channels_out; chn++){\n var blocktype = $cPNKB.NORM_TYPE;\n /* disable short blocks */ if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */ $97f850779472263e$var$assert(gfc.blocktype_old[chn] != $cPNKB.START_TYPE);\n if (gfc.blocktype_old[chn] == $cPNKB.SHORT_TYPE) blocktype = $cPNKB.STOP_TYPE;\n } else {\n /* attack : use short blocks */ blocktype = $cPNKB.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.NORM_TYPE) gfc.blocktype_old[chn] = $cPNKB.START_TYPE;\n if (gfc.blocktype_old[chn] == $cPNKB.STOP_TYPE) gfc.blocktype_old[chn] = $cPNKB.SHORT_TYPE;\n }\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */ function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for(var b = 0; b < n; ++b){\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n /* use this fix if L & R masking differs by 2db or less */ if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/ /* Adjust M/S maskings if user set \"msfix\" */ /***************************************************************/ /* Naoki Shibata 2000 */ var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && thmLR * msfix2 < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n $97f850779472263e$var$assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) rmid = ebM;\n if (rside > ebS) rside = ebS;\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n this.L3psycho_anal_vbr = function(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n /* fft and energy calculation */ var wsamp_l;\n var wsamp_s;\n var fftenergy = $97f850779472263e$var$new_float($cPNKB.HBLKSIZE);\n var fftenergy_s = $97f850779472263e$var$new_float_n([\n 3,\n $cPNKB.HBLKSIZE_s\n ]);\n var wsamp_L = $97f850779472263e$var$new_float_n([\n 2,\n $cPNKB.BLKSIZE\n ]);\n var wsamp_S = $97f850779472263e$var$new_float_n([\n 2,\n 3,\n $cPNKB.BLKSIZE_s\n ]);\n var eb = $97f850779472263e$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]), thr = $97f850779472263e$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n var sub_short_factor = $97f850779472263e$var$new_float_n([\n 4,\n 3\n ]);\n var pcfact = 0.6;\n /* block type */ var ns_attacks = [\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ],\n [\n 0,\n 0,\n 0,\n 0\n ]\n ];\n var uselongblock = $97f850779472263e$var$new_int(2);\n /* usual variables like loop indices, etc.. */ /* chn=2 and 3 = Mid and Side channels */ var n_chn_psy = gfp.mode == MPEGMode.JOINT_STEREO ? 4 : gfc.channels_out;\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock);\n vbrpsy_compute_block_type(gfp, uselongblock);\n for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, ch01);\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy);\n if (uselongblock[ch01] != 0) vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn], chn);\n else vbrpsy_skip_masking_l(gfc, chn);\n }\n if (uselongblock[0] + uselongblock[1] == 2) /* M/S channel */ {\n if (gfp.mode == MPEGMode.JOINT_STEREO) vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l, gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust, gfp.msfix, gfc.npart_l);\n }\n /* TODO: apply adaptive ATH masking here ?? */ for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n for(var sblock = 0; sblock < 3; sblock++){\n for(var chn = 0; chn < n_chn_psy; ++chn){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) vbrpsy_skip_masking_s(gfc, chn, sblock);\n else {\n /* compute masking thresholds for short blocks */ wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn], thr[chn], chn, sblock);\n }\n }\n if (uselongblock[0] + uselongblock[1] == 0) /* M/S channel */ {\n if (gfp.mode == MPEGMode.JOINT_STEREO) vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s, gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust, gfp.msfix, gfc.npart_s);\n }\n /* TODO: apply adaptive ATH masking here ?? */ for(var chn = 0; chn < n_chn_psy; ++chn){\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) convert_partition2scalefac_s(gfc, eb[chn], thr[chn], chn, sblock);\n }\n }\n /**** short block pre-echo control ****/ for(var chn = 0; chn < n_chn_psy; chn++){\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) continue;\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n var new_thmm = $97f850779472263e$var$new_float(3);\n for(var sblock = 0; sblock < 3; sblock++){\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[chn][sblock] >= 2 || ns_attacks[chn][sblock + 1] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = sblock != 0 ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (sblock != 0 && ns_attacks[chn][sblock - 1] == 3 || sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3) {\n var idx = sblock != 2 ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm, NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n /* pulse like signal detection for fatboy.wav and so on */ thmm *= sub_short_factor[chn][sblock];\n new_thmm[sblock] = thmm;\n }\n for(var sblock = 0; sblock < 3; sblock++)gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n for(var chn = 0; chn < n_chn_psy; chn++)gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n /***************************************************************\n * determine final block type\n ***************************************************************/ vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/ for(var chn = 0; chn < n_chn_psy; chn++){\n var ppe;\n var ppePos;\n var type;\n var mr;\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = $cPNKB.NORM_TYPE;\n if (blocktype_d[0] == $cPNKB.SHORT_TYPE || blocktype_d[1] == $cPNKB.SHORT_TYPE) type = $cPNKB.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n if (type == $cPNKB.SHORT_TYPE) ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n if (gfp.analysis) gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n return 0;\n };\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n if (tempx >= 0) tempy = -tempx * 27;\n else tempy = tempx * hf_slope;\n if (tempy <= -72) return 0;\n return Math.exp(tempy * LN_TO_LOG10);\n }\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n var x = 0, l, h;\n for(x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1);\n l = x;\n h = 0;\n while(Math.abs(h - l) > 1e-12){\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) h = x;\n else l = x;\n }\n lim_a = l;\n var x = 0, l, h;\n for(x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1);\n l = 0;\n h = x;\n while(Math.abs(h - l) > 1e-12){\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) l = x;\n else h = x;\n }\n lim_b = h;\n var sum = 0;\n var m = 1000;\n var i;\n for(i = 0; i <= m; ++i){\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */ return norm;\n }\n /**\n * The spreading function. Values returned in units of energy\n */ function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0) tempx *= 3;\n else tempx *= 1.5;\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5 * Math.sqrt(1.0 + tempx * tempx);\n if (tempy <= -60) return 0.0;\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n /**\n * <PRE>\n * Normalization. The spreading function should be normalized so that:\n * +inf\n * /\n * | s3 [ bark ] d(bark) = 1\n * /\n * -inf\n * </PRE>\n */ tempx /= .6609193;\n return tempx;\n }\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */ function freq2bark(freq) {\n /* input: freq in hz output: barks */ if (freq < 0) freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5 * Math.atan(freq * freq / 56.25);\n }\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = $97f850779472263e$var$new_float($cPNKB.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 1152 : 384);\n var partition = $97f850779472263e$var$new_int($cPNKB.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */ /* each partition band should be about DELBARK wide. */ for(i = 0; i < $cPNKB.CBANDS; i++){\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n b_frq[i] = sfreq * j;\n for(j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK && j2 <= blksize / 2; j2++);\n numlines[i] = j2 - j;\n ni = i + 1;\n while(j < j2){\n $97f850779472263e$var$assert(j < $cPNKB.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n $97f850779472263e$var$assert(i < $cPNKB.CBANDS);\n b_frq[i] = sfreq * j;\n for(var sfb = 0; sfb < sbmax; sfb++){\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0) i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n if (i2 > blksize / 2) i2 = blksize / 2;\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */ bo_w[sfb] = (f_tmp - b_frq[bo[sfb]]) / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) bo_w[sfb] = 0;\n else if (bo_w[sfb] > 1) bo_w[sfb] = 1;\n /* setup stereo demasking thresholds */ /* formula reverse enginerred from plot in paper */ arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = Math.min(arg, 15.5) / 15.5;\n mld[sfb] = Math.pow(10.0, 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n /* compute bark values of each critical band */ j = 0;\n for(var k = 0; k < ni; k++){\n var w = numlines[k];\n var bark1, bark2;\n bark1 = freq2bark(sfreq * j);\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n return ni;\n }\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = $97f850779472263e$var$new_float_n([\n $cPNKB.CBANDS,\n $cPNKB.CBANDS\n ]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */ var j;\n var numberOfNoneZero = 0;\n /**\n * <PRE>\n * s[i][j], the value of the spreading function,\n * centered at band j (masker), for band i (maskee)\n *\n * i.e.: sum over j to spread into signal barkval=i\n * NOTE: i and j are used opposite as in the ISO docs\n * </PRE>\n */ if (use_old_s3) {\n for(var i = 0; i < npart; i++)for(j = 0; j < npart; j++){\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n } else for(j = 0; j < npart; j++){\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for(var i = 0; i < npart; i++){\n var v = s3_x_norm * s3_func_x(bval[i] - bval[j], hf_slope) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n for(var i = 0; i < npart; i++){\n for(j = 0; j < npart; j++){\n if (s3[i][j] > 0.0) break;\n }\n s3ind[i][0] = j;\n for(j = npart - 1; j > 0; j--){\n if (s3[i][j] > 0.0) break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += s3ind[i][1] - s3ind[i][0] + 1;\n }\n var p = $97f850779472263e$var$new_float(numberOfNoneZero);\n var k = 0;\n for(var i = 0; i < npart; i++)for(j = s3ind[i][0]; j <= s3ind[i][1]; j++)p[k++] = s3[i][j];\n return p;\n }\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */ /* formula reverse enginerred from plot in paper */ var arg = freq2bark(f);\n arg = Math.min(arg, 15.5) / 15.5;\n return Math.pow(10.0, 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */ this.psymodel_init = function(gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var bval_width = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var norm = $97f850779472263e$var$new_float($cPNKB.CBANDS);\n var sfreq = gfp.out_samplerate;\n switch(gfp.experimentalZ){\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mtrh || gfp.VBR == $97f850779472263e$var$VbrMode.vbr_mt ? false : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = $cPNKB.NORM_TYPE;\n // the vbr header is long blocks\n for(i = 0; i < 4; ++i){\n for(var j = 0; j < $cPNKB.CBANDS; ++j){\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for(var sb = 0; sb < $cPNKB.SBMAX_l; sb++){\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for(var j = 0; j < 3; ++j){\n for(var sb = 0; sb < $cPNKB.SBMAX_s; sb++){\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for(var j = 0; j < 9; j++)gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n /* init. for loudness approx. -jd 2001 mar 27 */ gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/ /* compute numlines, bo, bm, bval, bval_width, mld */ gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval, bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq, $cPNKB.BLKSIZE, gfc.scalefac_band.l, $cPNKB.BLKSIZE / 1152, $cPNKB.SBMAX_l);\n $97f850779472263e$var$assert(gfc.npart_l < $cPNKB.CBANDS);\n /* compute the spreading function */ for(i = 0; i < gfc.npart_l; i++){\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n else gfc.rnumlines_l[i] = 0;\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width, norm, useOldS3);\n /* compute long block specific values, ATH and MINVAL */ var j = 0;\n for(i = 0; i < gfc.npart_l; i++){\n var x;\n /* ATH */ x = $97f850779472263e$var$Float.MAX_VALUE;\n for(var k = 0; k < gfc.numlines_l[i]; k++, j++){\n var freq = sfreq * j / (1000.0 * $cPNKB.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */ level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level) x = level;\n }\n gfc.ATH.cb_l[i] = x;\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */ /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */ x = -20 + bval[i] * 20 / 10;\n if (x > 6) x = 100;\n if (x < -15) x = -15;\n x -= 8.;\n gfc.minval_l[i] = Math.pow(10.0, x / 10.) * gfc.numlines_l[i];\n }\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/ gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval, bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq, $cPNKB.BLKSIZE_s, gfc.scalefac_band.s, $cPNKB.BLKSIZE_s / 384, $cPNKB.SBMAX_s);\n $97f850779472263e$var$assert(gfc.npart_s < $cPNKB.CBANDS);\n /* SNR formula. short block is normalized by SNR. is it still right ? */ j = 0;\n for(i = 0; i < gfc.npart_s; i++){\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n norm[i] = Math.pow(10.0, snr / 10.0);\n /* ATH */ x = $97f850779472263e$var$Float.MAX_VALUE;\n for(var k = 0; k < gfc.numlines_s[i]; k++, j++){\n var freq = sfreq * j / (1000.0 * $cPNKB.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */ /*\n * ATH below 100 Hz constant, not\n * further climbing\n */ level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level) x = level;\n }\n gfc.ATH.cb_s[i] = x;\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */ x = -7 + bval[i] * 7.0 / 12.0;\n if (bval[i] > 12) x *= 1 + Math.log(1 + x) * 3.1;\n if (bval[i] < 12) x *= 1 + Math.log(1 - x) * 2.3;\n if (x < -15) x = -15;\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10) * gfc.numlines_s[i];\n }\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width, norm, useOldS3);\n init_mask_add_max_values();\n fft.init_fft(gfc);\n /* setup temporal masking */ gfc.decay = Math.exp(-1 * LOG10 / (temporalmask_sustain_sec * sfreq / 192.0));\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0) msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0) msfix = gfp.msfix;\n gfp.msfix = msfix;\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */ for(var b = 0; b < gfc.npart_l; b++)if (gfc.s3ind[b][1] > gfc.npart_l - 1) gfc.s3ind[b][1] = gfc.npart_l - 1;\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */ var frame_duration = 576. * gfc.mode_gr / sfreq;\n gfc.ATH.decay = Math.pow(10., -1.2 * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */ gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */ $97f850779472263e$var$assert(gfc.bo_l[$cPNKB.SBMAX_l - 1] <= gfc.npart_l);\n $97f850779472263e$var$assert(gfc.bo_s[$cPNKB.SBMAX_s - 1] <= gfc.npart_s);\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */ var freq;\n var freq_inc = gfp.out_samplerate / $cPNKB.BLKSIZE;\n var eql_balance = 0.0;\n freq = 0.0;\n for(i = 0; i < $cPNKB.BLKSIZE / 2; ++i){\n /* convert ATH dB to relative power (not dB) */ /* to determine eql_w */ freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for(i = $cPNKB.BLKSIZE / 2; --i >= 0;)gfc.ATH.eql_w[i] *= eql_balance;\n }\n for(var b = j = 0; b < gfc.npart_s; ++b)for(i = 0; i < gfc.numlines_s[b]; ++i)++j;\n $97f850779472263e$var$assert(j == 129);\n for(var b = j = 0; b < gfc.npart_l; ++b)for(i = 0; i < gfc.numlines_l[b]; ++i)++j;\n $97f850779472263e$var$assert(j == 513);\n j = 0;\n for(i = 0; i < gfc.npart_l; i++){\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * $cPNKB.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for(; i < $cPNKB.CBANDS; ++i)gfc.mld_cb_l[i] = 1;\n j = 0;\n for(i = 0; i < gfc.npart_s; i++){\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * $cPNKB.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for(; i < $cPNKB.CBANDS; ++i)gfc.mld_cb_s[i] = 1;\n return 0;\n };\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */ function ATHformula_GB(f, value) {\n /**\n * <PRE>\n * from Painter & Spanias\n * modified by Gabriel Bouvigne to better fit the reality\n * ath = 3.640 * pow(f,-0.8)\n * - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n * + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n * + 0.6* 0.001 * pow(f,4.0);\n *\n *\n * In the past LAME was using the Painter &Spanias formula.\n * But we had some recurrent problems with HF content.\n * We measured real ATH values, and found the older formula\n * to be inaccurate in the higher part. So we made this new\n * formula and this solved most of HF problematic test cases.\n * The tradeoff is that in VBR mode it increases a lot the\n * bitrate.\n * </PRE>\n */ /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */ // the following Hack allows to ask for the lowest value\n if (f < -0.3) f = 3410;\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800 * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000 * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0)) + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n this.ATHformula = function(f, gfp) {\n var ath;\n switch(gfp.ATHtype){\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n };\n}\nmodule.exports = $97f850779472263e$var$PsyModel;\n\n});\nparcelRequire.register(\"2g11P\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $1a4ddf9b01454eb6$var$System = $3YDN3.System;\nvar $1a4ddf9b01454eb6$var$VbrMode = $3YDN3.VbrMode;\nvar $1a4ddf9b01454eb6$var$Float = $3YDN3.Float;\nvar $1a4ddf9b01454eb6$var$ShortBlock = $3YDN3.ShortBlock;\nvar $1a4ddf9b01454eb6$var$Util = $3YDN3.Util;\nvar $1a4ddf9b01454eb6$var$Arrays = $3YDN3.Arrays;\nvar $1a4ddf9b01454eb6$var$new_array_n = $3YDN3.new_array_n;\nvar $1a4ddf9b01454eb6$var$new_byte = $3YDN3.new_byte;\nvar $1a4ddf9b01454eb6$var$new_double = $3YDN3.new_double;\nvar $1a4ddf9b01454eb6$var$new_float = $3YDN3.new_float;\nvar $1a4ddf9b01454eb6$var$new_float_n = $3YDN3.new_float_n;\nvar $1a4ddf9b01454eb6$var$new_int = $3YDN3.new_int;\nvar $1a4ddf9b01454eb6$var$new_int_n = $3YDN3.new_int_n;\nvar $1a4ddf9b01454eb6$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $1a4ddf9b01454eb6$var$FFT() {\n var window = $1a4ddf9b01454eb6$var$new_float($cPNKB.BLKSIZE);\n var window_s = $1a4ddf9b01454eb6$var$new_float($cPNKB.BLKSIZE_s / 2);\n var costab = [\n 9.238795325112867e-01,\n 3.826834323650898e-01,\n 9.951847266721969e-01,\n 9.801714032956060e-02,\n 9.996988186962042e-01,\n 2.454122852291229e-02,\n 9.999811752826011e-01,\n 6.135884649154475e-03\n ];\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */ var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = $1a4ddf9b01454eb6$var$Util.SQRT2 * fz[gi + k3];\n f2 = $1a4ddf9b01454eb6$var$Util.SQRT2 * fz[gi + k2];\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n }while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for(i = 1; i < kx; i++){\n var c2, s2;\n c2 = 1 - 2 * s1 * s1;\n s2 = 2 * s1 * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n }while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n }while (k4 < n);\n }\n var rv_tbl = [\n 0x00,\n 0x80,\n 0x40,\n 0xc0,\n 0x20,\n 0xa0,\n 0x60,\n 0xe0,\n 0x10,\n 0x90,\n 0x50,\n 0xd0,\n 0x30,\n 0xb0,\n 0x70,\n 0xf0,\n 0x08,\n 0x88,\n 0x48,\n 0xc8,\n 0x28,\n 0xa8,\n 0x68,\n 0xe8,\n 0x18,\n 0x98,\n 0x58,\n 0xd8,\n 0x38,\n 0xb8,\n 0x78,\n 0xf8,\n 0x04,\n 0x84,\n 0x44,\n 0xc4,\n 0x24,\n 0xa4,\n 0x64,\n 0xe4,\n 0x14,\n 0x94,\n 0x54,\n 0xd4,\n 0x34,\n 0xb4,\n 0x74,\n 0xf4,\n 0x0c,\n 0x8c,\n 0x4c,\n 0xcc,\n 0x2c,\n 0xac,\n 0x6c,\n 0xec,\n 0x1c,\n 0x9c,\n 0x5c,\n 0xdc,\n 0x3c,\n 0xbc,\n 0x7c,\n 0xfc,\n 0x02,\n 0x82,\n 0x42,\n 0xc2,\n 0x22,\n 0xa2,\n 0x62,\n 0xe2,\n 0x12,\n 0x92,\n 0x52,\n 0xd2,\n 0x32,\n 0xb2,\n 0x72,\n 0xf2,\n 0x0a,\n 0x8a,\n 0x4a,\n 0xca,\n 0x2a,\n 0xaa,\n 0x6a,\n 0xea,\n 0x1a,\n 0x9a,\n 0x5a,\n 0xda,\n 0x3a,\n 0xba,\n 0x7a,\n 0xfa,\n 0x06,\n 0x86,\n 0x46,\n 0xc6,\n 0x26,\n 0xa6,\n 0x66,\n 0xe6,\n 0x16,\n 0x96,\n 0x56,\n 0xd6,\n 0x36,\n 0xb6,\n 0x76,\n 0xf6,\n 0x0e,\n 0x8e,\n 0x4e,\n 0xce,\n 0x2e,\n 0xae,\n 0x6e,\n 0xee,\n 0x1e,\n 0x9e,\n 0x5e,\n 0xde,\n 0x3e,\n 0xbe,\n 0x7e,\n 0xfe\n ];\n this.fft_short = function(gfc, x_real, chn, buffer, bufPos) {\n for(var b = 0; b < 3; b++){\n var x = $cPNKB.BLKSIZE_s / 2;\n var k = 0xffff & 192 * (b + 1);\n var j = $cPNKB.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + $cPNKB.BLKSIZE_s / 2 + 3] = f1 - f3;\n }while (--j >= 0);\n fht(x_real[b], x, $cPNKB.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */ /* BLKSIZE/2 because of 3DNow! ASM routine */ }\n };\n this.fft_long = function(gfc, y, chn, buffer, bufPos) {\n var jj = $cPNKB.BLKSIZE / 8 - 1;\n var x = $cPNKB.BLKSIZE / 2;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n y[x + $cPNKB.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + $cPNKB.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + $cPNKB.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + $cPNKB.BLKSIZE / 2 + 3] = f1 - f3;\n }while (--jj >= 0);\n fht(y, x, $cPNKB.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */ };\n this.init_fft = function(gfc) {\n /* The type of window used here will make no real difference, but */ /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */ for(var i = 0; i < $cPNKB.BLKSIZE; i++)/* blackman window */ window[i] = 0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5) / $cPNKB.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5) / $cPNKB.BLKSIZE);\n for(var i = 0; i < $cPNKB.BLKSIZE_s / 2; i++)window_s[i] = 0.5 * (1.0 - Math.cos(2.0 * Math.PI * (i + 0.5) / $cPNKB.BLKSIZE_s));\n };\n}\nmodule.exports = $1a4ddf9b01454eb6$var$FFT;\n\n});\nparcelRequire.register(\"cPNKB\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $9580d6e047027232$var$System = $3YDN3.System;\nvar $9580d6e047027232$var$VbrMode = $3YDN3.VbrMode;\nvar $9580d6e047027232$var$Float = $3YDN3.Float;\nvar $9580d6e047027232$var$ShortBlock = $3YDN3.ShortBlock;\nvar $9580d6e047027232$var$Util = $3YDN3.Util;\nvar $9580d6e047027232$var$Arrays = $3YDN3.Arrays;\nvar $9580d6e047027232$var$new_array_n = $3YDN3.new_array_n;\nvar $9580d6e047027232$var$new_byte = $3YDN3.new_byte;\nvar $9580d6e047027232$var$new_double = $3YDN3.new_double;\nvar $9580d6e047027232$var$new_float = $3YDN3.new_float;\nvar $9580d6e047027232$var$new_float_n = $3YDN3.new_float_n;\nvar $9580d6e047027232$var$new_int = $3YDN3.new_int;\nvar $9580d6e047027232$var$new_int_n = $3YDN3.new_int_n;\nvar $9580d6e047027232$var$assert = $3YDN3.assert;\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */ $9580d6e047027232$var$Encoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */ $9580d6e047027232$var$Encoder.POSTDELAY = 1152;\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */ $9580d6e047027232$var$Encoder.MDCTDELAY = 48;\n$9580d6e047027232$var$Encoder.FFTOFFSET = 224 + $9580d6e047027232$var$Encoder.MDCTDELAY;\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */ $9580d6e047027232$var$Encoder.DECDELAY = 528;\n/**\n * number of subbands\n */ $9580d6e047027232$var$Encoder.SBLIMIT = 32;\n/**\n * parition bands bands\n */ $9580d6e047027232$var$Encoder.CBANDS = 64;\n/**\n * number of critical bands/scale factor bands where masking is computed\n */ $9580d6e047027232$var$Encoder.SBPSY_l = 21;\n$9580d6e047027232$var$Encoder.SBPSY_s = 12;\n/**\n * total number of scalefactor bands encoded\n */ $9580d6e047027232$var$Encoder.SBMAX_l = 22;\n$9580d6e047027232$var$Encoder.SBMAX_s = 13;\n$9580d6e047027232$var$Encoder.PSFB21 = 6;\n$9580d6e047027232$var$Encoder.PSFB12 = 6;\n/**\n * FFT sizes\n */ $9580d6e047027232$var$Encoder.BLKSIZE = 1024;\n$9580d6e047027232$var$Encoder.HBLKSIZE = $9580d6e047027232$var$Encoder.BLKSIZE / 2 + 1;\n$9580d6e047027232$var$Encoder.BLKSIZE_s = 256;\n$9580d6e047027232$var$Encoder.HBLKSIZE_s = $9580d6e047027232$var$Encoder.BLKSIZE_s / 2 + 1;\n$9580d6e047027232$var$Encoder.NORM_TYPE = 0;\n$9580d6e047027232$var$Encoder.START_TYPE = 1;\n$9580d6e047027232$var$Encoder.SHORT_TYPE = 2;\n$9580d6e047027232$var$Encoder.STOP_TYPE = 3;\n/**\n * <PRE>\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n * -ms: MPG_MD_LR_LR\n * -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n * -mf: MPG_MD_MS_LR\n * -mi: all\n * </PRE>\n */ $9580d6e047027232$var$Encoder.MPG_MD_LR_LR = 0;\n$9580d6e047027232$var$Encoder.MPG_MD_LR_I = 1;\n$9580d6e047027232$var$Encoder.MPG_MD_MS_LR = 2;\n$9580d6e047027232$var$Encoder.MPG_MD_MS_I = 3;\n$9580d6e047027232$var$Encoder.fircoef = [\n -0.1039435,\n -0.1892065,\n -0.0432472 * 5,\n -0.155915,\n 7.79609e-18 * 5,\n 0.0467745 * 5,\n 0.50455,\n 0.756825,\n 0.187098 * 5\n];\n\n\n\nfunction $9580d6e047027232$var$Encoder() {\n var NewMDCT = (parcelRequire(\"drj3v\"));\n var III_psy_ratio = (parcelRequire(\"hvy40\"));\n var MPEGMode = (parcelRequire(\"jL6I1\"));\n var FFTOFFSET = $9580d6e047027232$var$Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function(_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n var newMDCT = new NewMDCT();\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/ /**\n * <PRE>\n * layer III enc->dec delay: 1056 (1057?) (observed)\n * layer II enc->dec delay: 480 (481?) (observed)\n *\n * polyphase 256-16 (dec or enc) = 240\n * mdct 256+32 (9*32) (dec or enc) = 288\n * total: 512+16\n *\n * My guess is that delay of polyphase filterbank is actualy 240.5\n * (there are technical reasons for this, see postings in mp3encoder).\n * So total Encode+Decode delay = ENCDELAY + 528 + 1\n * </PRE>\n */ /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */ //private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */ return;\n }\n /* jd - 2001 mar 12, 27, jun 30 */ /* loudness based on equal loudness curve; */ /* use granule with maximum combined loudness */ max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) max_pow = Math.max(max_pow, gr2_max);\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */ /* jd - 2001 mar 31, jun 30 */ /* user tuning of ATH adjustment region */ max_pow *= gfc.ATH.aaSensitivityP;\n /*\n * adjust ATH depending on range of maximum value\n */ /* jd - 2001 feb27, mar12,20, jun30, jul22 */ /* continuous curves based on approximation */ /* to GB's original values. */ /* For an increase in approximate loudness, */ /* set ATH adjust to adjust_limit immediately */ /* after a delay of one frame. */ /* For a loudness decrease, reduce ATH adjust */ /* towards adjust_limit gradually. */ /* max_pow is a loudness squared or a power. */ if (max_pow > 0.03125) {\n if (gfc.ATH.adjust >= 1.0) gfc.ATH.adjust = 1.0;\n else /* preceding frame has lower ATH adjust; */ /* ascend only to the preceding adjust_limit */ /* in case there is leading low volume */ if (gfc.ATH.adjust < gfc.ATH.adjustLimit) gfc.ATH.adjust = gfc.ATH.adjustLimit;\n gfc.ATH.adjustLimit = 1.0;\n } else {\n /* about 32 dB maximum adjust (0.000625) */ var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) {\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) gfc.ATH.adjust = adj_lim_new;\n } else {\n if (gfc.ATH.adjustLimit >= adj_lim_new) gfc.ATH.adjust = adj_lim_new;\n else /* preceding frame has lower ATH adjust; */ /* ascend only to the preceding adjust_limit */ if (gfc.ATH.adjust < gfc.ATH.adjustLimit) gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n /**\n * <PRE>\n * some simple statistics\n *\n * bitrate index 0: free bitrate . not allowed in VBR mode\n * : bitrates, kbps depending on MPEG version\n * bitrate index 15: forbidden\n *\n * mode_ext:\n * 0: LR\n * 1: LR-i\n * 2: MS\n * 3: MS-i\n * </PRE>\n */ function updateStats(gfc) {\n var gr, ch;\n $9580d6e047027232$var$assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n $9580d6e047027232$var$assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n /* count bitrate indices */ gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n /* count 'em for every mode extension in case of 2 channel encoding */ if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for(gr = 0; gr < gfc.mode_gr; ++gr)for(ch = 0; ch < gfc.channels_out; ++ch){\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0) bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n var ch, gr;\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */ var i, j;\n var primebuff0 = $9580d6e047027232$var$new_float(2014);\n var primebuff1 = $9580d6e047027232$var$new_float(2014);\n gfc.lame_encode_frame_init = 1;\n for(i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i)if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2) primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2) primebuff1[i] = inbuf[1][j];\n ++j;\n }\n /* polyphase filtering / mdct */ for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)gfc.l3_side.tt[gr][ch].block_type = $9580d6e047027232$var$Encoder.SHORT_TYPE;\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n /* check FFT will not use a negative starting offset */ $9580d6e047027232$var$assert(576 >= $9580d6e047027232$var$Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */ $9580d6e047027232$var$assert(gfc.mf_size >= $9580d6e047027232$var$Encoder.BLKSIZE + gfp.framesize - $9580d6e047027232$var$Encoder.FFTOFFSET);\n /* check if we have enough data for polyphase filterbank */ $9580d6e047027232$var$assert(gfc.mf_size >= 512 + gfp.framesize - 32);\n }\n }\n /**\n * <PRE>\n * encodeframe() Layer 3\n *\n * encode a single frame\n *\n *\n * lame_encode_frame()\n *\n *\n * gr 0 gr 1\n * inbuf: |--------------|--------------|--------------|\n *\n *\n * Polyphase (18 windows, each shifted 32)\n * gr 0:\n * window1 <----512---.\n * window18 <----512---.\n *\n * gr 1:\n * window1 <----512---.\n * window18 <----512---.\n *\n *\n *\n * MDCT output: |--------------|--------------|--------------|\n *\n * FFT's <---------1024---------.\n * <---------1024-------.\n *\n *\n *\n * inbuf = buffer of PCM data size=MP3 framesize\n * encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n * so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n *\n * psy-model FFT has a 1 granule delay, so we feed it data for the\n * next granule.\n * FFT is centered over granule: 224+576+224\n * So FFT starts at: 576-224-MDCTDELAY\n *\n * MPEG2: FFT ends at: BLKSIZE+576-224-MDCTDELAY (1328)\n * MPEG1: FFT ends at: BLKSIZE+2*576-224-MDCTDELAY (1904)\n *\n * MPEG2: polyphase first window: [0..511]\n * 18th window: [544..1055] (1056)\n * MPEG1: 36th window: [1120..1631] (1632)\n * data needed: 512+framesize-32\n *\n * A close look newmdct.c shows that the polyphase filterbank\n * only uses data from [0..510] for each window. Perhaps because the window\n * used by the filterbank is zero for the last point, so Takehiro's\n * code doesn't bother to compute with it.\n *\n * FFT starts at 576-224-MDCTDELAY (304) = 576-FFTOFFSET\n *\n * </PRE>\n */ this.lame_encode_mp3_frame = function(gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = $9580d6e047027232$var$new_array_n([\n 2,\n 2\n ]);\n /*\n * LR masking &\n * energy\n */ masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = $9580d6e047027232$var$new_array_n([\n 2,\n 2\n ]);\n /* MS masking & energy */ masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */ var inbuf = [\n null,\n null\n ];\n var gfc = gfp.internal_flags;\n var tot_ener = $9580d6e047027232$var$new_float_n([\n 2,\n 4\n ]);\n var ms_ener_ratio = [\n .5,\n .5\n ];\n var pe = [\n [\n 0.,\n 0.\n ],\n [\n 0.,\n 0.\n ]\n ];\n var pe_MS = [\n [\n 0.,\n 0.\n ],\n [\n 0.,\n 0.\n ]\n ];\n //float[][] pe_use;\n var pe_use;\n var ch, gr;\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n if (gfc.lame_encode_frame_init == 0) /* first run? */ lame_encode_frame_init(gfp, inbuf);\n /********************** padding *****************************/ /**\n * <PRE>\n * padding method as described in\n * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n * by Martin Sieler, Ralph Sperschneider\n *\n * note: there is no padding for the very first frame\n *\n * Robert Hegemann 2000-06-22\n * </PRE>\n */ gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/ if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */ var ret;\n var bufp = [\n null,\n null\n ];\n /* address of beginning of left & right granule */ var bufpPos = 0;\n /* address of beginning of left & right granule */ var blocktype = $9580d6e047027232$var$new_int(2);\n for(gr = 0; gr < gfc.mode_gr; gr++){\n for(ch = 0; ch < gfc.channels_out; ch++){\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - $9580d6e047027232$var$Encoder.FFTOFFSET;\n }\n if (gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_mtrh || gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_mt) ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr, masking_LR, masking_MS, pe[gr], pe_MS[gr], tot_ener[gr], blocktype);\n else ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr, masking_LR, masking_MS, pe[gr], pe_MS[gr], tot_ener[gr], blocktype);\n if (ret != 0) return -4;\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0) ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n /* block type flags */ for(ch = 0; ch < gfc.channels_out; ch++){\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */ for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n gfc.l3_side.tt[gr][ch].block_type = $9580d6e047027232$var$Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n /* auto-adjust of ATH, useful for low volume */ adjust_ATH(gfc);\n /****************************************\n * Stage 2: MDCT *\n ****************************************/ /* polyphase filtering / mdct */ newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/ /* Here will be selected MS or LR coding of the 2 stereo channels */ gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_LR_LR;\n if (gfp.force_ms) gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */ /**\n * <PRE>\n * [0] and [1] are the results for the two granules in MPEG-1,\n * in MPEG-2 it's only a faked averaging of the same value\n * _prev is the value of the last granule of the previous frame\n * _next is the value of the first granule of the next frame\n * </PRE>\n */ var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n /* based on PE: M/S coding would not use much more bits than L/R */ if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n if (gi0[0].block_type == gi0[1].block_type && gi1[0].block_type == gi1[1].block_type) gfc.mode_ext = $9580d6e047027232$var$Encoder.MPG_MD_MS_LR;\n }\n }\n /* bit and noise allocation */ if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */ pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */ pe_use = pe;\n }\n /* copy data for MP3 frame analyzer */ if (gfp.analysis && gfc.pinfo != null) {\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n $9580d6e047027232$var$System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0, gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */ if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n $9580d6e047027232$var$System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0, gfc.pinfo.energy[gr][ch], 0, gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/ if (gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_off || gfp.VBR == $9580d6e047027232$var$VbrMode.vbr_abr) {\n var i;\n var f;\n for(i = 0; i < 18; i++)gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n f = 0.0;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n f = gfc.nsPsy.pefirbuf[9];\n for(i = 0; i < 9; i++)f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i]) * $9580d6e047027232$var$Encoder.fircoef[i];\n f = 3350 * gfc.mode_gr * gfc.channels_out / f;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++)pe_use[gr][ch] *= f;\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/ /* write the frame to the bitstream */ bs.format_bitstream(gfp);\n /* copy mp3 bit buffer into array */ mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n if (gfp.bWriteVbrTag) vbr.addVbrFrame(gfp);\n if (gfp.analysis && gfc.pinfo != null) {\n for(ch = 0; ch < gfc.channels_out; ch++){\n var j;\n for(j = 0; j < FFTOFFSET; j++)gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j + gfp.framesize];\n for(j = FFTOFFSET; j < 1600; j++)gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n updateStats(gfc);\n return mp3count;\n };\n}\nmodule.exports = $9580d6e047027232$var$Encoder;\n\n});\nparcelRequire.register(\"drj3v\", function(module, exports) {\n/*\n * MP3 window subband -> subband filtering -> mdct routine\n *\n * Copyright (c) 1999-2000 Takehiro Tominaga\n *\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Library General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /*\n * Special Thanks to Patrick De Smet for your advices.\n */ /* $Id: NewMDCT.java,v 1.11 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $9c8c9409243421ca$var$System = $3YDN3.System;\nvar $9c8c9409243421ca$var$VbrMode = $3YDN3.VbrMode;\nvar $9c8c9409243421ca$var$Float = $3YDN3.Float;\nvar $9c8c9409243421ca$var$ShortBlock = $3YDN3.ShortBlock;\nvar $9c8c9409243421ca$var$Util = $3YDN3.Util;\nvar $9c8c9409243421ca$var$Arrays = $3YDN3.Arrays;\nvar $9c8c9409243421ca$var$new_array_n = $3YDN3.new_array_n;\nvar $9c8c9409243421ca$var$new_byte = $3YDN3.new_byte;\nvar $9c8c9409243421ca$var$new_double = $3YDN3.new_double;\nvar $9c8c9409243421ca$var$new_float = $3YDN3.new_float;\nvar $9c8c9409243421ca$var$new_float_n = $3YDN3.new_float_n;\nvar $9c8c9409243421ca$var$new_int = $3YDN3.new_int;\nvar $9c8c9409243421ca$var$new_int_n = $3YDN3.new_int_n;\nvar $9c8c9409243421ca$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $9c8c9409243421ca$var$NewMDCT() {\n var enwindow = [\n -0.1482523854003001,\n 32.308141959636465,\n 296.40344946382766,\n 883.1344870032432,\n 11113.947376231741,\n 1057.2713659324597,\n 305.7402417275812,\n 30.825928907280012,\n /* 15 */ 3.8533188138216365,\n 59.42900443849514,\n 709.5899960123345,\n 5281.91112291017,\n -5829.66483675846,\n -817.6293103748613,\n -76.91656988279972,\n -4.594269939176596,\n 9.063471690191471e-01,\n 1.960342806591213e-01,\n -0.15466694054279598,\n 34.324387823855965,\n 301.8067566458425,\n 817.599602898885,\n 11573.795901679885,\n 1181.2520595540152,\n 321.59731579894424,\n 31.232021761053772,\n /* 14 */ 3.7107095756221318,\n 53.650946155329365,\n 684.167428119626,\n 5224.56624370173,\n -6366.391851890084,\n -908.9766368219582,\n -89.83068876699639,\n -5.411397422890401,\n 8.206787908286602e-01,\n 3.901806440322567e-01,\n -0.16070888947830023,\n 36.147034243915876,\n 304.11815768187864,\n 732.7429163887613,\n 11989.60988270091,\n 1300.012278487897,\n 335.28490093152146,\n 31.48816102859945,\n /* 13 */ 3.373875931311736,\n 47.232241542899175,\n 652.7371796173471,\n 5132.414255594984,\n -6909.087078780055,\n -1001.9990371107289,\n -103.62185754286375,\n -6.104916304710272,\n 7.416505462720353e-01,\n 5.805693545089249e-01,\n -0.16636367662261495,\n 37.751650073343995,\n 303.01103387567713,\n 627.9747488785183,\n 12358.763425278165,\n 1412.2779918482834,\n 346.7496836825721,\n 31.598286663170416,\n /* 12 */ 3.1598635433980946,\n 40.57878626349686,\n 616.1671130880391,\n 5007.833007176154,\n -7454.040671756168,\n -1095.7960341867115,\n -118.24411666465777,\n -6.818469345853504,\n 6.681786379192989e-01,\n 7.653668647301797e-01,\n -0.1716176790982088,\n 39.11551877123304,\n 298.3413246578966,\n 503.5259106886539,\n 12679.589408408976,\n 1516.5821921214542,\n 355.9850766329023,\n 31.395241710249053,\n /* 11 */ 2.9164211881972335,\n 33.79716964664243,\n 574.8943997801362,\n 4853.234992253242,\n -7997.57021486075,\n -1189.7624067269965,\n -133.6444792601766,\n -7.7202770609839915,\n 5.993769336819237e-01,\n 9.427934736519954e-01,\n -0.17645823955292173,\n 40.21879108166477,\n 289.9982036694474,\n 359.3226160751053,\n 12950.259102786438,\n 1612.1013903507662,\n 362.85067106591504,\n 31.045922092242872,\n /* 10 */ 2.822222032597987,\n 26.988862316190684,\n 529.8996541764288,\n 4671.371946949588,\n -8535.899136645805,\n -1282.5898586244496,\n -149.58553632943463,\n -8.643494270763135,\n 5.345111359507916e-01,\n 1.111140466039205e+00,\n -0.36174739330527045,\n 41.04429910497807,\n 277.5463268268618,\n 195.6386023135583,\n 13169.43812144731,\n 1697.6433561479398,\n 367.40983966190305,\n 30.557037410382826,\n /* 9 */ 2.531473372857427,\n 20.070154905927314,\n 481.50208566532336,\n 4464.970341588308,\n -9065.36882077239,\n -1373.62841526722,\n -166.1660487028118,\n -9.58289321133207,\n 4.729647758913199e-01,\n 1.268786568327291e+00,\n -0.36970682634889585,\n 41.393213350082036,\n 261.2935935556502,\n 12.935476055240873,\n 13336.131683328815,\n 1772.508612059496,\n 369.76534388639965,\n 29.751323653701338,\n 2.4023193045459172,\n 13.304795348228817,\n 430.5615775526625,\n 4237.0568611071185,\n -9581.931701634761,\n -1461.6913552409758,\n -183.12733958476446,\n -10.718010163869403,\n 4.1421356237309504879e-01,\n /* tan(PI/8) */ 1.414213562373095e+00,\n -0.37677560326535325,\n 41.619486213528496,\n 241.05423794991074,\n -187.94665032361226,\n 13450.063605744153,\n 1836.153896465782,\n 369.4908799925761,\n 29.001847876923147,\n /* 7 */ 2.0714759319987186,\n 6.779591200894186,\n 377.7767837205709,\n 3990.386575512536,\n -10081.709459700915,\n -1545.947424837898,\n -200.3762958015653,\n -11.864482073055006,\n 3.578057213145241e-01,\n 1.546020906725474e+00,\n -0.3829366947518991,\n 41.1516456456653,\n 216.47684307105183,\n -406.1569483347166,\n 13511.136535077321,\n 1887.8076599260432,\n 367.3025214564151,\n 28.136213436723654,\n /* 6 */ 1.913880671464418,\n 0.3829366947518991,\n 323.85365704338597,\n 3728.1472257487526,\n -10561.233882199509,\n -1625.2025997821418,\n -217.62525175416,\n -13.015432208941645,\n 3.033466836073424e-01,\n 1.662939224605090e+00,\n -0.5822628872992417,\n 40.35639251440489,\n 188.20071124269245,\n -640.2706748618148,\n 13519.21490106562,\n 1927.6022433578062,\n 362.8197642637487,\n 26.968821921868447,\n /* 5 */ 1.7463817695935329,\n -5.62650678237171,\n 269.3016715297017,\n 3453.386536448852,\n -11016.145278780888,\n -1698.6569643425091,\n -234.7658734267683,\n -14.16351421663124,\n 2.504869601913055e-01,\n 1.763842528696710e+00,\n -0.5887180101749253,\n 39.23429103868072,\n 155.76096234403798,\n -889.2492977967378,\n 13475.470561874661,\n 1955.0535223723712,\n 356.4450994756727,\n 25.894952980042156,\n /* 4 */ 1.5695032905781554,\n -11.181939564328772,\n 214.80884394039484,\n 3169.1640829158237,\n -11443.321309975563,\n -1765.1588461316153,\n -251.68908574481912,\n -15.49755935939164,\n 1.989123673796580e-01,\n 1.847759065022573e+00,\n -0.7912582233652842,\n 37.39369355329111,\n 119.699486012458,\n -1151.0956593239027,\n 13380.446257078214,\n 1970.3952110853447,\n 348.01959814116185,\n 24.731487364283044,\n /* 3 */ 1.3850130831637748,\n -16.421408865300393,\n 161.05030052864092,\n 2878.3322807850063,\n -11838.991423510031,\n -1823.985884688674,\n -268.2854986386903,\n -16.81724543849939,\n 1.483359875383474e-01,\n 1.913880671464418e+00,\n -0.7960642926861912,\n 35.2322109610459,\n 80.01928065061526,\n -1424.0212633405113,\n 13235.794061869668,\n 1973.804052543835,\n 337.9908651258184,\n 23.289159354463873,\n 1.3934255946442087,\n -21.099669467133474,\n 108.48348407242611,\n 2583.700758091299,\n -12199.726194855148,\n -1874.2780658979746,\n -284.2467154529415,\n -18.11369784385905,\n 9.849140335716425e-02,\n 1.961570560806461e+00,\n -0.998795456205172,\n 32.56307803611191,\n 36.958364584370486,\n -1706.075448829146,\n 13043.287458812016,\n 1965.3831106103316,\n 326.43182772364605,\n 22.175018750622293,\n 1.198638339011324,\n -25.371248002043963,\n 57.53505923036915,\n 2288.41886619975,\n -12522.674544337233,\n -1914.8400385312243,\n -299.26241273417224,\n -19.37805630698734,\n 4.912684976946725e-02,\n 1.990369453344394e+00,\n 3.5780907e-02 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.7876148e-02 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 3.134727e-03 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 2.457142e-03 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 9.71317e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 2.18868e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.01566e-04 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 1.3828e-05 * $9c8c9409243421ca$var$Util.SQRT2 * 0.5 / 2.384e-06,\n 12804.797818791945,\n 1945.5515939597317,\n 313.4244966442953,\n 20.801593959731544,\n 1995.1556208053692,\n 9.000838926174497,\n -29.20218120805369\n ];\n var NS = 12;\n var NL = 36;\n var win = [\n [\n 2.382191739347913e-13,\n 6.423305872147834e-13,\n 9.400849094049688e-13,\n 1.122435026096556e-12,\n 1.183840321267481e-12,\n 1.122435026096556e-12,\n 9.400849094049690e-13,\n 6.423305872147839e-13,\n 2.382191739347918e-13,\n 5.456116108943412e-12,\n 4.878985199565852e-12,\n 4.240448995017367e-12,\n 3.559909094758252e-12,\n 2.858043359288075e-12,\n 2.156177623817898e-12,\n 1.475637723558783e-12,\n 8.371015190102974e-13,\n 2.599706096327376e-13,\n -0.000000000005456116108943412,\n -0.000000000004878985199565852,\n -0.000000000004240448995017367,\n -0.000000000003559909094758252,\n -0.000000000002858043359288076,\n -0.000000000002156177623817898,\n -0.000000000001475637723558783,\n -0.0000000000008371015190102975,\n -0.0000000000002599706096327376,\n -0.0000000000002382191739347923,\n -0.0000000000006423305872147843,\n -0.0000000000009400849094049696,\n -0.000000000001122435026096556,\n -0.000000000001183840321267481,\n -0.000000000001122435026096556,\n -0.0000000000009400849094049694,\n -0.000000000000642330587214784,\n -0.0000000000002382191739347918\n ],\n [\n 2.382191739347913e-13,\n 6.423305872147834e-13,\n 9.400849094049688e-13,\n 1.122435026096556e-12,\n 1.183840321267481e-12,\n 1.122435026096556e-12,\n 9.400849094049688e-13,\n 6.423305872147841e-13,\n 2.382191739347918e-13,\n 5.456116108943413e-12,\n 4.878985199565852e-12,\n 4.240448995017367e-12,\n 3.559909094758253e-12,\n 2.858043359288075e-12,\n 2.156177623817898e-12,\n 1.475637723558782e-12,\n 8.371015190102975e-13,\n 2.599706096327376e-13,\n -0.000000000005461314069809755,\n -0.000000000004921085770524055,\n -0.000000000004343405037091838,\n -0.000000000003732668368707687,\n -0.000000000003093523840190885,\n -0.000000000002430835727329465,\n -0.000000000001734679010007751,\n -0.000000000000974825365660928,\n -0.0000000000002797435120168326,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n -0.0000000000002283748241799531,\n -0.0000000000004037858874020686,\n -0.0000000000002146547464825323\n ],\n [\n 1.316524975873958e-01,\n /* win[SHORT_TYPE] */ 4.142135623730950e-01,\n 7.673269879789602e-01,\n 1.091308501069271e+00,\n /* tantab_l */ 1.303225372841206e+00,\n 1.569685577117490e+00,\n 1.920982126971166e+00,\n 2.414213562373094e+00,\n 3.171594802363212e+00,\n 4.510708503662055e+00,\n 7.595754112725146e+00,\n 2.290376554843115e+01,\n 0.98480775301220802032,\n /* cx */ 0.64278760968653936292,\n 0.34202014332566882393,\n 0.93969262078590842791,\n -0.1736481776669303,\n -0.7660444431189779,\n 0.86602540378443870761,\n 0.500000000000000e+00,\n -0.5144957554275265,\n /* ca */ -0.4717319685649723,\n -0.3133774542039019,\n -0.1819131996109812,\n -0.09457419252642064,\n -0.04096558288530405,\n -0.01419856857247115,\n -0.003699974673760037,\n 8.574929257125442e-01,\n /* cs */ 8.817419973177052e-01,\n 9.496286491027329e-01,\n 9.833145924917901e-01,\n 9.955178160675857e-01,\n 9.991605581781475e-01,\n 9.998991952444470e-01,\n 9.999931550702802e-01\n ],\n [\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 0.000000000000000e+00,\n 2.283748241799531e-13,\n 4.037858874020686e-13,\n 2.146547464825323e-13,\n 5.461314069809755e-12,\n 4.921085770524055e-12,\n 4.343405037091838e-12,\n 3.732668368707687e-12,\n 3.093523840190885e-12,\n 2.430835727329466e-12,\n 1.734679010007751e-12,\n 9.748253656609281e-13,\n 2.797435120168326e-13,\n -0.000000000005456116108943413,\n -0.000000000004878985199565852,\n -0.000000000004240448995017367,\n -0.000000000003559909094758253,\n -0.000000000002858043359288075,\n -0.000000000002156177623817898,\n -0.000000000001475637723558782,\n -0.0000000000008371015190102975,\n -0.0000000000002599706096327376,\n -0.0000000000002382191739347913,\n -0.0000000000006423305872147834,\n -0.0000000000009400849094049688,\n -0.000000000001122435026096556,\n -0.000000000001183840321267481,\n -0.000000000001122435026096556,\n -0.0000000000009400849094049688,\n -0.0000000000006423305872147841,\n -0.0000000000002382191739347918\n ]\n ];\n var tantab_l = win[$cPNKB.SHORT_TYPE];\n var cx = win[$cPNKB.SHORT_TYPE];\n var ca = win[$cPNKB.SHORT_TYPE];\n var cs = win[$cPNKB.SHORT_TYPE];\n /**\n\t * new IDCT routine written by Takehiro TOMINAGA\n\t *\n\t * PURPOSE: Overlapping window on PCM samples<BR>\n\t *\n\t * SEMANTICS:<BR>\n\t * 32 16-bit pcm samples are scaled to fractional 2's complement and\n\t * concatenated to the end of the window buffer #x#. The updated window\n\t * buffer #x# is then windowed by the analysis window #c# to produce the\n\t * windowed sample #z#\n\t */ var order = [\n 0,\n 1,\n 16,\n 17,\n 8,\n 9,\n 24,\n 25,\n 4,\n 5,\n 20,\n 21,\n 12,\n 13,\n 28,\n 29,\n 2,\n 3,\n 18,\n 19,\n 10,\n 11,\n 26,\n 27,\n 6,\n 7,\n 22,\n 23,\n 14,\n 15,\n 30,\n 31\n ];\n /**\n\t * returns sum_j=0^31 a[j]*cos(PI*j*(k+1/2)/32), 0<=k<32\n\t */ function window_subband(x1, x1Pos, a) {\n var wp = 10;\n var x2 = x1Pos + 238 - 14 - 286;\n for(var i = -15; i < 0; i++){\n var w, s, t;\n w = enwindow[wp + -10];\n s = x1[x2 + -224] * w;\n t = x1[x1Pos + 224] * w;\n w = enwindow[wp + -9];\n s += x1[x2 + -160] * w;\n t += x1[x1Pos + 160] * w;\n w = enwindow[wp + -8];\n s += x1[x2 + -96] * w;\n t += x1[x1Pos + 96] * w;\n w = enwindow[wp + -7];\n s += x1[x2 + -32] * w;\n t += x1[x1Pos + 32] * w;\n w = enwindow[wp + -6];\n s += x1[x2 + 32] * w;\n t += x1[x1Pos + -32] * w;\n w = enwindow[wp + -5];\n s += x1[x2 + 96] * w;\n t += x1[x1Pos + -96] * w;\n w = enwindow[wp + -4];\n s += x1[x2 + 160] * w;\n t += x1[x1Pos + -160] * w;\n w = enwindow[wp + -3];\n s += x1[x2 + 224] * w;\n t += x1[x1Pos + -224] * w;\n w = enwindow[wp + -2];\n s += x1[x1Pos + -256] * w;\n t -= x1[x2 + 256] * w;\n w = enwindow[wp + -1];\n s += x1[x1Pos + -192] * w;\n t -= x1[x2 + 192] * w;\n w = enwindow[wp + 0];\n s += x1[x1Pos + -128] * w;\n t -= x1[x2 + 128] * w;\n w = enwindow[wp + 1];\n s += x1[x1Pos + -64] * w;\n t -= x1[x2 + 64] * w;\n w = enwindow[wp + 2];\n s += x1[x1Pos + 0] * w;\n t -= x1[x2 + 0] * w;\n w = enwindow[wp + 3];\n s += x1[x1Pos + 64] * w;\n t -= x1[x2 + -64] * w;\n w = enwindow[wp + 4];\n s += x1[x1Pos + 128] * w;\n t -= x1[x2 + -128] * w;\n w = enwindow[wp + 5];\n s += x1[x1Pos + 192] * w;\n t -= x1[x2 + -192] * w;\n /*\n\t\t\t * this multiplyer could be removed, but it needs more 256 FLOAT\n\t\t\t * data. thinking about the data cache performance, I think we\n\t\t\t * should not use such a huge table. tt 2000/Oct/25\n\t\t\t */ s *= enwindow[wp + 6];\n w = t - s;\n a[30 + i * 2] = t + s;\n a[31 + i * 2] = enwindow[wp + 7] * w;\n wp += 18;\n x1Pos--;\n x2++;\n }\n var s, t, u, v;\n t = x1[x1Pos + -16] * enwindow[wp + -10];\n s = x1[x1Pos + -32] * enwindow[wp + -2];\n t += (x1[x1Pos + -48] - x1[x1Pos + 16]) * enwindow[wp + -9];\n s += x1[x1Pos + -96] * enwindow[wp + -1];\n t += (x1[x1Pos + -80] + x1[x1Pos + 48]) * enwindow[wp + -8];\n s += x1[x1Pos + -160] * enwindow[wp + 0];\n t += (x1[x1Pos + -112] - x1[x1Pos + 80]) * enwindow[wp + -7];\n s += x1[x1Pos + -224] * enwindow[wp + 1];\n t += (x1[x1Pos + -144] + x1[x1Pos + 112]) * enwindow[wp + -6];\n s -= x1[x1Pos + 32] * enwindow[wp + 2];\n t += (x1[x1Pos + -176] - x1[x1Pos + 144]) * enwindow[wp + -5];\n s -= x1[x1Pos + 96] * enwindow[wp + 3];\n t += (x1[x1Pos + -208] + x1[x1Pos + 176]) * enwindow[wp + -4];\n s -= x1[x1Pos + 160] * enwindow[wp + 4];\n t += (x1[x1Pos + -240] - x1[x1Pos + 208]) * enwindow[wp + -3];\n s -= x1[x1Pos + 224];\n u = s - t;\n v = s + t;\n t = a[14];\n s = a[15] - t;\n a[31] = v + t; /* A0 */ \n a[30] = u + s; /* A1 */ \n a[15] = u - s; /* A2 */ \n a[14] = v - t; /* A3 */ \n var xr;\n xr = a[28] - a[0];\n a[0] += a[28];\n a[28] = xr * enwindow[wp + -36 + 7];\n xr = a[29] - a[1];\n a[1] += a[29];\n a[29] = xr * enwindow[wp + -36 + 7];\n xr = a[26] - a[2];\n a[2] += a[26];\n a[26] = xr * enwindow[wp + -72 + 7];\n xr = a[27] - a[3];\n a[3] += a[27];\n a[27] = xr * enwindow[wp + -72 + 7];\n xr = a[24] - a[4];\n a[4] += a[24];\n a[24] = xr * enwindow[wp + -108 + 7];\n xr = a[25] - a[5];\n a[5] += a[25];\n a[25] = xr * enwindow[wp + -108 + 7];\n xr = a[22] - a[6];\n a[6] += a[22];\n a[22] = xr * $9c8c9409243421ca$var$Util.SQRT2;\n xr = a[23] - a[7];\n a[7] += a[23];\n a[23] = xr * $9c8c9409243421ca$var$Util.SQRT2 - a[7];\n a[7] -= a[6];\n a[22] -= a[7];\n a[23] -= a[22];\n xr = a[6];\n a[6] = a[31] - xr;\n a[31] = a[31] + xr;\n xr = a[7];\n a[7] = a[30] - xr;\n a[30] = a[30] + xr;\n xr = a[22];\n a[22] = a[15] - xr;\n a[15] = a[15] + xr;\n xr = a[23];\n a[23] = a[14] - xr;\n a[14] = a[14] + xr;\n xr = a[20] - a[8];\n a[8] += a[20];\n a[20] = xr * enwindow[wp + -180 + 7];\n xr = a[21] - a[9];\n a[9] += a[21];\n a[21] = xr * enwindow[wp + -180 + 7];\n xr = a[18] - a[10];\n a[10] += a[18];\n a[18] = xr * enwindow[wp + -216 + 7];\n xr = a[19] - a[11];\n a[11] += a[19];\n a[19] = xr * enwindow[wp + -216 + 7];\n xr = a[16] - a[12];\n a[12] += a[16];\n a[16] = xr * enwindow[wp + -252 + 7];\n xr = a[17] - a[13];\n a[13] += a[17];\n a[17] = xr * enwindow[wp + -252 + 7];\n xr = -a[20] + a[24];\n a[20] += a[24];\n a[24] = xr * enwindow[wp + -216 + 7];\n xr = -a[21] + a[25];\n a[21] += a[25];\n a[25] = xr * enwindow[wp + -216 + 7];\n xr = a[4] - a[8];\n a[4] += a[8];\n a[8] = xr * enwindow[wp + -216 + 7];\n xr = a[5] - a[9];\n a[5] += a[9];\n a[9] = xr * enwindow[wp + -216 + 7];\n xr = a[0] - a[12];\n a[0] += a[12];\n a[12] = xr * enwindow[wp + -72 + 7];\n xr = a[1] - a[13];\n a[1] += a[13];\n a[13] = xr * enwindow[wp + -72 + 7];\n xr = a[16] - a[28];\n a[16] += a[28];\n a[28] = xr * enwindow[wp + -72 + 7];\n xr = -a[17] + a[29];\n a[17] += a[29];\n a[29] = xr * enwindow[wp + -72 + 7];\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[2] - a[10]);\n a[2] += a[10];\n a[10] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[3] - a[11]);\n a[3] += a[11];\n a[11] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (-a[18] + a[26]);\n a[18] += a[26];\n a[26] = xr - a[18];\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (-a[19] + a[27]);\n a[19] += a[27];\n a[27] = xr - a[19];\n xr = a[2];\n a[19] -= a[3];\n a[3] -= xr;\n a[2] = a[31] - xr;\n a[31] += xr;\n xr = a[3];\n a[11] -= a[19];\n a[18] -= xr;\n a[3] = a[30] - xr;\n a[30] += xr;\n xr = a[18];\n a[27] -= a[11];\n a[19] -= xr;\n a[18] = a[15] - xr;\n a[15] += xr;\n xr = a[19];\n a[10] -= xr;\n a[19] = a[14] - xr;\n a[14] += xr;\n xr = a[10];\n a[11] -= xr;\n a[10] = a[23] - xr;\n a[23] += xr;\n xr = a[11];\n a[26] -= xr;\n a[11] = a[22] - xr;\n a[22] += xr;\n xr = a[26];\n a[27] -= xr;\n a[26] = a[7] - xr;\n a[7] += xr;\n xr = a[27];\n a[27] = a[6] - xr;\n a[6] += xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[0] - a[4]);\n a[0] += a[4];\n a[4] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[1] - a[5]);\n a[1] += a[5];\n a[5] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[16] - a[20]);\n a[16] += a[20];\n a[20] = xr;\n xr = $9c8c9409243421ca$var$Util.SQRT2 * (a[17] - a[21]);\n a[17] += a[21];\n a[21] = xr;\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[8] - a[12]);\n a[8] += a[12];\n a[12] = xr - a[8];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[9] - a[13]);\n a[9] += a[13];\n a[13] = xr - a[9];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[25] - a[29]);\n a[25] += a[29];\n a[29] = xr - a[25];\n xr = -$9c8c9409243421ca$var$Util.SQRT2 * (a[24] + a[28]);\n a[24] -= a[28];\n a[28] = xr - a[24];\n xr = a[24] - a[16];\n a[24] = xr;\n xr = a[20] - xr;\n a[20] = xr;\n xr = a[28] - xr;\n a[28] = xr;\n xr = a[25] - a[17];\n a[25] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[17] - a[1];\n a[17] = xr;\n xr = a[9] - xr;\n a[9] = xr;\n xr = a[25] - xr;\n a[25] = xr;\n xr = a[5] - xr;\n a[5] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[13] - xr;\n a[13] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[1] - a[0];\n a[1] = xr;\n xr = a[16] - xr;\n a[16] = xr;\n xr = a[17] - xr;\n a[17] = xr;\n xr = a[8] - xr;\n a[8] = xr;\n xr = a[9] - xr;\n a[9] = xr;\n xr = a[24] - xr;\n a[24] = xr;\n xr = a[25] - xr;\n a[25] = xr;\n xr = a[4] - xr;\n a[4] = xr;\n xr = a[5] - xr;\n a[5] = xr;\n xr = a[20] - xr;\n a[20] = xr;\n xr = a[21] - xr;\n a[21] = xr;\n xr = a[12] - xr;\n a[12] = xr;\n xr = a[13] - xr;\n a[13] = xr;\n xr = a[28] - xr;\n a[28] = xr;\n xr = a[29] - xr;\n a[29] = xr;\n xr = a[0];\n a[0] += a[31];\n a[31] -= xr;\n xr = a[1];\n a[1] += a[30];\n a[30] -= xr;\n xr = a[16];\n a[16] += a[15];\n a[15] -= xr;\n xr = a[17];\n a[17] += a[14];\n a[14] -= xr;\n xr = a[8];\n a[8] += a[23];\n a[23] -= xr;\n xr = a[9];\n a[9] += a[22];\n a[22] -= xr;\n xr = a[24];\n a[24] += a[7];\n a[7] -= xr;\n xr = a[25];\n a[25] += a[6];\n a[6] -= xr;\n xr = a[4];\n a[4] += a[27];\n a[27] -= xr;\n xr = a[5];\n a[5] += a[26];\n a[26] -= xr;\n xr = a[20];\n a[20] += a[11];\n a[11] -= xr;\n xr = a[21];\n a[21] += a[10];\n a[10] -= xr;\n xr = a[12];\n a[12] += a[19];\n a[19] -= xr;\n xr = a[13];\n a[13] += a[18];\n a[18] -= xr;\n xr = a[28];\n a[28] += a[3];\n a[3] -= xr;\n xr = a[29];\n a[29] += a[2];\n a[2] -= xr;\n }\n /**\n\t * Function: Calculation of the MDCT In the case of long blocks (type 0,1,3)\n\t * there are 36 coefficents in the time domain and 18 in the frequency\n\t * domain.<BR>\n\t * In the case of short blocks (type 2) there are 3 transformations with\n\t * short length. This leads to 12 coefficents in the time and 6 in the\n\t * frequency domain. In this case the results are stored side by side in the\n\t * vector out[].\n\t *\n\t * New layer3\n\t */ function mdct_short(inout, inoutPos) {\n for(var l = 0; l < 3; l++){\n var tc0, tc1, tc2, ts0, ts1, ts2;\n ts0 = inout[inoutPos + 6] * win[$cPNKB.SHORT_TYPE][0] - inout[inoutPos + 15];\n tc0 = inout[inoutPos + 0] * win[$cPNKB.SHORT_TYPE][2] - inout[inoutPos + 9];\n tc1 = ts0 + tc0;\n tc2 = ts0 - tc0;\n ts0 = inout[inoutPos + 15] * win[$cPNKB.SHORT_TYPE][0] + inout[inoutPos + 6];\n tc0 = inout[inoutPos + 9] * win[$cPNKB.SHORT_TYPE][2] + inout[inoutPos + 0];\n ts1 = ts0 + tc0;\n ts2 = -ts0 + tc0;\n tc0 = (inout[inoutPos + 3] * win[$cPNKB.SHORT_TYPE][1] - inout[inoutPos + 12]) * 2.069978111953089e-11;\n /*\n\t\t\t * tritab_s [ 1 ]\n\t\t\t */ ts0 = (inout[inoutPos + 12] * win[$cPNKB.SHORT_TYPE][1] + inout[inoutPos + 3]) * 2.069978111953089e-11;\n /*\n\t\t\t * tritab_s [ 1 ]\n\t\t\t */ inout[inoutPos + 0] = tc1 * 1.907525191737280e-11 + tc0;\n /*\n\t\t\t * tritab_s[ 2 ]\n\t\t\t */ inout[inoutPos + 15] = -ts1 * 1.907525191737280e-11 + ts0;\n /*\n\t\t\t * tritab_s[0 ]\n\t\t\t */ tc2 = tc2 * 0.000000000016519652744032674;\n /*\n\t\t\t * tritab_s[ 2]\n\t\t\t */ ts1 = ts1 * 0.5 * 1.907525191737281e-11 + ts0;\n inout[inoutPos + 3] = tc2 - ts1;\n inout[inoutPos + 6] = tc2 + ts1;\n tc1 = tc1 * 0.5 * 1.907525191737281e-11 - tc0;\n ts2 = ts2 * 0.000000000016519652744032674;\n /*\n\t\t\t * tritab_s[ 0]\n\t\t\t */ inout[inoutPos + 9] = tc1 + ts2;\n inout[inoutPos + 12] = tc1 - ts2;\n inoutPos++;\n }\n }\n function mdct_long(out, outPos, _in) {\n var ct, st;\n var tc1, tc2, tc3, tc4, ts5, ts6, ts7, ts8;\n /* 1,2, 5,6, 9,10, 13,14, 17 */ tc1 = _in[17] - _in[9];\n tc3 = _in[15] - _in[11];\n tc4 = _in[14] - _in[12];\n ts5 = _in[0] + _in[8];\n ts6 = _in[1] + _in[7];\n ts7 = _in[2] + _in[6];\n ts8 = _in[3] + _in[5];\n out[outPos + 17] = ts5 + ts7 - ts8 - (ts6 - _in[4]);\n st = (ts5 + ts7 - ts8) * cx[19] + (ts6 - _in[4]);\n ct = (tc1 - tc3 - tc4) * cx[18];\n out[outPos + 5] = ct + st;\n out[outPos + 6] = ct - st;\n tc2 = (_in[16] - _in[10]) * cx[18];\n ts6 = ts6 * cx[19] + _in[4];\n ct = tc1 * cx[12] + tc2 + tc3 * cx[13] + tc4 * cx[14];\n st = -ts5 * cx[16] + ts6 - ts7 * cx[17] + ts8 * cx[15];\n out[outPos + 1] = ct + st;\n out[outPos + 2] = ct - st;\n ct = tc1 * cx[13] - tc2 - tc3 * cx[14] + tc4 * cx[12];\n st = -ts5 * cx[17] + ts6 - ts7 * cx[15] + ts8 * cx[16];\n out[outPos + 9] = ct + st;\n out[outPos + 10] = ct - st;\n ct = tc1 * cx[14] - tc2 + tc3 * cx[12] - tc4 * cx[13];\n st = ts5 * cx[15] - ts6 + ts7 * cx[16] - ts8 * cx[17];\n out[outPos + 13] = ct + st;\n out[outPos + 14] = ct - st;\n var ts1, ts2, ts3, ts4, tc5, tc6, tc7, tc8;\n ts1 = _in[8] - _in[0];\n ts3 = _in[6] - _in[2];\n ts4 = _in[5] - _in[3];\n tc5 = _in[17] + _in[9];\n tc6 = _in[16] + _in[10];\n tc7 = _in[15] + _in[11];\n tc8 = _in[14] + _in[12];\n out[outPos + 0] = tc5 + tc7 + tc8 + (tc6 + _in[13]);\n ct = (tc5 + tc7 + tc8) * cx[19] - (tc6 + _in[13]);\n st = (ts1 - ts3 + ts4) * cx[18];\n out[outPos + 11] = ct + st;\n out[outPos + 12] = ct - st;\n ts2 = (_in[7] - _in[1]) * cx[18];\n tc6 = _in[13] - tc6 * cx[19];\n ct = tc5 * cx[15] - tc6 + tc7 * cx[16] + tc8 * cx[17];\n st = ts1 * cx[14] + ts2 + ts3 * cx[12] + ts4 * cx[13];\n out[outPos + 3] = ct + st;\n out[outPos + 4] = ct - st;\n ct = -tc5 * cx[17] + tc6 - tc7 * cx[15] - tc8 * cx[16];\n st = ts1 * cx[13] + ts2 - ts3 * cx[14] - ts4 * cx[12];\n out[outPos + 7] = ct + st;\n out[outPos + 8] = ct - st;\n ct = -tc5 * cx[16] + tc6 - tc7 * cx[17] - tc8 * cx[15];\n st = ts1 * cx[12] - ts2 + ts3 * cx[13] - ts4 * cx[14];\n out[outPos + 15] = ct + st;\n out[outPos + 16] = ct - st;\n }\n this.mdct_sub48 = function(gfc, w0, w1) {\n var wk = w0;\n var wkPos = 286;\n /* thinking cache performance, ch->gr loop is better than gr->ch loop */ for(var ch = 0; ch < gfc.channels_out; ch++){\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n var band;\n var gi = gfc.l3_side.tt[gr][ch];\n var mdct_enc = gi.xr;\n var mdct_encPos = 0;\n var samp = gfc.sb_sample[ch][1 - gr];\n var sampPos = 0;\n for(var k = 0; k < 9; k++){\n window_subband(wk, wkPos, samp[sampPos]);\n window_subband(wk, wkPos + 32, samp[sampPos + 1]);\n sampPos += 2;\n wkPos += 64;\n /*\n\t\t\t\t\t * Compensate for inversion in the analysis filter\n\t\t\t\t\t */ for(band = 1; band < 32; band += 2)samp[sampPos - 1][band] *= -1;\n }\n /*\n\t\t\t\t * Perform imdct of 18 previous subband samples + 18 current\n\t\t\t\t * subband samples\n\t\t\t\t */ for(band = 0; band < 32; band++, mdct_encPos += 18){\n var type = gi.block_type;\n var band0 = gfc.sb_sample[ch][gr];\n var band1 = gfc.sb_sample[ch][1 - gr];\n if (gi.mixed_block_flag != 0 && band < 2) type = 0;\n if (gfc.amp_filter[band] < 1e-12) $9c8c9409243421ca$var$Arrays.fill(mdct_enc, mdct_encPos + 0, mdct_encPos + 18, 0);\n else {\n if (gfc.amp_filter[band] < 1.0) for(var k = 0; k < 18; k++)band1[k][order[band]] *= gfc.amp_filter[band];\n if (type == $cPNKB.SHORT_TYPE) {\n for(var k = -NS / 4; k < 0; k++){\n var w = win[$cPNKB.SHORT_TYPE][k + 3];\n mdct_enc[mdct_encPos + k * 3 + 9] = band0[9 + k][order[band]] * w - band0[8 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 18] = band0[14 - k][order[band]] * w + band0[15 + k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 10] = band0[15 + k][order[band]] * w - band0[14 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 19] = band1[2 - k][order[band]] * w + band1[3 + k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 11] = band1[3 + k][order[band]] * w - band1[2 - k][order[band]];\n mdct_enc[mdct_encPos + k * 3 + 20] = band1[8 - k][order[band]] * w + band1[9 + k][order[band]];\n }\n mdct_short(mdct_enc, mdct_encPos);\n } else {\n var work = $9c8c9409243421ca$var$new_float(18);\n for(var k = -NL / 4; k < 0; k++){\n var a, b;\n a = win[type][k + 27] * band1[k + 9][order[band]] + win[type][k + 36] * band1[8 - k][order[band]];\n b = win[type][k + 9] * band0[k + 9][order[band]] - win[type][k + 18] * band0[8 - k][order[band]];\n work[k + 9] = a - b * tantab_l[3 + k + 9];\n work[k + 18] = a * tantab_l[3 + k + 9] + b;\n }\n mdct_long(mdct_enc, mdct_encPos, work);\n }\n }\n /*\n\t\t\t\t\t * Perform aliasing reduction butterfly\n\t\t\t\t\t */ if (type != $cPNKB.SHORT_TYPE && band != 0) for(var k = 7; k >= 0; --k){\n var bu, bd;\n bu = mdct_enc[mdct_encPos + k] * ca[20 + k] + mdct_enc[mdct_encPos + -1 - k] * cs[28 + k];\n bd = mdct_enc[mdct_encPos + k] * cs[28 + k] - mdct_enc[mdct_encPos + -1 - k] * ca[20 + k];\n mdct_enc[mdct_encPos + -1 - k] = bu;\n mdct_enc[mdct_encPos + k] = bd;\n }\n }\n }\n wk = w1;\n wkPos = 286;\n if (gfc.mode_gr == 1) for(var i = 0; i < 18; i++)$9c8c9409243421ca$var$System.arraycopy(gfc.sb_sample[ch][1][i], 0, gfc.sb_sample[ch][0][i], 0, 32);\n }\n };\n}\nmodule.exports = $9c8c9409243421ca$var$NewMDCT;\n\n});\n\nparcelRequire.register(\"hvy40\", function(module, exports) {\n//package mp3;\n\nvar $51XxS = parcelRequire(\"51XxS\");\nfunction $cbefc13b27188c2b$var$III_psy_ratio() {\n this.thm = new $51XxS();\n this.en = new $51XxS();\n}\nmodule.exports = $cbefc13b27188c2b$var$III_psy_ratio;\n\n});\nparcelRequire.register(\"51XxS\", function(module, exports) {\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $3a9b3c3a1c7d1011$var$System = $3YDN3.System;\nvar $3a9b3c3a1c7d1011$var$VbrMode = $3YDN3.VbrMode;\nvar $3a9b3c3a1c7d1011$var$Float = $3YDN3.Float;\nvar $3a9b3c3a1c7d1011$var$ShortBlock = $3YDN3.ShortBlock;\nvar $3a9b3c3a1c7d1011$var$Util = $3YDN3.Util;\nvar $3a9b3c3a1c7d1011$var$Arrays = $3YDN3.Arrays;\nvar $3a9b3c3a1c7d1011$var$new_array_n = $3YDN3.new_array_n;\nvar $3a9b3c3a1c7d1011$var$new_byte = $3YDN3.new_byte;\nvar $3a9b3c3a1c7d1011$var$new_double = $3YDN3.new_double;\nvar $3a9b3c3a1c7d1011$var$new_float = $3YDN3.new_float;\nvar $3a9b3c3a1c7d1011$var$new_float_n = $3YDN3.new_float_n;\nvar $3a9b3c3a1c7d1011$var$new_int = $3YDN3.new_int;\nvar $3a9b3c3a1c7d1011$var$new_int_n = $3YDN3.new_int_n;\nvar $3a9b3c3a1c7d1011$var$assert = $3YDN3.assert;\nfunction $3a9b3c3a1c7d1011$var$III_psy_xmin() {\n this.l = $3a9b3c3a1c7d1011$var$new_float($cPNKB.SBMAX_l);\n this.s = $3a9b3c3a1c7d1011$var$new_float_n([\n $cPNKB.SBMAX_s,\n 3\n ]);\n var self = this;\n this.assign = function(iii_psy_xmin) {\n $3a9b3c3a1c7d1011$var$System.arraycopy(iii_psy_xmin.l, 0, self.l, 0, $cPNKB.SBMAX_l);\n for(var i = 0; i < $cPNKB.SBMAX_s; i++)for(var j = 0; j < 3; j++)self.s[i][j] = iii_psy_xmin.s[i][j];\n };\n}\nmodule.exports = $3a9b3c3a1c7d1011$var$III_psy_xmin;\n\n});\n\n\nparcelRequire.register(\"jL6I1\", function(module, exports) {\n//package mp3;\n/* MPEG modes */ function $e6279c632d7fdac0$var$MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function() {\n return _ordinal;\n };\n}\n$e6279c632d7fdac0$var$MPEGMode.STEREO = new $e6279c632d7fdac0$var$MPEGMode(0);\n$e6279c632d7fdac0$var$MPEGMode.JOINT_STEREO = new $e6279c632d7fdac0$var$MPEGMode(1);\n$e6279c632d7fdac0$var$MPEGMode.DUAL_CHANNEL = new $e6279c632d7fdac0$var$MPEGMode(2);\n$e6279c632d7fdac0$var$MPEGMode.MONO = new $e6279c632d7fdac0$var$MPEGMode(3);\n$e6279c632d7fdac0$var$MPEGMode.NOT_SET = new $e6279c632d7fdac0$var$MPEGMode(4);\nmodule.exports = $e6279c632d7fdac0$var$MPEGMode;\n\n});\n\n\n\n\nparcelRequire.register(\"5HJeD\", function(module, exports) {\n\nvar $jL6I1 = parcelRequire(\"jL6I1\");\nfunction $42740ea95db3cb8e$var$LameGlobalFlags() {\n this.class_id = 0;\n /* input description */ /**\n * number of samples. default=-1\n */ this.num_samples = 0;\n /**\n * input number of channels. default=2\n */ this.num_channels = 0;\n /**\n * input_samp_rate in Hz. default=44.1 kHz\n */ this.in_samplerate = 0;\n /**\n * output_samp_rate. default: LAME picks best value at least not used for\n * MP3 decoding: Remember 44.1 kHz MP3s and AC97\n */ this.out_samplerate = 0;\n /**\n * scale input by this amount before encoding at least not used for MP3\n * decoding\n */ this.scale = 0.;\n /**\n * scale input of channel 0 (left) by this amount before encoding\n */ this.scale_left = 0.;\n /**\n * scale input of channel 1 (right) by this amount before encoding\n */ this.scale_right = 0.;\n /* general control params */ /**\n * collect data for a MP3 frame analyzer?\n */ this.analysis = false;\n /**\n * add Xing VBR tag?\n */ this.bWriteVbrTag = false;\n /**\n * use lame/mpglib to convert mp3 to wav\n */ this.decode_only = false;\n /**\n * quality setting 0=best, 9=worst default=5\n */ this.quality = 0;\n /**\n * see enum default = LAME picks best value\n */ this.mode = $jL6I1.STEREO;\n /**\n * force M/S mode. requires mode=1\n */ this.force_ms = false;\n /**\n * use free format? default=0\n */ this.free_format = false;\n /**\n * find the RG value? default=0\n */ this.findReplayGain = false;\n /**\n * decode on the fly? default=0\n */ this.decode_on_the_fly = false;\n /**\n * 1 (default) writes ID3 tags, 0 not\n */ this.write_id3tag_automatic = false;\n /*\n * set either brate>0 or compression_ratio>0, LAME will compute the value of\n * the variable not set. Default is compression_ratio = 11.025\n */ /**\n * bitrate\n */ this.brate = 0;\n /**\n * sizeof(wav file)/sizeof(mp3 file)\n */ this.compression_ratio = 0.;\n /* frame params */ /**\n * mark as copyright. default=0\n */ this.copyright = 0;\n /**\n * mark as original. default=1\n */ this.original = 0;\n /**\n * the MP3 'private extension' bit. Meaningless\n */ this.extension = 0;\n /**\n * Input PCM is emphased PCM (for instance from one of the rarely emphased\n * CDs), it is STRONGLY not recommended to use this, because psycho does not\n * take it into account, and last but not least many decoders don't care\n * about these bits\n */ this.emphasis = 0;\n /**\n * use 2 bytes per frame for a CRC checksum. default=0\n */ this.error_protection = 0;\n /**\n * enforce ISO spec as much as possible\n */ this.strict_ISO = false;\n /**\n * use bit reservoir?\n */ this.disable_reservoir = false;\n /* quantization/noise shaping */ this.quant_comp = 0;\n this.quant_comp_short = 0;\n this.experimentalY = false;\n this.experimentalZ = 0;\n this.exp_nspsytune = 0;\n this.preset = 0;\n /* VBR control */ this.VBR = null;\n /**\n * Range [0,...,1[\n */ this.VBR_q_frac = 0.;\n /**\n * Range [0,...,9]\n */ this.VBR_q = 0;\n this.VBR_mean_bitrate_kbps = 0;\n this.VBR_min_bitrate_kbps = 0;\n this.VBR_max_bitrate_kbps = 0;\n /**\n * strictly enforce VBR_min_bitrate normaly, it will be violated for analog\n * silence\n */ this.VBR_hard_min = 0;\n /* resampling and filtering */ /**\n * freq in Hz. 0=lame choses. -1=no filter\n */ this.lowpassfreq = 0;\n /**\n * freq in Hz. 0=lame choses. -1=no filter\n */ this.highpassfreq = 0;\n /**\n * freq width of filter, in Hz (default=15%)\n */ this.lowpasswidth = 0;\n /**\n * freq width of filter, in Hz (default=15%)\n */ this.highpasswidth = 0;\n /*\n * psycho acoustics and other arguments which you should not change unless\n * you know what you are doing\n */ this.maskingadjust = 0.;\n this.maskingadjust_short = 0.;\n /**\n * only use ATH\n */ this.ATHonly = false;\n /**\n * only use ATH for short blocks\n */ this.ATHshort = false;\n /**\n * disable ATH\n */ this.noATH = false;\n /**\n * select ATH formula\n */ this.ATHtype = 0;\n /**\n * change ATH formula 4 shape\n */ this.ATHcurve = 0.;\n /**\n * lower ATH by this many db\n */ this.ATHlower = 0.;\n /**\n * select ATH auto-adjust scheme\n */ this.athaa_type = 0;\n /**\n * select ATH auto-adjust loudness calc\n */ this.athaa_loudapprox = 0;\n /**\n * dB, tune active region of auto-level\n */ this.athaa_sensitivity = 0.;\n this.short_blocks = null;\n /**\n * use temporal masking effect\n */ this.useTemporal = false;\n this.interChRatio = 0.;\n /**\n * Naoki's adjustment of Mid/Side maskings\n */ this.msfix = 0.;\n /**\n * 0 off, 1 on\n */ this.tune = false;\n /**\n * used to pass values for debugging and stuff\n */ this.tune_value_a = 0.;\n /************************************************************************/ /* internal variables, do not set... */ /* provided because they may be of use to calling application */ /************************************************************************/ /**\n * 0=MPEG-2/2.5 1=MPEG-1\n */ this.version = 0;\n this.encoder_delay = 0;\n /**\n * number of samples of padding appended to input\n */ this.encoder_padding = 0;\n this.framesize = 0;\n /**\n * number of frames encoded\n */ this.frameNum = 0;\n /**\n * is this struct owned by calling program or lame?\n */ this.lame_allocated_gfp = 0;\n /**************************************************************************/ /* more internal variables are stored in this structure: */ /**************************************************************************/ this.internal_flags = null;\n}\nmodule.exports = $42740ea95db3cb8e$var$LameGlobalFlags;\n\n});\n\nparcelRequire.register(\"4SDnr\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $38dac00579cf6ffc$var$System = $3YDN3.System;\nvar $38dac00579cf6ffc$var$VbrMode = $3YDN3.VbrMode;\nvar $38dac00579cf6ffc$var$Float = $3YDN3.Float;\nvar $38dac00579cf6ffc$var$ShortBlock = $3YDN3.ShortBlock;\nvar $38dac00579cf6ffc$var$Util = $3YDN3.Util;\nvar $38dac00579cf6ffc$var$Arrays = $3YDN3.Arrays;\nvar $38dac00579cf6ffc$var$new_array_n = $3YDN3.new_array_n;\nvar $38dac00579cf6ffc$var$new_byte = $3YDN3.new_byte;\nvar $38dac00579cf6ffc$var$new_double = $3YDN3.new_double;\nvar $38dac00579cf6ffc$var$new_float = $3YDN3.new_float;\nvar $38dac00579cf6ffc$var$new_float_n = $3YDN3.new_float_n;\nvar $38dac00579cf6ffc$var$new_int = $3YDN3.new_int;\nvar $38dac00579cf6ffc$var$new_int_n = $3YDN3.new_int_n;\nvar $38dac00579cf6ffc$var$assert = $3YDN3.assert;\n\nvar $eWXBy = parcelRequire(\"eWXBy\");\n\nvar $7imnH = parcelRequire(\"7imnH\");\n\nvar $7yzUB = parcelRequire(\"7yzUB\");\n\nvar $jTmCQ = parcelRequire(\"jTmCQ\");\n\nvar $51XxS = parcelRequire(\"51XxS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\n$38dac00579cf6ffc$var$LameInternalFlags.MFSIZE = 3456 + $cPNKB.ENCDELAY - $cPNKB.MDCTDELAY;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_HEADER_BUF = 256;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_BITS_PER_CHANNEL = 4095;\n$38dac00579cf6ffc$var$LameInternalFlags.MAX_BITS_PER_GRANULE = 7680;\n$38dac00579cf6ffc$var$LameInternalFlags.BPC = 320;\nfunction $38dac00579cf6ffc$var$LameInternalFlags() {\n var MAX_HEADER_LEN = 40;\n /********************************************************************\n * internal variables NOT set by calling program, and should not be *\n * modified by the calling program *\n ********************************************************************/ /**\n * Some remarks to the Class_ID field: The Class ID is an Identifier for a\n * pointer to this struct. It is very unlikely that a pointer to\n * lame_global_flags has the same 32 bits in it's structure (large and other\n * special properties, for instance prime).\n *\n * To test that the structure is right and initialized, use: if ( gfc .\n * Class_ID == LAME_ID ) ... Other remark: If you set a flag to 0 for uninit\n * data and 1 for init data, the right test should be \"if (flag == 1)\" and\n * NOT \"if (flag)\". Unintended modification of this element will be\n * otherwise misinterpreted as an init.\n */ this.Class_ID = 0;\n this.lame_encode_frame_init = 0;\n this.iteration_init_init = 0;\n this.fill_buffer_resample_init = 0;\n //public float mfbuf[][] = new float[2][MFSIZE];\n this.mfbuf = $38dac00579cf6ffc$var$new_float_n([\n 2,\n $38dac00579cf6ffc$var$LameInternalFlags.MFSIZE\n ]);\n /**\n * granules per frame\n */ this.mode_gr = 0;\n /**\n * number of channels in the input data stream (PCM or decoded PCM)\n */ this.channels_in = 0;\n /**\n * number of channels in the output data stream (not used for decoding)\n */ this.channels_out = 0;\n /**\n * input_samp_rate/output_samp_rate\n */ //public double resample_ratio;\n this.resample_ratio = 0.;\n this.mf_samples_to_encode = 0;\n this.mf_size = 0;\n /**\n * min bitrate index\n */ this.VBR_min_bitrate = 0;\n /**\n * max bitrate index\n */ this.VBR_max_bitrate = 0;\n this.bitrate_index = 0;\n this.samplerate_index = 0;\n this.mode_ext = 0;\n /* lowpass and highpass filter control */ /**\n * normalized frequency bounds of passband\n */ this.lowpass1 = 0.;\n this.lowpass2 = 0.;\n /**\n * normalized frequency bounds of passband\n */ this.highpass1 = 0.;\n this.highpass2 = 0.;\n /**\n * 0 = none 1 = ISO AAC model 2 = allow scalefac_select=1\n */ this.noise_shaping = 0;\n /**\n * 0 = ISO model: amplify all distorted bands<BR>\n * 1 = amplify within 50% of max (on db scale)<BR>\n * 2 = amplify only most distorted band<BR>\n * 3 = method 1 and refine with method 2<BR>\n */ this.noise_shaping_amp = 0;\n /**\n * 0 = no substep<BR>\n * 1 = use substep shaping at last step(VBR only)<BR>\n * (not implemented yet)<BR>\n * 2 = use substep inside loop<BR>\n * 3 = use substep inside loop and last step<BR>\n */ this.substep_shaping = 0;\n /**\n * 1 = gpsycho. 0 = none\n */ this.psymodel = 0;\n /**\n * 0 = stop at over=0, all scalefacs amplified or<BR>\n * a scalefac has reached max value<BR>\n * 1 = stop when all scalefacs amplified or a scalefac has reached max value<BR>\n * 2 = stop when all scalefacs amplified\n */ this.noise_shaping_stop = 0;\n /**\n * 0 = no, 1 = yes\n */ this.subblock_gain = 0;\n /**\n * 0 = no. 1=outside loop 2=inside loop(slow)\n */ this.use_best_huffman = 0;\n /**\n * 0 = stop early after 0 distortion found. 1 = full search\n */ this.full_outer_loop = 0;\n //public IIISideInfo l3_side = new IIISideInfo();\n this.l3_side = new $eWXBy();\n this.ms_ratio = $38dac00579cf6ffc$var$new_float(2);\n /* used for padding */ /**\n * padding for the current frame?\n */ this.padding = 0;\n this.frac_SpF = 0;\n this.slot_lag = 0;\n /**\n * optional ID3 tags\n */ //public ID3TagSpec tag_spec;\n this.tag_spec = null;\n this.nMusicCRC = 0;\n /* variables used by Quantize */ //public int OldValue[] = new int[2];\n this.OldValue = $38dac00579cf6ffc$var$new_int(2);\n //public int CurrentStep[] = new int[2];\n this.CurrentStep = $38dac00579cf6ffc$var$new_int(2);\n this.masking_lower = 0.;\n //public int bv_scf[] = new int[576];\n this.bv_scf = $38dac00579cf6ffc$var$new_int(576);\n //public int pseudohalf[] = new int[L3Side.SFBMAX];\n this.pseudohalf = $38dac00579cf6ffc$var$new_int($arIi9.SFBMAX);\n /**\n * will be set in lame_init_params\n */ this.sfb21_extra = false;\n /* BPC = maximum number of filter convolution windows to precompute */ //public float[][] inbuf_old = new float[2][];\n this.inbuf_old = new Array(2);\n //public float[][] blackfilt = new float[2 * BPC + 1][];\n this.blackfilt = new Array(2 * $38dac00579cf6ffc$var$LameInternalFlags.BPC + 1);\n //public double itime[] = new double[2];\n this.itime = $38dac00579cf6ffc$var$new_double(2);\n this.sideinfo_len = 0;\n /* variables for newmdct.c */ //public float sb_sample[][][][] = new float[2][2][18][Encoder.SBLIMIT];\n this.sb_sample = $38dac00579cf6ffc$var$new_float_n([\n 2,\n 2,\n 18,\n $cPNKB.SBLIMIT\n ]);\n this.amp_filter = $38dac00579cf6ffc$var$new_float(32);\n /* variables for BitStream */ /**\n * <PRE>\n * mpeg1: buffer=511 bytes smallest frame: 96-38(sideinfo)=58\n * max number of frames in reservoir: 8\n * mpeg2: buffer=255 bytes. smallest frame: 24-23bytes=1\n * with VBR, if you are encoding all silence, it is possible to\n * have 8kbs/24khz frames with 1byte of data each, which means we need\n * to buffer up to 255 headers!\n * </PRE>\n */ /**\n * also, max_header_buf has to be a power of two\n */ /**\n * max size of header is 38\n */ function Header() {\n this.write_timing = 0;\n this.ptr = 0;\n //public byte buf[] = new byte[MAX_HEADER_LEN];\n this.buf = $38dac00579cf6ffc$var$new_byte(MAX_HEADER_LEN);\n }\n this.header = new Array($38dac00579cf6ffc$var$LameInternalFlags.MAX_HEADER_BUF);\n this.h_ptr = 0;\n this.w_ptr = 0;\n this.ancillary_flag = 0;\n /* variables for Reservoir */ /**\n * in bits\n */ this.ResvSize = 0;\n /**\n * in bits\n */ this.ResvMax = 0;\n //public ScaleFac scalefac_band = new ScaleFac();\n this.scalefac_band = new $7imnH();\n /* daa from PsyModel */ /* The static variables \"r\", \"phi_sav\", \"new\", \"old\" and \"oldest\" have */ /* to be remembered for the unpredictability measure. For \"r\" and */ /* \"phi_sav\", the first index from the left is the channel select and */ /* the second index is the \"age\" of the data. */ this.minval_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.minval_s = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.nb_1 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_2 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_s1 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.nb_s2 = $38dac00579cf6ffc$var$new_float_n([\n 4,\n $cPNKB.CBANDS\n ]);\n this.s3_ss = null;\n this.s3_ll = null;\n this.decay = 0.;\n //public III_psy_xmin[] thm = new III_psy_xmin[4];\n //public III_psy_xmin[] en = new III_psy_xmin[4];\n this.thm = new Array(4);\n this.en = new Array(4);\n /**\n * fft and energy calculation\n */ this.tot_ener = $38dac00579cf6ffc$var$new_float(4);\n /* loudness calculation (for adaptive threshold of hearing) */ /**\n * loudness^2 approx. per granule and channel\n */ this.loudness_sq = $38dac00579cf6ffc$var$new_float_n([\n 2,\n 2\n ]);\n /**\n * account for granule delay of L3psycho_anal\n */ this.loudness_sq_save = $38dac00579cf6ffc$var$new_float(2);\n /**\n * Scale Factor Bands\n */ this.mld_l = $38dac00579cf6ffc$var$new_float($cPNKB.SBMAX_l);\n this.mld_s = $38dac00579cf6ffc$var$new_float($cPNKB.SBMAX_s);\n this.bm_l = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_l);\n this.bo_l = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_l);\n this.bm_s = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_s);\n this.bo_s = $38dac00579cf6ffc$var$new_int($cPNKB.SBMAX_s);\n this.npart_l = 0;\n this.npart_s = 0;\n this.s3ind = $38dac00579cf6ffc$var$new_int_n([\n $cPNKB.CBANDS,\n 2\n ]);\n this.s3ind_s = $38dac00579cf6ffc$var$new_int_n([\n $cPNKB.CBANDS,\n 2\n ]);\n this.numlines_s = $38dac00579cf6ffc$var$new_int($cPNKB.CBANDS);\n this.numlines_l = $38dac00579cf6ffc$var$new_int($cPNKB.CBANDS);\n this.rnumlines_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.mld_cb_l = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.mld_cb_s = $38dac00579cf6ffc$var$new_float($cPNKB.CBANDS);\n this.numlines_s_num1 = 0;\n this.numlines_l_num1 = 0;\n /* ratios */ this.pe = $38dac00579cf6ffc$var$new_float(4);\n this.ms_ratio_s_old = 0.;\n this.ms_ratio_l_old = 0.;\n this.ms_ener_ratio_old = 0.;\n /**\n * block type\n */ this.blocktype_old = $38dac00579cf6ffc$var$new_int(2);\n /**\n * variables used for --nspsytune\n */ this.nsPsy = new $7yzUB();\n /**\n * used for Xing VBR header\n */ this.VBR_seek_table = new $jTmCQ();\n /**\n * all ATH related stuff\n */ //public ATH ATH;\n this.ATH = null;\n this.PSY = null;\n this.nogap_total = 0;\n this.nogap_current = 0;\n /* ReplayGain */ this.decode_on_the_fly = true;\n this.findReplayGain = true;\n this.findPeakSample = true;\n this.PeakSample = 0.;\n this.RadioGain = 0;\n this.AudiophileGain = 0;\n //public ReplayGain rgdata;\n this.rgdata = null;\n /**\n * gain change required for preventing clipping\n */ this.noclipGainChange = 0;\n /**\n * user-specified scale factor required for preventing clipping\n */ this.noclipScale = 0.;\n /* simple statistics */ this.bitrate_stereoMode_Hist = $38dac00579cf6ffc$var$new_int_n([\n 16,\n 5\n ]);\n /**\n * norm/start/short/stop/mixed(short)/sum\n */ this.bitrate_blockType_Hist = $38dac00579cf6ffc$var$new_int_n([\n 16,\n 6\n ]);\n //public PlottingData pinfo;\n //public MPGLib.mpstr_tag hip;\n this.pinfo = null;\n this.hip = null;\n this.in_buffer_nsamples = 0;\n //public float[] in_buffer_0;\n //public float[] in_buffer_1;\n this.in_buffer_0 = null;\n this.in_buffer_1 = null;\n //public IIterationLoop iteration_loop;\n this.iteration_loop = null;\n for(var i = 0; i < this.en.length; i++)this.en[i] = new $51XxS();\n for(var i = 0; i < this.thm.length; i++)this.thm[i] = new $51XxS();\n for(var i = 0; i < this.header.length; i++)this.header[i] = new Header();\n}\nmodule.exports = $38dac00579cf6ffc$var$LameInternalFlags;\n\n});\nparcelRequire.register(\"eWXBy\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $ae24b7bb56fee1da$var$System = $3YDN3.System;\nvar $ae24b7bb56fee1da$var$VbrMode = $3YDN3.VbrMode;\nvar $ae24b7bb56fee1da$var$Float = $3YDN3.Float;\nvar $ae24b7bb56fee1da$var$ShortBlock = $3YDN3.ShortBlock;\nvar $ae24b7bb56fee1da$var$Util = $3YDN3.Util;\nvar $ae24b7bb56fee1da$var$Arrays = $3YDN3.Arrays;\nvar $ae24b7bb56fee1da$var$new_array_n = $3YDN3.new_array_n;\nvar $ae24b7bb56fee1da$var$new_byte = $3YDN3.new_byte;\nvar $ae24b7bb56fee1da$var$new_double = $3YDN3.new_double;\nvar $ae24b7bb56fee1da$var$new_float = $3YDN3.new_float;\nvar $ae24b7bb56fee1da$var$new_float_n = $3YDN3.new_float_n;\nvar $ae24b7bb56fee1da$var$new_int = $3YDN3.new_int;\nvar $ae24b7bb56fee1da$var$new_int_n = $3YDN3.new_int_n;\nvar $ae24b7bb56fee1da$var$assert = $3YDN3.assert;\n\nvar $7weBo = parcelRequire(\"7weBo\");\nfunction $ae24b7bb56fee1da$var$IIISideInfo() {\n this.tt = [\n [\n null,\n null\n ],\n [\n null,\n null\n ]\n ];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [\n $ae24b7bb56fee1da$var$new_int(4),\n $ae24b7bb56fee1da$var$new_int(4)\n ];\n for(var gr = 0; gr < 2; gr++)for(var ch = 0; ch < 2; ch++)this.tt[gr][ch] = new $7weBo();\n}\nmodule.exports = $ae24b7bb56fee1da$var$IIISideInfo;\n\n});\nparcelRequire.register(\"7weBo\", function(module, exports) {\n//package mp3;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $5796d93ba9162632$var$System = $3YDN3.System;\nvar $5796d93ba9162632$var$VbrMode = $3YDN3.VbrMode;\nvar $5796d93ba9162632$var$Float = $3YDN3.Float;\nvar $5796d93ba9162632$var$ShortBlock = $3YDN3.ShortBlock;\nvar $5796d93ba9162632$var$Util = $3YDN3.Util;\nvar $5796d93ba9162632$var$Arrays = $3YDN3.Arrays;\nvar $5796d93ba9162632$var$new_array_n = $3YDN3.new_array_n;\nvar $5796d93ba9162632$var$new_byte = $3YDN3.new_byte;\nvar $5796d93ba9162632$var$new_double = $3YDN3.new_double;\nvar $5796d93ba9162632$var$new_float = $3YDN3.new_float;\nvar $5796d93ba9162632$var$new_float_n = $3YDN3.new_float_n;\nvar $5796d93ba9162632$var$new_int = $3YDN3.new_int;\nvar $5796d93ba9162632$var$new_int_n = $3YDN3.new_int_n;\nvar $5796d93ba9162632$var$assert = $3YDN3.assert;\n\nvar $arIi9 = parcelRequire(\"arIi9\");\nfunction $5796d93ba9162632$var$GrInfo() {\n //float xr[] = new float[576];\n this.xr = $5796d93ba9162632$var$new_float(576);\n //int l3_enc[] = new int[576];\n this.l3_enc = $5796d93ba9162632$var$new_int(576);\n //int scalefac[] = new int[L3Side.SFBMAX];\n this.scalefac = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.xrpow_max = 0.;\n this.part2_3_length = 0;\n this.big_values = 0;\n this.count1 = 0;\n this.global_gain = 0;\n this.scalefac_compress = 0;\n this.block_type = 0;\n this.mixed_block_flag = 0;\n this.table_select = $5796d93ba9162632$var$new_int(3);\n this.subblock_gain = $5796d93ba9162632$var$new_int(4);\n this.region0_count = 0;\n this.region1_count = 0;\n this.preflag = 0;\n this.scalefac_scale = 0;\n this.count1table_select = 0;\n this.part2_length = 0;\n this.sfb_lmax = 0;\n this.sfb_smin = 0;\n this.psy_lmax = 0;\n this.sfbmax = 0;\n this.psymax = 0;\n this.sfbdivide = 0;\n this.width = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.window = $5796d93ba9162632$var$new_int($arIi9.SFBMAX);\n this.count1bits = 0;\n /**\n * added for LSF\n */ this.sfb_partition_table = null;\n this.slen = $5796d93ba9162632$var$new_int(4);\n this.max_nonzero_coeff = 0;\n var self = this;\n function clone_int(array) {\n return new Int32Array(array);\n }\n function clone_float(array) {\n return new Float32Array(array);\n }\n this.assign = function(other) {\n self.xr = clone_float(other.xr); //.slice(0); //clone();\n self.l3_enc = clone_int(other.l3_enc); //.slice(0); //clone();\n self.scalefac = clone_int(other.scalefac); //.slice(0); //clone();\n self.xrpow_max = other.xrpow_max;\n self.part2_3_length = other.part2_3_length;\n self.big_values = other.big_values;\n self.count1 = other.count1;\n self.global_gain = other.global_gain;\n self.scalefac_compress = other.scalefac_compress;\n self.block_type = other.block_type;\n self.mixed_block_flag = other.mixed_block_flag;\n self.table_select = clone_int(other.table_select); //.slice(0); //clone();\n self.subblock_gain = clone_int(other.subblock_gain); //.slice(0); //.clone();\n self.region0_count = other.region0_count;\n self.region1_count = other.region1_count;\n self.preflag = other.preflag;\n self.scalefac_scale = other.scalefac_scale;\n self.count1table_select = other.count1table_select;\n self.part2_length = other.part2_length;\n self.sfb_lmax = other.sfb_lmax;\n self.sfb_smin = other.sfb_smin;\n self.psy_lmax = other.psy_lmax;\n self.sfbmax = other.sfbmax;\n self.psymax = other.psymax;\n self.sfbdivide = other.sfbdivide;\n self.width = clone_int(other.width); //.slice(0); //.clone();\n self.window = clone_int(other.window); //.slice(0); //.clone();\n self.count1bits = other.count1bits;\n self.sfb_partition_table = other.sfb_partition_table.slice(0); //.clone();\n self.slen = clone_int(other.slen); //.slice(0); //.clone();\n self.max_nonzero_coeff = other.max_nonzero_coeff;\n };\n}\nmodule.exports = $5796d93ba9162632$var$GrInfo;\n\n});\nparcelRequire.register(\"arIi9\", function(module, exports) {\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nvar $79aec86e829b6e82$var$L3Side = {};\n/**\n\t * max scalefactor band, max(SBMAX_l, SBMAX_s*3, (SBMAX_s-3)*3+8)\n\t */ $79aec86e829b6e82$var$L3Side.SFBMAX = $cPNKB.SBMAX_s * 3;\nmodule.exports = $79aec86e829b6e82$var$L3Side;\n\n});\n\n\n\nparcelRequire.register(\"7imnH\", function(module, exports) {\n//package mp3;\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $54fb93475471cb87$var$System = $3YDN3.System;\nvar $54fb93475471cb87$var$VbrMode = $3YDN3.VbrMode;\nvar $54fb93475471cb87$var$Float = $3YDN3.Float;\nvar $54fb93475471cb87$var$ShortBlock = $3YDN3.ShortBlock;\nvar $54fb93475471cb87$var$Util = $3YDN3.Util;\nvar $54fb93475471cb87$var$Arrays = $3YDN3.Arrays;\nvar $54fb93475471cb87$var$new_array_n = $3YDN3.new_array_n;\nvar $54fb93475471cb87$var$new_byte = $3YDN3.new_byte;\nvar $54fb93475471cb87$var$new_double = $3YDN3.new_double;\nvar $54fb93475471cb87$var$new_float = $3YDN3.new_float;\nvar $54fb93475471cb87$var$new_float_n = $3YDN3.new_float_n;\nvar $54fb93475471cb87$var$new_int = $3YDN3.new_int;\nvar $54fb93475471cb87$var$new_int_n = $3YDN3.new_int_n;\nvar $54fb93475471cb87$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\nfunction $54fb93475471cb87$var$ScaleFac(arrL, arrS, arr21, arr12) {\n this.l = $54fb93475471cb87$var$new_int(1 + $cPNKB.SBMAX_l);\n this.s = $54fb93475471cb87$var$new_int(1 + $cPNKB.SBMAX_s);\n this.psfb21 = $54fb93475471cb87$var$new_int(1 + $cPNKB.PSFB21);\n this.psfb12 = $54fb93475471cb87$var$new_int(1 + $cPNKB.PSFB12);\n var l = this.l;\n var s = this.s;\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n $54fb93475471cb87$var$System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n $54fb93475471cb87$var$System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n $54fb93475471cb87$var$System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n $54fb93475471cb87$var$System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\nmodule.exports = $54fb93475471cb87$var$ScaleFac;\n\n});\n\nparcelRequire.register(\"7yzUB\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $580790bdd94a8b57$var$System = $3YDN3.System;\nvar $580790bdd94a8b57$var$VbrMode = $3YDN3.VbrMode;\nvar $580790bdd94a8b57$var$Float = $3YDN3.Float;\nvar $580790bdd94a8b57$var$ShortBlock = $3YDN3.ShortBlock;\nvar $580790bdd94a8b57$var$Util = $3YDN3.Util;\nvar $580790bdd94a8b57$var$Arrays = $3YDN3.Arrays;\nvar $580790bdd94a8b57$var$new_array_n = $3YDN3.new_array_n;\nvar $580790bdd94a8b57$var$new_byte = $3YDN3.new_byte;\nvar $580790bdd94a8b57$var$new_double = $3YDN3.new_double;\nvar $580790bdd94a8b57$var$new_float = $3YDN3.new_float;\nvar $580790bdd94a8b57$var$new_float_n = $3YDN3.new_float_n;\nvar $580790bdd94a8b57$var$new_int = $3YDN3.new_int;\nvar $580790bdd94a8b57$var$new_int_n = $3YDN3.new_int_n;\nvar $580790bdd94a8b57$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n//package mp3;\n/**\n * Variables used for --nspsytune\n *\n * @author Ken\n *\n */ function $580790bdd94a8b57$var$NsPsy() {\n this.last_en_subshort = $580790bdd94a8b57$var$new_float_n([\n 4,\n 9\n ]);\n this.lastAttacks = $580790bdd94a8b57$var$new_int(4);\n this.pefirbuf = $580790bdd94a8b57$var$new_float(19);\n this.longfact = $580790bdd94a8b57$var$new_float($cPNKB.SBMAX_l);\n this.shortfact = $580790bdd94a8b57$var$new_float($cPNKB.SBMAX_s);\n /**\n * short block tuning\n */ this.attackthre = 0.;\n this.attackthre_s = 0.;\n}\nmodule.exports = $580790bdd94a8b57$var$NsPsy;\n\n});\n\nparcelRequire.register(\"jTmCQ\", function(module, exports) {\n//package mp3;\nfunction $e7b4b455db8db26b$var$VBRSeekInfo() {\n /**\n * What we have seen so far.\n */ this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */ this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */ this.want = 0;\n /**\n * Actual position in our bag.\n */ this.pos = 0;\n /**\n * Size of our bag.\n */ this.size = 0;\n /**\n * Pointer to our bag.\n */ this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */ this.TotalFrameSize = 0;\n}\nmodule.exports = $e7b4b455db8db26b$var$VBRSeekInfo;\n\n});\n\n\nparcelRequire.register(\"cU3Yf\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $964dcb8066029e00$var$System = $3YDN3.System;\nvar $964dcb8066029e00$var$VbrMode = $3YDN3.VbrMode;\nvar $964dcb8066029e00$var$Float = $3YDN3.Float;\nvar $964dcb8066029e00$var$ShortBlock = $3YDN3.ShortBlock;\nvar $964dcb8066029e00$var$Util = $3YDN3.Util;\nvar $964dcb8066029e00$var$Arrays = $3YDN3.Arrays;\nvar $964dcb8066029e00$var$new_array_n = $3YDN3.new_array_n;\nvar $964dcb8066029e00$var$new_byte = $3YDN3.new_byte;\nvar $964dcb8066029e00$var$new_double = $3YDN3.new_double;\nvar $964dcb8066029e00$var$new_float = $3YDN3.new_float;\nvar $964dcb8066029e00$var$new_float_n = $3YDN3.new_float_n;\nvar $964dcb8066029e00$var$new_int = $3YDN3.new_int;\nvar $964dcb8066029e00$var$new_int_n = $3YDN3.new_int_n;\nvar $964dcb8066029e00$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n/**\n * ATH related stuff, if something new ATH related has to be added, please plug\n * it here into the ATH.\n */ function $964dcb8066029e00$var$ATH() {\n /**\n * Method for the auto adjustment.\n */ this.useAdjust = 0;\n /**\n * factor for tuning the (sample power) point below which adaptive threshold\n * of hearing adjustment occurs\n */ this.aaSensitivityP = 0.;\n /**\n * Lowering based on peak volume, 1 = no lowering.\n */ this.adjust = 0.;\n /**\n * Limit for dynamic ATH adjust.\n */ this.adjustLimit = 0.;\n /**\n * Determined to lower x dB each second.\n */ this.decay = 0.;\n /**\n * Lowest ATH value.\n */ this.floor = 0.;\n /**\n * ATH for sfbs in long blocks.\n */ this.l = $964dcb8066029e00$var$new_float($cPNKB.SBMAX_l);\n /**\n * ATH for sfbs in short blocks.\n */ this.s = $964dcb8066029e00$var$new_float($cPNKB.SBMAX_s);\n /**\n * ATH for partitioned sfb21 in long blocks.\n */ this.psfb21 = $964dcb8066029e00$var$new_float($cPNKB.PSFB21);\n /**\n * ATH for partitioned sfb12 in short blocks.\n */ this.psfb12 = $964dcb8066029e00$var$new_float($cPNKB.PSFB12);\n /**\n * ATH for long block convolution bands.\n */ this.cb_l = $964dcb8066029e00$var$new_float($cPNKB.CBANDS);\n /**\n * ATH for short block convolution bands.\n */ this.cb_s = $964dcb8066029e00$var$new_float($cPNKB.CBANDS);\n /**\n * Equal loudness weights (based on ATH).\n */ this.eql_w = $964dcb8066029e00$var$new_float($cPNKB.BLKSIZE / 2);\n}\nmodule.exports = $964dcb8066029e00$var$ATH;\n\n});\n\nparcelRequire.register(\"2qGTD\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $1c4f48cc96a3a753$var$System = $3YDN3.System;\nvar $1c4f48cc96a3a753$var$VbrMode = $3YDN3.VbrMode;\nvar $1c4f48cc96a3a753$var$Float = $3YDN3.Float;\nvar $1c4f48cc96a3a753$var$ShortBlock = $3YDN3.ShortBlock;\nvar $1c4f48cc96a3a753$var$Util = $3YDN3.Util;\nvar $1c4f48cc96a3a753$var$Arrays = $3YDN3.Arrays;\nvar $1c4f48cc96a3a753$var$new_array_n = $3YDN3.new_array_n;\nvar $1c4f48cc96a3a753$var$new_byte = $3YDN3.new_byte;\nvar $1c4f48cc96a3a753$var$new_double = $3YDN3.new_double;\nvar $1c4f48cc96a3a753$var$new_float = $3YDN3.new_float;\nvar $1c4f48cc96a3a753$var$new_float_n = $3YDN3.new_float_n;\nvar $1c4f48cc96a3a753$var$new_int = $3YDN3.new_int;\nvar $1c4f48cc96a3a753$var$new_int_n = $3YDN3.new_int_n;\nvar $1c4f48cc96a3a753$var$assert = $3YDN3.assert;\n\nvar $b8dhq = parcelRequire(\"b8dhq\");\nfunction $1c4f48cc96a3a753$var$ReplayGain() {\n this.linprebuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */ this.linpre = 0;\n this.lstepbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */ this.lstep = 0;\n this.loutbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */ this.lout = 0;\n this.rinprebuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_ORDER * 2);\n /**\n * right input samples ...\n */ this.rinpre = 0;\n this.rstepbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = $1c4f48cc96a3a753$var$new_float($b8dhq.MAX_SAMPLES_PER_WINDOW + $b8dhq.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */ this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = $1c4f48cc96a3a753$var$new_int(0 | $b8dhq.STEPS_per_dB * $b8dhq.MAX_dB);\n this.B = $1c4f48cc96a3a753$var$new_int(0 | $b8dhq.STEPS_per_dB * $b8dhq.MAX_dB);\n}\nmodule.exports = $1c4f48cc96a3a753$var$ReplayGain;\n\n});\nparcelRequire.register(\"b8dhq\", function(module, exports) {\n/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */ /*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */ /*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to <filter order> number of previous samples\n * AND up to <filter order> number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $81aabe360221f821$var$System = $3YDN3.System;\nvar $81aabe360221f821$var$VbrMode = $3YDN3.VbrMode;\nvar $81aabe360221f821$var$Float = $3YDN3.Float;\nvar $81aabe360221f821$var$ShortBlock = $3YDN3.ShortBlock;\nvar $81aabe360221f821$var$Util = $3YDN3.Util;\nvar $81aabe360221f821$var$Arrays = $3YDN3.Arrays;\nvar $81aabe360221f821$var$new_array_n = $3YDN3.new_array_n;\nvar $81aabe360221f821$var$new_byte = $3YDN3.new_byte;\nvar $81aabe360221f821$var$new_double = $3YDN3.new_double;\nvar $81aabe360221f821$var$new_float = $3YDN3.new_float;\nvar $81aabe360221f821$var$new_float_n = $3YDN3.new_float_n;\nvar $81aabe360221f821$var$new_int = $3YDN3.new_int;\nvar $81aabe360221f821$var$new_int_n = $3YDN3.new_int_n;\nvar $81aabe360221f821$var$assert = $3YDN3.assert;\n/**\n * Table entries per dB\n */ $81aabe360221f821$var$GainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */ $81aabe360221f821$var$GainAnalysis.MAX_dB = 120.;\n$81aabe360221f821$var$GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\n$81aabe360221f821$var$GainAnalysis.GAIN_ANALYSIS_ERROR = 0;\n$81aabe360221f821$var$GainAnalysis.GAIN_ANALYSIS_OK = 1;\n$81aabe360221f821$var$GainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\n$81aabe360221f821$var$GainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n$81aabe360221f821$var$GainAnalysis.YULE_ORDER = 10;\n$81aabe360221f821$var$GainAnalysis.MAX_ORDER = $81aabe360221f821$var$GainAnalysis.YULE_ORDER;\n$81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ = 48000;\n$81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\n$81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\n$81aabe360221f821$var$GainAnalysis.MAX_SAMPLES_PER_WINDOW = $81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ * $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR / $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1;\nfunction $81aabe360221f821$var$GainAnalysis() {\n /**\n * calibration value for 89dB\n */ var PINK_REF = 64.82;\n var YULE_ORDER = $81aabe360221f821$var$GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */ var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */ var MAX_SAMP_FREQ = $81aabe360221f821$var$GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */ var RMS_WINDOW_TIME_DENOMINATOR = $81aabe360221f821$var$GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */ var MAX_SAMPLES_PER_WINDOW = $81aabe360221f821$var$GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n var ABYule = [\n [\n 0.03857599435200,\n -3.84664617118067,\n -0.02160367184185,\n 7.81501653005538,\n -0.00123395316851,\n -11.34170355132042,\n -0.00009291677959,\n 13.05504219327545,\n -0.01655260341619,\n -12.28759895145294,\n 0.02161526843274,\n 9.48293806319790,\n -0.02074045215285,\n -5.87257861775999,\n 0.00594298065125,\n 2.75465861874613,\n 0.00306428023191,\n -0.86984376593551,\n 0.00012025322027,\n 0.13919314567432,\n 0.00288463683916\n ],\n [\n 0.05418656406430,\n -3.47845948550071,\n -0.02911007808948,\n 6.36317777566148,\n -0.00848709379851,\n -8.54751527471874,\n -0.00851165645469,\n 9.47693607801280,\n -0.00834990904936,\n -8.81498681370155,\n 0.02245293253339,\n 6.85401540936998,\n -0.02596338512915,\n -4.39470996079559,\n 0.01624864962975,\n 2.19611684890774,\n -0.00240879051584,\n -0.75104302451432,\n 0.00674613682247,\n 0.13149317958808,\n -0.00187763777362\n ],\n [\n 0.15457299681924,\n -2.37898834973084,\n -0.09331049056315,\n 2.84868151156327,\n -0.06247880153653,\n -2.64577170229825,\n 0.02163541888798,\n 2.23697657451713,\n -0.05588393329856,\n -1.67148153367602,\n 0.04781476674921,\n 1.00595954808547,\n 0.00222312597743,\n -0.45953458054983,\n 0.03174092540049,\n 0.16378164858596,\n -0.01390589421898,\n -0.05032077717131,\n 0.00651420667831,\n 0.02347897407020,\n -0.00881362733839\n ],\n [\n 0.30296907319327,\n -1.61273165137247,\n -0.22613988682123,\n 1.07977492259970,\n -0.08587323730772,\n -0.2565625775407,\n 0.03282930172664,\n -0.1627671912044,\n -0.00915702933434,\n -0.22638893773906,\n -0.02364141202522,\n 0.39120800788284,\n -0.00584456039913,\n -0.22138138954925,\n 0.06276101321749,\n 0.04500235387352,\n -0.00000828086748,\n 0.02005851806501,\n 0.00205861885564,\n 0.00302439095741,\n -0.02950134983287\n ],\n [\n 0.33642304856132,\n -1.49858979367799,\n -0.2557224142557,\n 0.87350271418188,\n -0.11828570177555,\n 0.12205022308084,\n 0.11921148675203,\n -0.80774944671438,\n -0.07834489609479,\n 0.47854794562326,\n -0.0046997791438,\n -0.12453458140019,\n -0.0058950022444,\n -0.04067510197014,\n 0.05724228140351,\n 0.08333755284107,\n 0.00832043980773,\n -0.04237348025746,\n -0.0163538138454,\n 0.02977207319925,\n -0.0176017656815\n ],\n [\n 0.44915256608450,\n -0.62820619233671,\n -0.14351757464547,\n 0.29661783706366,\n -0.22784394429749,\n -0.372563729424,\n -0.01419140100551,\n 0.00213767857124,\n 0.04078262797139,\n -0.42029820170918,\n -0.12398163381748,\n 0.22199650564824,\n 0.04097565135648,\n 0.00613424350682,\n 0.10478503600251,\n 0.06747620744683,\n -0.01863887810927,\n 0.05784820375801,\n -0.03193428438915,\n 0.03222754072173,\n 0.00541907748707\n ],\n [\n 0.56619470757641,\n -1.04800335126349,\n -0.75464456939302,\n 0.29156311971249,\n 0.16242137742230,\n -0.26806001042947,\n 0.16744243493672,\n 0.00819999645858,\n -0.18901604199609,\n 0.45054734505008,\n 0.30931782841830,\n -0.33032403314006,\n -0.27562961986224,\n 0.06739368333110,\n 0.00647310677246,\n -0.04784254229033,\n 0.08647503780351,\n 0.01639907836189,\n -0.0378898455484,\n 0.01807364323573,\n -0.00588215443421\n ],\n [\n 0.58100494960553,\n -0.51035327095184,\n -0.53174909058578,\n -0.31863563325245,\n -0.14289799034253,\n -0.20256413484477,\n 0.17520704835522,\n 0.14728154134330,\n 0.02377945217615,\n 0.38952639978999,\n 0.15558449135573,\n -0.23313271880868,\n -0.25344790059353,\n -0.05246019024463,\n 0.01628462406333,\n -0.02505961724053,\n 0.06920467763959,\n 0.02442357316099,\n -0.03721611395801,\n 0.01818801111503,\n -0.00749618797172\n ],\n [\n 0.53648789255105,\n -0.2504987195602,\n -0.42163034350696,\n -0.43193942311114,\n -0.00275953611929,\n -0.03424681017675,\n 0.04267842219415,\n -0.04678328784242,\n -0.10214864179676,\n 0.26408300200955,\n 0.14590772289388,\n 0.15113130533216,\n -0.02459864859345,\n -0.17556493366449,\n -0.11202315195388,\n -0.18823009262115,\n -0.04060034127,\n 0.05477720428674,\n 0.04788665548180,\n 0.04704409688120,\n -0.02217936801134\n ]\n ];\n var ABButter = [\n [\n 0.98621192462708,\n -1.97223372919527,\n -1.97242384925416,\n 0.97261396931306,\n 0.98621192462708\n ],\n [\n 0.98500175787242,\n -1.96977855582618,\n -1.97000351574484,\n 0.97022847566350,\n 0.98500175787242\n ],\n [\n 0.97938932735214,\n -1.95835380975398,\n -1.95877865470428,\n 0.95920349965459,\n 0.97938932735214\n ],\n [\n 0.97531843204928,\n -1.95002759149878,\n -1.95063686409857,\n 0.95124613669835,\n 0.97531843204928\n ],\n [\n 0.97316523498161,\n -1.94561023566527,\n -1.94633046996323,\n 0.94705070426118,\n 0.97316523498161\n ],\n [\n 0.96454515552826,\n -1.92783286977036,\n -1.92909031105652,\n 0.93034775234268,\n 0.96454515552826\n ],\n [\n 0.96009142950541,\n -1.91858953033784,\n -1.92018285901082,\n 0.92177618768381,\n 0.96009142950541\n ],\n [\n 0.95856916599601,\n -1.9154210807478,\n -1.91713833199203,\n 0.91885558323625,\n 0.95856916599601\n ],\n [\n 0.94597685600279,\n -1.88903307939452,\n -1.89195371200558,\n 0.89487434461664,\n 0.94597685600279\n ]\n ];\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */ //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n while(nSamples-- != 0){\n /* 1e-10 is a hack to avoid slowdown because of denormals */ output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0] - output[outputPos - 1] * kernel[1] + input[inputPos - 1] * kernel[2] - output[outputPos - 2] * kernel[3] + input[inputPos - 2] * kernel[4] - output[outputPos - 3] * kernel[5] + input[inputPos - 3] * kernel[6] - output[outputPos - 4] * kernel[7] + input[inputPos - 4] * kernel[8] - output[outputPos - 5] * kernel[9] + input[inputPos - 5] * kernel[10] - output[outputPos - 6] * kernel[11] + input[inputPos - 6] * kernel[12] - output[outputPos - 7] * kernel[13] + input[inputPos - 7] * kernel[14] - output[outputPos - 8] * kernel[15] + input[inputPos - 8] * kernel[16] - output[outputPos - 9] * kernel[17] + input[inputPos - 9] * kernel[18] - output[outputPos - 10] * kernel[19] + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n //private void filterButter(final float[] input, int inputPos,\n // float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n while(nSamples-- != 0){\n output[outputPos] = input[inputPos + 0] * kernel[0] - output[outputPos - 1] * kernel[1] + input[inputPos - 1] * kernel[2] - output[outputPos - 2] * kernel[3] + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */ function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */ for(var i = 0; i < MAX_ORDER; i++)rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n switch(0 | samplefreq){\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n rgData.sampleWindow = 0 | (samplefreq * RMS_WINDOW_TIME_NUMERATOR + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR;\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n $81aabe360221f821$var$Arrays.ill(rgData.A, 0);\n return INIT_GAIN_ANALYSIS_OK;\n }\n this.InitGainAnalysis = function(rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) return INIT_GAIN_ANALYSIS_ERROR;\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n $81aabe360221f821$var$Arrays.fill(rgData.B, 0);\n return INIT_GAIN_ANALYSIS_OK;\n };\n /**\n * square\n */ function fsqr(d) {\n return d * d;\n }\n this.AnalyzeSamples = function(rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples, num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n if (num_samples == 0) return GAIN_ANALYSIS_OK;\n cursamplepos = 0;\n batchsamples = num_samples;\n switch(num_channels){\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n if (num_samples < MAX_ORDER) {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER, num_samples);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER, num_samples);\n } else {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER, MAX_ORDER);\n }\n while(batchsamples > 0){\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow - rgData.totsamp : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos) cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp, rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples, ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp, rgData.routbuf, rgData.rout + rgData.totsamp, cursamples, ABButter[rgData.reqindex]);\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */ curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n var i = cursamples % 8;\n while(i-- != 0){\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while(i-- != 0){\n rgData.lsum += fsqr(curleftBase[curleft + 0]) + fsqr(curleftBase[curleft + 1]) + fsqr(curleftBase[curleft + 2]) + fsqr(curleftBase[curleft + 3]) + fsqr(curleftBase[curleft + 4]) + fsqr(curleftBase[curleft + 5]) + fsqr(curleftBase[curleft + 6]) + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0]) + fsqr(currightBase[curright + 1]) + fsqr(currightBase[curright + 2]) + fsqr(currightBase[curright + 3]) + fsqr(currightBase[curright + 4]) + fsqr(currightBase[curright + 5]) + fsqr(currightBase[curright + 6]) + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */ var val = $81aabe360221f821$var$GainAnalysis.STEPS_per_dB * 10. * Math.log10((rgData.lsum + rgData.rsum) / rgData.totsamp * 0.5 + 1.e-37);\n var ival = val <= 0 ? 0 : 0 | val;\n if (ival >= rgData.A.length) ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n $81aabe360221f821$var$System.arraycopy(rgData.loutbuf, rgData.totsamp, rgData.loutbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.routbuf, rgData.totsamp, rgData.routbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.lstepbuf, rgData.totsamp, rgData.lstepbuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(rgData.rstepbuf, rgData.totsamp, rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */ return GAIN_ANALYSIS_ERROR;\n }\n if (num_samples < MAX_ORDER) {\n $81aabe360221f821$var$System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf, 0, MAX_ORDER - num_samples);\n $81aabe360221f821$var$System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf, 0, MAX_ORDER - num_samples);\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf, MAX_ORDER - num_samples, num_samples);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf, MAX_ORDER - num_samples, num_samples);\n } else {\n $81aabe360221f821$var$System.arraycopy(left_samples, left_samplesPos + num_samples - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n $81aabe360221f821$var$System.arraycopy(right_samples, right_samplesPos + num_samples - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n return GAIN_ANALYSIS_OK;\n };\n function analyzeResult(Array, len) {\n var i;\n var elems = 0;\n for(i = 0; i < len; i++)elems += Array[i];\n if (elems == 0) return GAIN_NOT_ENOUGH_SAMPLES;\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for(i = len; i-- > 0;){\n if ((upper -= Array[i]) <= 0) break;\n }\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return PINK_REF - i / $81aabe360221f821$var$GainAnalysis.STEPS_per_dB;\n }\n this.GetTitleGain = function(rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n for(var i = 0; i < rgData.A.length; i++){\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n for(var i = 0; i < MAX_ORDER; i++)rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n };\n}\nmodule.exports = $81aabe360221f821$var$GainAnalysis;\n\n});\n\n\nparcelRequire.register(\"e32wu\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $a3a34d831b8c1682$var$System = $3YDN3.System;\nvar $a3a34d831b8c1682$var$VbrMode = $3YDN3.VbrMode;\nvar $a3a34d831b8c1682$var$Float = $3YDN3.Float;\nvar $a3a34d831b8c1682$var$ShortBlock = $3YDN3.ShortBlock;\nvar $a3a34d831b8c1682$var$Util = $3YDN3.Util;\nvar $a3a34d831b8c1682$var$Arrays = $3YDN3.Arrays;\nvar $a3a34d831b8c1682$var$new_array_n = $3YDN3.new_array_n;\nvar $a3a34d831b8c1682$var$new_byte = $3YDN3.new_byte;\nvar $a3a34d831b8c1682$var$new_double = $3YDN3.new_double;\nvar $a3a34d831b8c1682$var$new_float = $3YDN3.new_float;\nvar $a3a34d831b8c1682$var$new_float_n = $3YDN3.new_float_n;\nvar $a3a34d831b8c1682$var$new_int = $3YDN3.new_int;\nvar $a3a34d831b8c1682$var$new_int_n = $3YDN3.new_int_n;\nvar $a3a34d831b8c1682$var$assert = $3YDN3.assert;\n\nvar $lL4Le = parcelRequire(\"lL4Le\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\nfunction $a3a34d831b8c1682$var$CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n this.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n var gfc = gfp.internal_flags;\n var l3_xmin = $a3a34d831b8c1682$var$new_float($arIi9.SFBMAX);\n var xrpow = $a3a34d831b8c1682$var$new_float(576);\n var targ_bits = $a3a34d831b8c1682$var$new_int(2);\n var mean_bits = 0, max_bits;\n var l3_side = gfc.l3_side;\n var mb = new $lL4Le(mean_bits);\n this.quantize.rv.ResvFrameBegin(gfp, mb);\n mean_bits = mb.bits;\n /* quantize! */ for(var gr = 0; gr < gfc.mode_gr; gr++){\n /*\n\t\t\t * calculate needed bits\n\t\t\t */ max_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits, gr, gr);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) {\n this.quantize.ms_convert(gfc.l3_side, gr);\n this.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr], mean_bits, max_bits);\n }\n for(var ch = 0; ch < gfc.channels_out; ch++){\n var adjust, masking_lower_db;\n var cod_info = l3_side.tt[gr][ch];\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type\n adjust = 0;\n masking_lower_db = gfc.PSY.mask_adjust - adjust;\n } else {\n adjust = 0;\n masking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n }\n gfc.masking_lower = Math.pow(10.0, masking_lower_db * 0.1);\n /*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */ this.quantize.init_outer_loop(gfc, cod_info);\n if (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n /*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */ this.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin);\n this.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch, targ_bits[ch]);\n }\n this.quantize.iteration_finish_one(gfc, gr, ch);\n $a3a34d831b8c1682$var$assert(cod_info.part2_3_length <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $a3a34d831b8c1682$var$assert(cod_info.part2_3_length <= targ_bits[ch]);\n } /* for ch */ \n } /* for gr */ \n this.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n };\n}\nmodule.exports = $a3a34d831b8c1682$var$CBRNewIterationLoop;\n\n});\nparcelRequire.register(\"lL4Le\", function(module, exports) {\nfunction $fd71ae23813c0974$var$MeanBits(meanBits) {\n this.bits = meanBits;\n}\nmodule.exports = $fd71ae23813c0974$var$MeanBits;\n\n});\n\n\nparcelRequire.register(\"ctaQC\", function(module, exports) {\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $91409b9649b00300$var$System = $3YDN3.System;\nvar $91409b9649b00300$var$VbrMode = $3YDN3.VbrMode;\nvar $91409b9649b00300$var$Float = $3YDN3.Float;\nvar $91409b9649b00300$var$ShortBlock = $3YDN3.ShortBlock;\nvar $91409b9649b00300$var$Util = $3YDN3.Util;\nvar $91409b9649b00300$var$Arrays = $3YDN3.Arrays;\nvar $91409b9649b00300$var$new_array_n = $3YDN3.new_array_n;\nvar $91409b9649b00300$var$new_byte = $3YDN3.new_byte;\nvar $91409b9649b00300$var$new_double = $3YDN3.new_double;\nvar $91409b9649b00300$var$new_float = $3YDN3.new_float;\nvar $91409b9649b00300$var$new_float_n = $3YDN3.new_float_n;\nvar $91409b9649b00300$var$new_int = $3YDN3.new_int;\nvar $91409b9649b00300$var$new_int_n = $3YDN3.new_int_n;\nvar $91409b9649b00300$var$assert = $3YDN3.assert;\n\nvar $65Sx2 = parcelRequire(\"65Sx2\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n$91409b9649b00300$var$BitStream.EQ = function(a, b) {\n return Math.abs(a) > Math.abs(b) ? Math.abs(a - b) <= Math.abs(a) * 1e-6 : Math.abs(a - b) <= Math.abs(b) * 1e-6;\n};\n$91409b9649b00300$var$BitStream.NEQ = function(a, b) {\n return !$91409b9649b00300$var$BitStream.EQ(a, b);\n};\n\nfunction $91409b9649b00300$var$BitStream() {\n var Lame = (parcelRequire(\"kk1yk\"));\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */ var MAX_LENGTH = 32;\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n this.setModules = function(_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n /**\n * Bit stream buffer.\n */ //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */ var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */ var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */ var bufBitIdx = 0;\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */ this.getframebits = function(gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n /* get bitrate in kbps [?] */ if (gfc.bitrate_index != 0) bit_rate = $dQDcS.bitrate_table[gfp.version][gfc.bitrate_index];\n else bit_rate = gfp.brate;\n $91409b9649b00300$var$assert(8 <= bit_rate && bit_rate <= 640);\n /* main encoding routine toggles padding on and off */ /* one Layer3 Slot consists of 8 bits */ var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n function putheader_bits(gfc) {\n $91409b9649b00300$var$System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = gfc.w_ptr + 1 & $4SDnr.MAX_HEADER_BUF - 1;\n }\n /**\n * write j bits into the bit stream\n */ function putbits2(gfc, val, j) {\n $91409b9649b00300$var$assert(j < MAX_LENGTH - 2);\n while(j > 0){\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n $91409b9649b00300$var$assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n $91409b9649b00300$var$assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) putheader_bits(gfc);\n buf[bufByteIdx] = 0;\n }\n k = Math.min(j, bufBitIdx);\n j -= k;\n bufBitIdx -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */ $91409b9649b00300$var$assert(bufBitIdx < MAX_LENGTH);\n buf[bufByteIdx] |= val >> j << bufBitIdx;\n totbit += k;\n }\n }\n /**\n * write j bits into the bit stream, ignoring frame headers\n */ function putbits_noheaders(gfc, val, j) {\n $91409b9649b00300$var$assert(j < MAX_LENGTH - 2);\n while(j > 0){\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n $91409b9649b00300$var$assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n k = Math.min(j, bufBitIdx);\n j -= k;\n bufBitIdx -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */ $91409b9649b00300$var$assert(bufBitIdx < MAX_LENGTH);\n buf[bufByteIdx] |= val >> j << bufBitIdx;\n totbit += k;\n }\n }\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */ function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n $91409b9649b00300$var$assert(remainingBits >= 0);\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32) for(i = 0; i < version.length && remainingBits >= 8; ++i){\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n for(; remainingBits >= 1; remainingBits -= 1){\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= !gfp.disable_reservoir ? 1 : 0;\n }\n $91409b9649b00300$var$assert(remainingBits == 0);\n }\n /**\n * write N bits into the header\n */ function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n while(j > 0){\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n $91409b9649b00300$var$assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */ gfc.header[gfc.h_ptr].buf[ptr >> 3] |= val >> j << 8 - (ptr & 7) - k;\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n function CRC_update(value, crc) {\n value <<= 8;\n for(var i = 0; i < 8; i++){\n value <<= 1;\n crc <<= 1;\n if (((crc ^ value) & 0x10000) != 0) crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n this.CRC_writeheader = function(gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */ crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for(var i = 6; i < gfc.sideinfo_len; i++)crc = CRC_update(header[i] & 0xff, crc);\n header[4] = byte(crc >> 8);\n header[5] = byte(crc & 255);\n };\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n $91409b9649b00300$var$Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000) writeheader(gfc, 0xffe, 12);\n else writeheader(gfc, 0xfff, 12);\n writeheader(gfc, gfp.version, 1);\n writeheader(gfc, 1, 2);\n writeheader(gfc, !gfp.error_protection ? 1 : 0, 1);\n writeheader(gfc, gfc.bitrate_index, 4);\n writeheader(gfc, gfc.samplerate_index, 2);\n writeheader(gfc, gfc.padding, 1);\n writeheader(gfc, gfp.extension, 1);\n writeheader(gfc, gfp.mode.ordinal(), 2);\n writeheader(gfc, gfc.mode_ext, 2);\n writeheader(gfc, gfp.copyright, 1);\n writeheader(gfc, gfp.original, 1);\n writeheader(gfc, gfp.emphasis, 2);\n if (gfp.error_protection) writeheader(gfc, 0, 16);\n if (gfp.version == 1) {\n /* MPEG1 */ $91409b9649b00300$var$assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, l3_side.main_data_begin, 9);\n if (gfc.channels_out == 2) writeheader(gfc, l3_side.private_bits, 3);\n else writeheader(gfc, l3_side.private_bits, 5);\n for(ch = 0; ch < gfc.channels_out; ch++){\n var band;\n for(band = 0; band < 4; band++)writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n for(gr = 0; gr < 2; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n if (gi.block_type != $cPNKB.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */ writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */ if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14) gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n $91409b9649b00300$var$assert(0 <= gi.region0_count && gi.region0_count < 16);\n $91409b9649b00300$var$assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n } else {\n /* MPEG2 */ $91409b9649b00300$var$assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, l3_side.main_data_begin, 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n gr = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n if (gi.block_type != $cPNKB.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */ writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */ if (gi.table_select[0] == 14) gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14) gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14) gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n $91409b9649b00300$var$assert(0 <= gi.region0_count && gi.region0_count < 16);\n $91409b9649b00300$var$assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n if (gfp.error_protection) /* (jo) error_protection: add crc16 information to header */ CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n var old = gfc.h_ptr;\n $91409b9649b00300$var$assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n gfc.h_ptr = old + 1 & $4SDnr.MAX_HEADER_BUF - 1;\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing + bitsPerFrame;\n if (gfc.h_ptr == gfc.w_ptr) /* yikes! we are out of header buffer space */ $91409b9649b00300$var$System.err.println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */ var h = $dQDcS.ht[gi.count1table_select + 32];\n var i, bits = 0;\n var ix = gi.big_values;\n var xr = gi.big_values;\n $91409b9649b00300$var$assert(gi.count1table_select < 2);\n for(i = (gi.count1 - gi.big_values) / 4; i > 0; --i){\n var huffbits = 0;\n var p = 0, v;\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0) huffbits++;\n $91409b9649b00300$var$assert(v <= 1);\n }\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n /**\n * Implements the pseudocode of page 98 of the IS\n */ function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = $dQDcS.ht[tableindex];\n var bits = 0;\n $91409b9649b00300$var$assert(tableindex < 32);\n if (0 == tableindex) return bits;\n for(var i = start; i < end; i += 2){\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n if (x1 != 0) {\n if (gi.xr[i] < 0) ext++;\n cbits--;\n }\n if (tableindex > 15) {\n /* use ESC-words */ if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n $91409b9649b00300$var$assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n $91409b9649b00300$var$assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0) ext++;\n cbits--;\n }\n $91409b9649b00300$var$assert((x1 | x2) < 16);\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n $91409b9649b00300$var$assert(cbits <= MAX_LENGTH);\n $91409b9649b00300$var$assert(xbits <= MAX_LENGTH);\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */ function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values) region1Start = gi.big_values;\n /* short blocks do not have a region2 */ var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start, gi.big_values, gi);\n return bits;\n }\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n bigvalues = gi.big_values;\n $91409b9649b00300$var$assert(0 <= bigvalues && bigvalues <= 576);\n var i = gi.region0_count + 1;\n $91409b9649b00300$var$assert(0 <= i);\n $91409b9649b00300$var$assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n $91409b9649b00300$var$assert(0 <= i);\n $91409b9649b00300$var$assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n if (region1Start > bigvalues) region1Start = bigvalues;\n if (region2Start > bigvalues) region2Start = bigvalues;\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start, region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues, gi);\n return bits;\n }\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n if (gfp.version == 1) {\n /* MPEG 1 */ for(gr = 0; gr < 2; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n var slen1 = $65Sx2.slen1_tab[gi.scalefac_compress];\n var slen2 = $65Sx2.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for(sfb = 0; sfb < gi.sfbdivide; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n /* scfsi is used */ putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for(; sfb < gi.sfbmax; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n /* scfsi is used */ putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n $91409b9649b00300$var$assert(data_bits == gi.part2_length);\n if (gi.block_type == $cPNKB.SHORT_TYPE) data_bits += ShortHuffmancodebits(gfc, gi);\n else data_bits += LongHuffmancodebits(gfc, gi);\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */ $91409b9649b00300$var$assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for gr */ } else {\n /* MPEG 2 */ gr = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n $91409b9649b00300$var$assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n if (gi.block_type == $cPNKB.SHORT_TYPE) {\n for(; sfb_partition < 4; sfb_partition++){\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for(i = 0; i < sfbs; i++, sfb++){\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc, Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for(; sfb_partition < 4; sfb_partition++){\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for(i = 0; i < sfbs; i++, sfb++){\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */ $91409b9649b00300$var$assert(data_bits == gi.part2_3_length);\n $91409b9649b00300$var$assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */ }\n /* for gf */ return tot_bits;\n }\n /* main_data */ function TotalBytes() {\n this.total = 0;\n }\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */ function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */ last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */ if (last_ptr == -1) last_ptr = $4SDnr.MAX_HEADER_BUF - 1;\n /* add this many bits to bitstream so we can flush all headers */ flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */ /* reduce flushbits by the size of the headers */ remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr) remaining_headers = 1 + last_ptr - first_ptr + $4SDnr.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */ bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */ if (total_bytes_output.total % 8 != 0) total_bytes_output.total = 1 + total_bytes_output.total / 8;\n else total_bytes_output.total = total_bytes_output.total / 8;\n total_bytes_output.total += bufByteIdx + 1;\n if (flushbits < 0) $91409b9649b00300$var$System.err.println(\"strange error flushing buffer ... \\n\");\n return flushbits;\n }\n this.flush_bitstream = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */ if (last_ptr == -1) last_ptr = $4SDnr.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0) return;\n drain_into_ancillary(gfp, flushbits);\n /* check that the 100% of the last frame has been written to bitstream */ $91409b9649b00300$var$assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */ gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n /* save the ReplayGain value */ if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n $91409b9649b00300$var$assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */ }\n /* find the gain and scale change required for no clipping */ if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math.log10(gfc.PeakSample / 32767.0) * 200) | 0;\n /* round up */ if (gfc.noclipGainChange > 0) {\n /* clipping occurs */ if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0)) gfc.noclipScale = Math.floor(32767.0 / gfc.PeakSample * 100.0) / 100.0;\n else /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */ gfc.noclipScale = -1;\n } else /* no clipping */ gfc.noclipScale = -1;\n }\n };\n this.add_dummy_byte = function(gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n while(n-- > 0){\n putbits_noheaders(gfc, val, 8);\n for(i = 0; i < $4SDnr.MAX_HEADER_BUF; ++i)gfc.header[i].write_timing += 8;\n }\n };\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */ this.format_bitstream = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */ if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) $91409b9649b00300$var$System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */ if (l3_side.main_data_begin * 8 != gfc.ResvSize) {\n $91409b9649b00300$var$System.err.printf(\"bit reservoir error: \\nl3_side.main_data_begin: %d \\nResvoir size: %d \\nresv drain (post) %d \\nresv drain (pre) %d \\nheader and sideinfo: %d \\ndata bits: %d \\ntotal bits: %d (remainder: %d) \\nbitsperframe: %d \\n\", 8 * l3_side.main_data_begin, gfc.ResvSize, l3_side.resvDrain_post, l3_side.resvDrain_pre, 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8 * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n $91409b9649b00300$var$System.err.println(\"This is a fatal error. It has several possible causes:\");\n $91409b9649b00300$var$System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n $91409b9649b00300$var$System.err.println(\" 9%% Your system is overclocked\");\n $91409b9649b00300$var$System.err.println(\" 1%% bug in LAME encoding library\");\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n $91409b9649b00300$var$assert(totbit % 8 == 0);\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */ var i;\n for(i = 0; i < $4SDnr.MAX_HEADER_BUF; ++i)gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n return 0;\n };\n /**\n * <PRE>\n * copy data out of the internal MP3 bit buffer into a user supplied\n * unsigned char buffer.\n *\n * mp3data=0 indicates data in buffer is an id3tags and VBR tags\n * mp3data=1 data is real mp3 frame data.\n * </PRE>\n */ this.copy_buffer = function(gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0) return 0;\n if (size != 0 && minimum > size) /* buffer is too small */ return -1;\n $91409b9649b00300$var$System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n if (mp3data != 0) {\n var crc = $91409b9649b00300$var$new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */ if (minimum > 0) gfc.VBR_seek_table.nBytesWritten += minimum;\n if (gfc.decode_on_the_fly) {\n var pcm_buf = $91409b9649b00300$var$new_float_n([\n 2,\n 1152\n ]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */ while(samples_out != 0){\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer, bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */ /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */ mp3_in = 0;\n if (samples_out == -1) /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */ samples_out = 0;\n if (samples_out > 0) {\n /* process the PCM data */ /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */ $91409b9649b00300$var$assert(samples_out <= 1152);\n if (gfc.findPeakSample) {\n for(i = 0; i < samples_out; i++){\n if (pcm_buf[0][i] > gfc.PeakSample) gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample) gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1) for(i = 0; i < samples_out; i++){\n if (pcm_buf[1][i] > gfc.PeakSample) gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample) gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n if (gfc.findReplayGain) {\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0, pcm_buf[1], 0, samples_out, gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR) return -6;\n }\n }\n /* if (samples_out>0) */ }\n /* while (samples_out!=0) */ }\n /* if (gfc.decode_on_the_fly) */ }\n /* if (mp3data) */ return minimum;\n };\n this.init_bit_stream_w = function(gfc) {\n buf = $91409b9649b00300$var$new_byte(Lame.LAME_MAXMP3BUFFER);\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n// From machine.h\n}\nmodule.exports = $91409b9649b00300$var$BitStream;\n\n});\nparcelRequire.register(\"65Sx2\", function(module, exports) {\n/*\n *\tMP3 huffman table selecting and bit counting\n *\n *\tCopyright (c) 1999-2005 Takehiro TOMINAGA\n *\tCopyright (c) 2002-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\t See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Takehiro.java,v 1.26 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $46fd82963609949b$var$System = $3YDN3.System;\nvar $46fd82963609949b$var$VbrMode = $3YDN3.VbrMode;\nvar $46fd82963609949b$var$Float = $3YDN3.Float;\nvar $46fd82963609949b$var$ShortBlock = $3YDN3.ShortBlock;\nvar $46fd82963609949b$var$Util = $3YDN3.Util;\nvar $46fd82963609949b$var$Arrays = $3YDN3.Arrays;\nvar $46fd82963609949b$var$new_array_n = $3YDN3.new_array_n;\nvar $46fd82963609949b$var$new_byte = $3YDN3.new_byte;\nvar $46fd82963609949b$var$new_double = $3YDN3.new_double;\nvar $46fd82963609949b$var$new_float = $3YDN3.new_float;\nvar $46fd82963609949b$var$new_float_n = $3YDN3.new_float_n;\nvar $46fd82963609949b$var$new_int = $3YDN3.new_int;\nvar $46fd82963609949b$var$new_int_n = $3YDN3.new_int_n;\nvar $46fd82963609949b$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $dQDcS = parcelRequire(\"dQDcS\");\n\nvar $7weBo = parcelRequire(\"7weBo\");\n\nvar $84mea = parcelRequire(\"84mea\");\nfunction $46fd82963609949b$var$Takehiro() {\n var qupvt = null;\n this.qupvt = null;\n this.setModules = function(_qupvt) {\n this.qupvt = _qupvt;\n qupvt = _qupvt;\n };\n function Bits(b) {\n this.bits = 0 | b;\n }\n var subdv_table = [\n [\n 0,\n 0\n ],\n /* 0 bands */ [\n 0,\n 0\n ],\n /* 1 bands */ [\n 0,\n 0\n ],\n /* 2 bands */ [\n 0,\n 0\n ],\n /* 3 bands */ [\n 0,\n 0\n ],\n /* 4 bands */ [\n 0,\n 1\n ],\n /* 5 bands */ [\n 1,\n 1\n ],\n /* 6 bands */ [\n 1,\n 1\n ],\n /* 7 bands */ [\n 1,\n 2\n ],\n /* 8 bands */ [\n 2,\n 2\n ],\n /* 9 bands */ [\n 2,\n 3\n ],\n /* 10 bands */ [\n 2,\n 3\n ],\n /* 11 bands */ [\n 3,\n 4\n ],\n /* 12 bands */ [\n 3,\n 4\n ],\n /* 13 bands */ [\n 3,\n 4\n ],\n /* 14 bands */ [\n 4,\n 5\n ],\n /* 15 bands */ [\n 4,\n 5\n ],\n /* 16 bands */ [\n 4,\n 6\n ],\n /* 17 bands */ [\n 5,\n 6\n ],\n /* 18 bands */ [\n 5,\n 6\n ],\n /* 19 bands */ [\n 5,\n 7\n ],\n /* 20 bands */ [\n 6,\n 7\n ],\n /* 21 bands */ [\n 6,\n 7\n ]\n ];\n /**\n * nonlinear quantization of xr More accurate formula than the ISO formula.\n * Takes into account the fact that we are quantizing xr . ix, but we want\n * ix^4/3 to be as close as possible to x^4/3. (taking the nearest int would\n * mean ix is as close as possible to xr, which is different.)\n *\n * From Segher Boessenkool <segher@eastsite.nl> 11/1999\n *\n * 09/2000: ASM code removed in favor of IEEE754 hack by Takehiro Tominaga.\n * If you need the ASM code, check CVS circa Aug 2000.\n *\n * 01/2004: Optimizations by Gabriel Bouvigne\n */ function quantize_lines_xrpow_01(l, istep, xr, xrPos, ix, ixPos) {\n var compareval0 = 0.5946 / istep;\n $46fd82963609949b$var$assert(l > 0);\n l = l >> 1;\n while(l-- != 0){\n ix[ixPos++] = compareval0 > xr[xrPos++] ? 0 : 1;\n ix[ixPos++] = compareval0 > xr[xrPos++] ? 0 : 1;\n }\n }\n /**\n * XRPOW_FTOI is a macro to convert floats to ints.<BR>\n * if XRPOW_FTOI(x) = nearest_int(x), then QUANTFAC(x)=adj43asm[x]<BR>\n * ROUNDFAC= -0.0946<BR>\n *\n * if XRPOW_FTOI(x) = floor(x), then QUANTFAC(x)=asj43[x]<BR>\n * ROUNDFAC=0.4054<BR>\n *\n * Note: using floor() or 0| is extremely slow. On machines where the\n * TAKEHIRO_IEEE754_HACK code above does not work, it is worthwile to write\n * some ASM for XRPOW_FTOI().\n */ function quantize_lines_xrpow(l, istep, xr, xrPos, ix, ixPos) {\n $46fd82963609949b$var$assert(l > 0);\n l = l >> 1;\n var remaining = l % 2;\n l = l >> 1;\n while(l-- != 0){\n var x0, x1, x2, x3;\n var rx0, rx1, rx2, rx3;\n x0 = xr[xrPos++] * istep;\n x1 = xr[xrPos++] * istep;\n rx0 = 0 | x0;\n x2 = xr[xrPos++] * istep;\n rx1 = 0 | x1;\n x3 = xr[xrPos++] * istep;\n rx2 = 0 | x2;\n x0 += qupvt.adj43[rx0];\n rx3 = 0 | x3;\n x1 += qupvt.adj43[rx1];\n ix[ixPos++] = 0 | x0;\n x2 += qupvt.adj43[rx2];\n ix[ixPos++] = 0 | x1;\n x3 += qupvt.adj43[rx3];\n ix[ixPos++] = 0 | x2;\n ix[ixPos++] = 0 | x3;\n }\n if (remaining != 0) {\n var x0, x1;\n var rx0, rx1;\n x0 = xr[xrPos++] * istep;\n x1 = xr[xrPos++] * istep;\n rx0 = 0 | x0;\n rx1 = 0 | x1;\n x0 += qupvt.adj43[rx0];\n x1 += qupvt.adj43[rx1];\n ix[ixPos++] = 0 | x0;\n ix[ixPos++] = 0 | x1;\n }\n }\n /**\n * Quantization function This function will select which lines to quantize\n * and call the proper quantization function\n */ function quantize_xrpow(xp, pi, istep, codInfo, prevNoise) {\n /* quantize on xr^(3/4) instead of xr */ var sfb;\n var sfbmax;\n var j = 0;\n var prev_data_use;\n var accumulate = 0;\n var accumulate01 = 0;\n var xpPos = 0;\n var iData = pi;\n var iDataPos = 0;\n var acc_iData = iData;\n var acc_iDataPos = 0;\n var acc_xp = xp;\n var acc_xpPos = 0;\n /*\n * Reusing previously computed data does not seems to work if global\n * gain is changed. Finding why it behaves this way would allow to use a\n * cache of previously computed values (let's 10 cached values per sfb)\n * that would probably provide a noticeable speedup\n */ prev_data_use = prevNoise != null && codInfo.global_gain == prevNoise.global_gain;\n if (codInfo.block_type == $cPNKB.SHORT_TYPE) sfbmax = 38;\n else sfbmax = 21;\n for(sfb = 0; sfb <= sfbmax; sfb++){\n var step = -1;\n if (prev_data_use || codInfo.block_type == $cPNKB.NORM_TYPE) step = codInfo.global_gain - (codInfo.scalefac[sfb] + (codInfo.preflag != 0 ? qupvt.pretab[sfb] : 0) << codInfo.scalefac_scale + 1) - codInfo.subblock_gain[codInfo.window[sfb]] * 8;\n $46fd82963609949b$var$assert(codInfo.width[sfb] >= 0);\n if (prev_data_use && prevNoise.step[sfb] == step) {\n /*\n * do not recompute this part, but compute accumulated lines\n */ if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n } else {\n var l = codInfo.width[sfb];\n if (j + codInfo.width[sfb] > codInfo.max_nonzero_coeff) {\n /* do not compute upper zero part */ var usefullsize;\n usefullsize = codInfo.max_nonzero_coeff - j + 1;\n $46fd82963609949b$var$Arrays.fill(pi, codInfo.max_nonzero_coeff, 576, 0);\n l = usefullsize;\n if (l < 0) l = 0;\n /* no need to compute higher sfb values */ sfb = sfbmax + 1;\n }\n /* accumulate lines to quantize */ if (0 == accumulate && 0 == accumulate01) {\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n if (prevNoise != null && prevNoise.sfb_count1 > 0 && sfb >= prevNoise.sfb_count1 && prevNoise.step[sfb] > 0 && step >= prevNoise.step[sfb]) {\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n accumulate01 += l;\n } else {\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n acc_iData = iData;\n acc_iDataPos = iDataPos;\n acc_xp = xp;\n acc_xpPos = xpPos;\n }\n accumulate += l;\n }\n if (l <= 0) {\n /*\n * rh: 20040215 may happen due to \"prev_data_use\"\n * optimization\n */ if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n break;\n /* ends for-loop */ }\n }\n if (sfb <= sfbmax) {\n iDataPos += codInfo.width[sfb];\n xpPos += codInfo.width[sfb];\n j += codInfo.width[sfb];\n }\n }\n if (accumulate != 0) {\n quantize_lines_xrpow(accumulate, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate = 0;\n }\n if (accumulate01 != 0) {\n quantize_lines_xrpow_01(accumulate01, istep, acc_xp, acc_xpPos, acc_iData, acc_iDataPos);\n accumulate01 = 0;\n }\n }\n /**\n * ix_max\n */ function ix_max(ix, ixPos, endPos) {\n var max1 = 0, max2 = 0;\n do {\n var x1 = ix[ixPos++];\n var x2 = ix[ixPos++];\n if (max1 < x1) max1 = x1;\n if (max2 < x2) max2 = x2;\n }while (ixPos < endPos);\n if (max1 < max2) max1 = max2;\n return max1;\n }\n function count_bit_ESC(ix, ixPos, end, t1, t2, s) {\n /* ESC-table is used */ var linbits = $dQDcS.ht[t1].xlen * 65536 + $dQDcS.ht[t2].xlen;\n var sum = 0, sum2;\n do {\n var x = ix[ixPos++];\n var y = ix[ixPos++];\n if (x != 0) {\n if (x > 14) {\n x = 15;\n sum += linbits;\n }\n x *= 16;\n }\n if (y != 0) {\n if (y > 14) {\n y = 15;\n sum += linbits;\n }\n x += y;\n }\n sum += $dQDcS.largetbl[x];\n }while (ixPos < end);\n sum2 = sum & 0xffff;\n sum >>= 16;\n if (sum > sum2) {\n sum = sum2;\n t1 = t2;\n }\n s.bits += sum;\n return t1;\n }\n function count_bit_noESC(ix, ixPos, end, s) {\n /* No ESC-words */ var sum1 = 0;\n var hlen1 = $dQDcS.ht[1].hlen;\n do {\n var x = ix[ixPos + 0] * 2 + ix[ixPos + 1];\n ixPos += 2;\n sum1 += hlen1[x];\n }while (ixPos < end);\n s.bits += sum1;\n return 1;\n }\n function count_bit_noESC_from2(ix, ixPos, end, t1, s) {\n /* No ESC-words */ var sum = 0, sum2;\n var xlen = $dQDcS.ht[t1].xlen;\n var hlen;\n if (t1 == 2) hlen = $dQDcS.table23;\n else hlen = $dQDcS.table56;\n do {\n var x = ix[ixPos + 0] * xlen + ix[ixPos + 1];\n ixPos += 2;\n sum += hlen[x];\n }while (ixPos < end);\n sum2 = sum & 0xffff;\n sum >>= 16;\n if (sum > sum2) {\n sum = sum2;\n t1++;\n }\n s.bits += sum;\n return t1;\n }\n function count_bit_noESC_from3(ix, ixPos, end, t1, s) {\n /* No ESC-words */ var sum1 = 0;\n var sum2 = 0;\n var sum3 = 0;\n var xlen = $dQDcS.ht[t1].xlen;\n var hlen1 = $dQDcS.ht[t1].hlen;\n var hlen2 = $dQDcS.ht[t1 + 1].hlen;\n var hlen3 = $dQDcS.ht[t1 + 2].hlen;\n do {\n var x = ix[ixPos + 0] * xlen + ix[ixPos + 1];\n ixPos += 2;\n sum1 += hlen1[x];\n sum2 += hlen2[x];\n sum3 += hlen3[x];\n }while (ixPos < end);\n var t = t1;\n if (sum1 > sum2) {\n sum1 = sum2;\n t++;\n }\n if (sum1 > sum3) {\n sum1 = sum3;\n t = t1 + 2;\n }\n s.bits += sum1;\n return t;\n }\n /*************************************************************************/ /* choose table */ /*************************************************************************/ var huf_tbl_noESC = [\n 1,\n 2,\n 5,\n 7,\n 7,\n 10,\n 10,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13\n ];\n /**\n * Choose the Huffman table that will encode ix[begin..end] with the fewest\n * bits.\n *\n * Note: This code contains knowledge about the sizes and characteristics of\n * the Huffman tables as defined in the IS (Table B.7), and will not work\n * with any arbitrary tables.\n */ function choose_table(ix, ixPos, endPos, s) {\n var max = ix_max(ix, ixPos, endPos);\n switch(max){\n case 0:\n return max;\n case 1:\n return count_bit_noESC(ix, ixPos, endPos, s);\n case 2:\n case 3:\n return count_bit_noESC_from2(ix, ixPos, endPos, huf_tbl_noESC[max - 1], s);\n case 4:\n case 5:\n case 6:\n case 7:\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n return count_bit_noESC_from3(ix, ixPos, endPos, huf_tbl_noESC[max - 1], s);\n default:\n /* try tables with linbits */ if (max > $84mea.IXMAX_VAL) {\n s.bits = $84mea.LARGE_BITS;\n return -1;\n }\n max -= 15;\n var choice2;\n for(choice2 = 24; choice2 < 32; choice2++){\n if ($dQDcS.ht[choice2].linmax >= max) break;\n }\n var choice;\n for(choice = choice2 - 8; choice < 24; choice++){\n if ($dQDcS.ht[choice].linmax >= max) break;\n }\n return count_bit_ESC(ix, ixPos, endPos, choice, choice2, s);\n }\n }\n /**\n * count_bit\n */ this.noquant_count_bits = function(gfc, gi, prev_noise) {\n var ix = gi.l3_enc;\n var i = Math.min(576, gi.max_nonzero_coeff + 2 >> 1 << 1);\n if (prev_noise != null) prev_noise.sfb_count1 = 0;\n /* Determine count1 region */ for(; i > 1; i -= 2)if ((ix[i - 1] | ix[i - 2]) != 0) break;\n gi.count1 = i;\n /* Determines the number of bits to encode the quadruples. */ var a1 = 0;\n var a2 = 0;\n for(; i > 3; i -= 4){\n var p;\n /* hack to check if all values <= 1 */ //throw \"TODO: HACK if ((((long) ix[i - 1] | (long) ix[i - 2] | (long) ix[i - 3] | (long) ix[i - 4]) & 0xffffffffL) > 1L \"\n //if (true) {\n if (((ix[i - 1] | ix[i - 2] | ix[i - 3] | ix[i - 4]) & 0x7fffffff) > 1) break;\n p = ((ix[i - 4] * 2 + ix[i - 3]) * 2 + ix[i - 2]) * 2 + ix[i - 1];\n a1 += $dQDcS.t32l[p];\n a2 += $dQDcS.t33l[p];\n }\n var bits = a1;\n gi.count1table_select = 0;\n if (a1 > a2) {\n bits = a2;\n gi.count1table_select = 1;\n }\n gi.count1bits = bits;\n gi.big_values = i;\n if (i == 0) return bits;\n if (gi.block_type == $cPNKB.SHORT_TYPE) {\n a1 = 3 * gfc.scalefac_band.s[3];\n if (a1 > gi.big_values) a1 = gi.big_values;\n a2 = gi.big_values;\n } else if (gi.block_type == $cPNKB.NORM_TYPE) {\n $46fd82963609949b$var$assert(i <= 576);\n /* bv_scf has 576 entries (0..575) */ a1 = gi.region0_count = gfc.bv_scf[i - 2];\n a2 = gi.region1_count = gfc.bv_scf[i - 1];\n $46fd82963609949b$var$assert(a1 + a2 + 2 < $cPNKB.SBPSY_l);\n a2 = gfc.scalefac_band.l[a1 + a2 + 2];\n a1 = gfc.scalefac_band.l[a1 + 1];\n if (a2 < i) {\n var bi = new Bits(bits);\n gi.table_select[2] = choose_table(ix, a2, i, bi);\n bits = bi.bits;\n }\n } else {\n gi.region0_count = 7;\n /* gi.region1_count = SBPSY_l - 7 - 1; */ gi.region1_count = $cPNKB.SBMAX_l - 1 - 7 - 1;\n a1 = gfc.scalefac_band.l[8];\n a2 = i;\n if (a1 > a2) a1 = a2;\n }\n /* have to allow for the case when bigvalues < region0 < region1 */ /* (and region0, region1 are ignored) */ a1 = Math.min(a1, i);\n a2 = Math.min(a2, i);\n $46fd82963609949b$var$assert(a1 >= 0);\n $46fd82963609949b$var$assert(a2 >= 0);\n /* Count the number of bits necessary to code the bigvalues region. */ if (0 < a1) {\n var bi = new Bits(bits);\n gi.table_select[0] = choose_table(ix, 0, a1, bi);\n bits = bi.bits;\n }\n if (a1 < a2) {\n var bi = new Bits(bits);\n gi.table_select[1] = choose_table(ix, a1, a2, bi);\n bits = bi.bits;\n }\n if (gfc.use_best_huffman == 2) {\n gi.part2_3_length = bits;\n best_huffman_divide(gfc, gi);\n bits = gi.part2_3_length;\n }\n if (prev_noise != null) {\n if (gi.block_type == $cPNKB.NORM_TYPE) {\n var sfb = 0;\n while(gfc.scalefac_band.l[sfb] < gi.big_values)sfb++;\n prev_noise.sfb_count1 = sfb;\n }\n }\n return bits;\n };\n this.count_bits = function(gfc, xr, gi, prev_noise) {\n var ix = gi.l3_enc;\n /* since quantize_xrpow uses table lookup, we need to check this first: */ var w = $84mea.IXMAX_VAL / qupvt.IPOW20(gi.global_gain);\n if (gi.xrpow_max > w) return $84mea.LARGE_BITS;\n quantize_xrpow(xr, ix, qupvt.IPOW20(gi.global_gain), gi, prev_noise);\n if ((gfc.substep_shaping & 2) != 0) {\n var j = 0;\n /* 0.634521682242439 = 0.5946*2**(.5*0.1875) */ var gain = gi.global_gain + gi.scalefac_scale;\n var roundfac = 0.634521682242439 / qupvt.IPOW20(gain);\n for(var sfb = 0; sfb < gi.sfbmax; sfb++){\n var width = gi.width[sfb];\n $46fd82963609949b$var$assert(width >= 0);\n if (0 == gfc.pseudohalf[sfb]) j += width;\n else {\n var k;\n for(k = j, j += width; k < j; ++k)ix[k] = xr[k] >= roundfac ? ix[k] : 0;\n }\n }\n }\n return this.noquant_count_bits(gfc, gi, prev_noise);\n };\n /**\n * re-calculate the best scalefac_compress using scfsi the saved bits are\n * kept in the bit reservoir.\n */ function recalc_divide_init(gfc, cod_info, ix, r01_bits, r01_div, r0_tbl, r1_tbl) {\n var bigv = cod_info.big_values;\n for(var r0 = 0; r0 <= 22; r0++)r01_bits[r0] = $84mea.LARGE_BITS;\n for(var r0 = 0; r0 < 16; r0++){\n var a1 = gfc.scalefac_band.l[r0 + 1];\n if (a1 >= bigv) break;\n var r0bits = 0;\n var bi = new Bits(r0bits);\n var r0t = choose_table(ix, 0, a1, bi);\n r0bits = bi.bits;\n for(var r1 = 0; r1 < 8; r1++){\n var a2 = gfc.scalefac_band.l[r0 + r1 + 2];\n if (a2 >= bigv) break;\n var bits = r0bits;\n bi = new Bits(bits);\n var r1t = choose_table(ix, a1, a2, bi);\n bits = bi.bits;\n if (r01_bits[r0 + r1] > bits) {\n r01_bits[r0 + r1] = bits;\n r01_div[r0 + r1] = r0;\n r0_tbl[r0 + r1] = r0t;\n r1_tbl[r0 + r1] = r1t;\n }\n }\n }\n }\n function recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl) {\n var bigv = cod_info2.big_values;\n for(var r2 = 2; r2 < $cPNKB.SBMAX_l + 1; r2++){\n var a2 = gfc.scalefac_band.l[r2];\n if (a2 >= bigv) break;\n var bits = r01_bits[r2 - 2] + cod_info2.count1bits;\n if (gi.part2_3_length <= bits) break;\n var bi = new Bits(bits);\n var r2t = choose_table(ix, a2, bigv, bi);\n bits = bi.bits;\n if (gi.part2_3_length <= bits) continue;\n gi.assign(cod_info2);\n gi.part2_3_length = bits;\n gi.region0_count = r01_div[r2 - 2];\n gi.region1_count = r2 - 2 - r01_div[r2 - 2];\n gi.table_select[0] = r0_tbl[r2 - 2];\n gi.table_select[1] = r1_tbl[r2 - 2];\n gi.table_select[2] = r2t;\n }\n }\n this.best_huffman_divide = function(gfc, gi) {\n var cod_info2 = new $7weBo();\n var ix = gi.l3_enc;\n var r01_bits = $46fd82963609949b$var$new_int(23);\n var r01_div = $46fd82963609949b$var$new_int(23);\n var r0_tbl = $46fd82963609949b$var$new_int(23);\n var r1_tbl = $46fd82963609949b$var$new_int(23);\n /* SHORT BLOCK stuff fails for MPEG2 */ if (gi.block_type == $cPNKB.SHORT_TYPE && gfc.mode_gr == 1) return;\n cod_info2.assign(gi);\n if (gi.block_type == $cPNKB.NORM_TYPE) {\n recalc_divide_init(gfc, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n }\n var i = cod_info2.big_values;\n if (i == 0 || (ix[i - 2] | ix[i - 1]) > 1) return;\n i = gi.count1 + 2;\n if (i > 576) return;\n /* Determines the number of bits to encode the quadruples. */ cod_info2.assign(gi);\n cod_info2.count1 = i;\n var a1 = 0;\n var a2 = 0;\n $46fd82963609949b$var$assert(i <= 576);\n for(; i > cod_info2.big_values; i -= 4){\n var p = ((ix[i - 4] * 2 + ix[i - 3]) * 2 + ix[i - 2]) * 2 + ix[i - 1];\n a1 += $dQDcS.t32l[p];\n a2 += $dQDcS.t33l[p];\n }\n cod_info2.big_values = i;\n cod_info2.count1table_select = 0;\n if (a1 > a2) {\n a1 = a2;\n cod_info2.count1table_select = 1;\n }\n cod_info2.count1bits = a1;\n if (cod_info2.block_type == $cPNKB.NORM_TYPE) recalc_divide_sub(gfc, cod_info2, gi, ix, r01_bits, r01_div, r0_tbl, r1_tbl);\n else {\n /* Count the number of bits necessary to code the bigvalues region. */ cod_info2.part2_3_length = a1;\n a1 = gfc.scalefac_band.l[8];\n if (a1 > i) a1 = i;\n if (a1 > 0) {\n var bi = new Bits(cod_info2.part2_3_length);\n cod_info2.table_select[0] = choose_table(ix, 0, a1, bi);\n cod_info2.part2_3_length = bi.bits;\n }\n if (i > a1) {\n var bi = new Bits(cod_info2.part2_3_length);\n cod_info2.table_select[1] = choose_table(ix, a1, i, bi);\n cod_info2.part2_3_length = bi.bits;\n }\n if (gi.part2_3_length > cod_info2.part2_3_length) gi.assign(cod_info2);\n }\n };\n var slen1_n = [\n 1,\n 1,\n 1,\n 1,\n 8,\n 2,\n 2,\n 2,\n 4,\n 4,\n 4,\n 8,\n 8,\n 8,\n 16,\n 16\n ];\n var slen2_n = [\n 1,\n 2,\n 4,\n 8,\n 1,\n 2,\n 4,\n 8,\n 2,\n 4,\n 8,\n 2,\n 4,\n 8,\n 4,\n 8\n ];\n var slen1_tab = [\n 0,\n 0,\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 4,\n 4\n ];\n var slen2_tab = [\n 0,\n 1,\n 2,\n 3,\n 0,\n 1,\n 2,\n 3,\n 1,\n 2,\n 3,\n 1,\n 2,\n 3,\n 2,\n 3\n ];\n $46fd82963609949b$var$Takehiro.slen1_tab = slen1_tab;\n $46fd82963609949b$var$Takehiro.slen2_tab = slen2_tab;\n function scfsi_calc(ch, l3_side) {\n var sfb;\n var gi = l3_side.tt[1][ch];\n var g0 = l3_side.tt[0][ch];\n for(var i = 0; i < $dQDcS.scfsi_band.length - 1; i++){\n for(sfb = $dQDcS.scfsi_band[i]; sfb < $dQDcS.scfsi_band[i + 1]; sfb++){\n if (g0.scalefac[sfb] != gi.scalefac[sfb] && gi.scalefac[sfb] >= 0) break;\n }\n if (sfb == $dQDcS.scfsi_band[i + 1]) {\n for(sfb = $dQDcS.scfsi_band[i]; sfb < $dQDcS.scfsi_band[i + 1]; sfb++)gi.scalefac[sfb] = -1;\n l3_side.scfsi[ch][i] = 1;\n }\n }\n var s1 = 0;\n var c1 = 0;\n for(sfb = 0; sfb < 11; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n c1++;\n if (s1 < gi.scalefac[sfb]) s1 = gi.scalefac[sfb];\n }\n var s2 = 0;\n var c2 = 0;\n for(; sfb < $cPNKB.SBPSY_l; sfb++){\n if (gi.scalefac[sfb] == -1) continue;\n c2++;\n if (s2 < gi.scalefac[sfb]) s2 = gi.scalefac[sfb];\n }\n for(var i = 0; i < 16; i++)if (s1 < slen1_n[i] && s2 < slen2_n[i]) {\n var c = slen1_tab[i] * c1 + slen2_tab[i] * c2;\n if (gi.part2_length > c) {\n gi.part2_length = c;\n gi.scalefac_compress = i;\n }\n }\n }\n /**\n * Find the optimal way to store the scalefactors. Only call this routine\n * after final scalefactors have been chosen and the channel/granule will\n * not be re-encoded.\n */ this.best_scalefac_store = function(gfc, gr, ch, l3_side) {\n /* use scalefac_scale if we can */ var gi = l3_side.tt[gr][ch];\n var sfb, i, j, l;\n var recalc = 0;\n /*\n * remove scalefacs from bands with ix=0. This idea comes from the AAC\n * ISO docs. added mt 3/00\n */ /* check if l3_enc=0 */ j = 0;\n for(sfb = 0; sfb < gi.sfbmax; sfb++){\n var width = gi.width[sfb];\n $46fd82963609949b$var$assert(width >= 0);\n j += width;\n for(l = -width; l < 0; l++){\n if (gi.l3_enc[l + j] != 0) break;\n }\n if (l == 0) gi.scalefac[sfb] = recalc = -2;\n /* anything goes. */ /*\n * only best_scalefac_store and calc_scfsi know--and only they\n * should know--about the magic number -2.\n */ }\n if (0 == gi.scalefac_scale && 0 == gi.preflag) {\n var s = 0;\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] > 0) s |= gi.scalefac[sfb];\n if (0 == (s & 1) && s != 0) {\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] > 0) gi.scalefac[sfb] >>= 1;\n gi.scalefac_scale = recalc = 1;\n }\n }\n if (0 == gi.preflag && gi.block_type != $cPNKB.SHORT_TYPE && gfc.mode_gr == 2) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (gi.scalefac[sfb] < qupvt.pretab[sfb] && gi.scalefac[sfb] != -2) break;\n if (sfb == $cPNKB.SBPSY_l) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (gi.scalefac[sfb] > 0) gi.scalefac[sfb] -= qupvt.pretab[sfb];\n gi.preflag = recalc = 1;\n }\n }\n for(i = 0; i < 4; i++)l3_side.scfsi[ch][i] = 0;\n if (gfc.mode_gr == 2 && gr == 1 && l3_side.tt[0][ch].block_type != $cPNKB.SHORT_TYPE && l3_side.tt[1][ch].block_type != $cPNKB.SHORT_TYPE) {\n scfsi_calc(ch, l3_side);\n recalc = 0;\n }\n for(sfb = 0; sfb < gi.sfbmax; sfb++)if (gi.scalefac[sfb] == -2) gi.scalefac[sfb] = 0;\n if (recalc != 0) {\n if (gfc.mode_gr == 2) this.scale_bitcount(gi);\n else this.scale_bitcount_lsf(gfc, gi);\n }\n };\n function all_scalefactors_not_negative(scalefac, n) {\n for(var i = 0; i < n; ++i){\n if (scalefac[i] < 0) return false;\n }\n return true;\n }\n /**\n * number of bits used to encode scalefacs.\n *\n * 18*slen1_tab[i] + 18*slen2_tab[i]\n */ var scale_short = [\n 0,\n 18,\n 36,\n 54,\n 54,\n 36,\n 54,\n 72,\n 54,\n 72,\n 90,\n 72,\n 90,\n 108,\n 108,\n 126\n ];\n /**\n * number of bits used to encode scalefacs.\n *\n * 17*slen1_tab[i] + 18*slen2_tab[i]\n */ var scale_mixed = [\n 0,\n 18,\n 36,\n 54,\n 51,\n 35,\n 53,\n 71,\n 52,\n 70,\n 88,\n 69,\n 87,\n 105,\n 104,\n 122\n ];\n /**\n * number of bits used to encode scalefacs.\n *\n * 11*slen1_tab[i] + 10*slen2_tab[i]\n */ var scale_long = [\n 0,\n 10,\n 20,\n 30,\n 33,\n 21,\n 31,\n 41,\n 32,\n 42,\n 52,\n 43,\n 53,\n 63,\n 64,\n 74\n ];\n /**\n * Also calculates the number of bits necessary to code the scalefactors.\n */ this.scale_bitcount = function(cod_info) {\n var k, sfb, max_slen1 = 0, max_slen2 = 0;\n /* maximum values */ var tab;\n var scalefac = cod_info.scalefac;\n $46fd82963609949b$var$assert(all_scalefactors_not_negative(scalefac, cod_info.sfbmax));\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n tab = scale_short;\n if (cod_info.mixed_block_flag != 0) tab = scale_mixed;\n } else {\n tab = scale_long;\n if (0 == cod_info.preflag) {\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)if (scalefac[sfb] < qupvt.pretab[sfb]) break;\n if (sfb == $cPNKB.SBPSY_l) {\n cod_info.preflag = 1;\n for(sfb = 11; sfb < $cPNKB.SBPSY_l; sfb++)scalefac[sfb] -= qupvt.pretab[sfb];\n }\n }\n }\n for(sfb = 0; sfb < cod_info.sfbdivide; sfb++)if (max_slen1 < scalefac[sfb]) max_slen1 = scalefac[sfb];\n for(; sfb < cod_info.sfbmax; sfb++)if (max_slen2 < scalefac[sfb]) max_slen2 = scalefac[sfb];\n /*\n * from Takehiro TOMINAGA <tominaga@isoternet.org> 10/99 loop over *all*\n * posible values of scalefac_compress to find the one which uses the\n * smallest number of bits. ISO would stop at first valid index\n */ cod_info.part2_length = $84mea.LARGE_BITS;\n for(k = 0; k < 16; k++)if (max_slen1 < slen1_n[k] && max_slen2 < slen2_n[k] && cod_info.part2_length > tab[k]) {\n cod_info.part2_length = tab[k];\n cod_info.scalefac_compress = k;\n }\n return cod_info.part2_length == $84mea.LARGE_BITS;\n };\n /**\n * table of largest scalefactor values for MPEG2\n */ var max_range_sfac_tab = [\n [\n 15,\n 15,\n 7,\n 7\n ],\n [\n 15,\n 15,\n 7,\n 0\n ],\n [\n 7,\n 3,\n 0,\n 0\n ],\n [\n 15,\n 31,\n 31,\n 0\n ],\n [\n 7,\n 7,\n 7,\n 0\n ],\n [\n 3,\n 3,\n 0,\n 0\n ]\n ];\n /**\n * Also counts the number of bits to encode the scalefacs but for MPEG 2\n * Lower sampling frequencies (24, 22.05 and 16 kHz.)\n *\n * This is reverse-engineered from section 2.4.3.2 of the MPEG2 IS,\n * \"Audio Decoding Layer III\"\n */ this.scale_bitcount_lsf = function(gfc, cod_info) {\n var table_number, row_in_table, partition, nr_sfb, window;\n var over;\n var i, sfb;\n var max_sfac = $46fd82963609949b$var$new_int(4);\n //var partition_table;\n var scalefac = cod_info.scalefac;\n /*\n * Set partition table. Note that should try to use table one, but do\n * not yet...\n */ if (cod_info.preflag != 0) table_number = 2;\n else table_number = 0;\n for(i = 0; i < 4; i++)max_sfac[i] = 0;\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n row_in_table = 1;\n var partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(sfb = 0, partition = 0; partition < 4; partition++){\n nr_sfb = partition_table[partition] / 3;\n for(i = 0; i < nr_sfb; i++, sfb++)for(window = 0; window < 3; window++)if (scalefac[sfb * 3 + window] > max_sfac[partition]) max_sfac[partition] = scalefac[sfb * 3 + window];\n }\n } else {\n row_in_table = 0;\n var partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(sfb = 0, partition = 0; partition < 4; partition++){\n nr_sfb = partition_table[partition];\n for(i = 0; i < nr_sfb; i++, sfb++)if (scalefac[sfb] > max_sfac[partition]) max_sfac[partition] = scalefac[sfb];\n }\n }\n for(over = false, partition = 0; partition < 4; partition++)if (max_sfac[partition] > max_range_sfac_tab[table_number][partition]) over = true;\n if (!over) {\n var slen1, slen2, slen3, slen4;\n cod_info.sfb_partition_table = qupvt.nr_of_sfb_block[table_number][row_in_table];\n for(partition = 0; partition < 4; partition++)cod_info.slen[partition] = log2tab[max_sfac[partition]];\n /* set scalefac_compress */ slen1 = cod_info.slen[0];\n slen2 = cod_info.slen[1];\n slen3 = cod_info.slen[2];\n slen4 = cod_info.slen[3];\n switch(table_number){\n case 0:\n cod_info.scalefac_compress = (slen1 * 5 + slen2 << 4) + (slen3 << 2) + slen4;\n break;\n case 1:\n cod_info.scalefac_compress = 400 + (slen1 * 5 + slen2 << 2) + slen3;\n break;\n case 2:\n cod_info.scalefac_compress = 500 + slen1 * 3 + slen2;\n break;\n default:\n $46fd82963609949b$var$System.err.printf(\"intensity stereo not implemented yet\\n\");\n break;\n }\n }\n if (!over) {\n $46fd82963609949b$var$assert(cod_info.sfb_partition_table != null);\n cod_info.part2_length = 0;\n for(partition = 0; partition < 4; partition++)cod_info.part2_length += cod_info.slen[partition] * cod_info.sfb_partition_table[partition];\n }\n return over;\n };\n /*\n * Since no bands have been over-amplified, we can set scalefac_compress and\n * slen[] for the formatter\n */ var log2tab = [\n 0,\n 1,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4\n ];\n this.huffman_init = function(gfc) {\n for(var i = 2; i <= 576; i += 2){\n var scfb_anz = 0, bv_index;\n while(gfc.scalefac_band.l[++scfb_anz] < i);\n bv_index = subdv_table[scfb_anz][0]; // .region0_count\n while(gfc.scalefac_band.l[bv_index + 1] > i)bv_index--;\n if (bv_index < 0) /*\n * this is an indication that everything is going to be encoded\n * as region0: bigvalues < region0 < region1 so lets set\n * region0, region1 to some value larger than bigvalues\n */ bv_index = subdv_table[scfb_anz][0]; // .region0_count\n gfc.bv_scf[i - 2] = bv_index;\n bv_index = subdv_table[scfb_anz][1]; // .region1_count\n while(gfc.scalefac_band.l[bv_index + gfc.bv_scf[i - 2] + 2] > i)bv_index--;\n if (bv_index < 0) bv_index = subdv_table[scfb_anz][1]; // .region1_count\n gfc.bv_scf[i - 1] = bv_index;\n }\n };\n}\nmodule.exports = $46fd82963609949b$var$Takehiro;\n\n});\nparcelRequire.register(\"dQDcS\", function(module, exports) {\nfunction $a14e8b54f947e3d4$var$HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\nvar $a14e8b54f947e3d4$var$Tables = {};\n$a14e8b54f947e3d4$var$Tables.t1HB = [\n 1,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t2HB = [\n 1,\n 2,\n 1,\n 3,\n 1,\n 1,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t3HB = [\n 3,\n 2,\n 1,\n 1,\n 1,\n 1,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t5HB = [\n 1,\n 2,\n 6,\n 5,\n 3,\n 1,\n 4,\n 4,\n 7,\n 5,\n 7,\n 1,\n 6,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t6HB = [\n 7,\n 3,\n 5,\n 1,\n 6,\n 2,\n 3,\n 2,\n 5,\n 4,\n 4,\n 1,\n 3,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t7HB = [\n 1,\n 2,\n 10,\n 19,\n 16,\n 10,\n 3,\n 3,\n 7,\n 10,\n 5,\n 3,\n 11,\n 4,\n 13,\n 17,\n 8,\n 4,\n 12,\n 11,\n 18,\n 15,\n 11,\n 2,\n 7,\n 6,\n 9,\n 14,\n 3,\n 1,\n 6,\n 4,\n 5,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t8HB = [\n 3,\n 4,\n 6,\n 18,\n 12,\n 5,\n 5,\n 1,\n 2,\n 16,\n 9,\n 3,\n 7,\n 3,\n 5,\n 14,\n 7,\n 3,\n 19,\n 17,\n 15,\n 13,\n 10,\n 4,\n 13,\n 5,\n 8,\n 11,\n 5,\n 1,\n 12,\n 4,\n 4,\n 1,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t9HB = [\n 7,\n 5,\n 9,\n 14,\n 15,\n 7,\n 6,\n 4,\n 5,\n 5,\n 6,\n 7,\n 7,\n 6,\n 8,\n 8,\n 8,\n 5,\n 15,\n 6,\n 9,\n 10,\n 5,\n 1,\n 11,\n 7,\n 9,\n 6,\n 4,\n 1,\n 14,\n 4,\n 6,\n 2,\n 6,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t10HB = [\n 1,\n 2,\n 10,\n 23,\n 35,\n 30,\n 12,\n 17,\n 3,\n 3,\n 8,\n 12,\n 18,\n 21,\n 12,\n 7,\n 11,\n 9,\n 15,\n 21,\n 32,\n 40,\n 19,\n 6,\n 14,\n 13,\n 22,\n 34,\n 46,\n 23,\n 18,\n 7,\n 20,\n 19,\n 33,\n 47,\n 27,\n 22,\n 9,\n 3,\n 31,\n 22,\n 41,\n 26,\n 21,\n 20,\n 5,\n 3,\n 14,\n 13,\n 10,\n 11,\n 16,\n 6,\n 5,\n 1,\n 9,\n 8,\n 7,\n 8,\n 4,\n 4,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t11HB = [\n 3,\n 4,\n 10,\n 24,\n 34,\n 33,\n 21,\n 15,\n 5,\n 3,\n 4,\n 10,\n 32,\n 17,\n 11,\n 10,\n 11,\n 7,\n 13,\n 18,\n 30,\n 31,\n 20,\n 5,\n 25,\n 11,\n 19,\n 59,\n 27,\n 18,\n 12,\n 5,\n 35,\n 33,\n 31,\n 58,\n 30,\n 16,\n 7,\n 5,\n 28,\n 26,\n 32,\n 19,\n 17,\n 15,\n 8,\n 14,\n 14,\n 12,\n 9,\n 13,\n 14,\n 9,\n 4,\n 1,\n 11,\n 4,\n 6,\n 6,\n 6,\n 3,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t12HB = [\n 9,\n 6,\n 16,\n 33,\n 41,\n 39,\n 38,\n 26,\n 7,\n 5,\n 6,\n 9,\n 23,\n 16,\n 26,\n 11,\n 17,\n 7,\n 11,\n 14,\n 21,\n 30,\n 10,\n 7,\n 17,\n 10,\n 15,\n 12,\n 18,\n 28,\n 14,\n 5,\n 32,\n 13,\n 22,\n 19,\n 18,\n 16,\n 9,\n 5,\n 40,\n 17,\n 31,\n 29,\n 17,\n 13,\n 4,\n 2,\n 27,\n 12,\n 11,\n 15,\n 10,\n 7,\n 4,\n 1,\n 27,\n 12,\n 8,\n 12,\n 6,\n 3,\n 1,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t13HB = [\n 1,\n 5,\n 14,\n 21,\n 34,\n 51,\n 46,\n 71,\n 42,\n 52,\n 68,\n 52,\n 67,\n 44,\n 43,\n 19,\n 3,\n 4,\n 12,\n 19,\n 31,\n 26,\n 44,\n 33,\n 31,\n 24,\n 32,\n 24,\n 31,\n 35,\n 22,\n 14,\n 15,\n 13,\n 23,\n 36,\n 59,\n 49,\n 77,\n 65,\n 29,\n 40,\n 30,\n 40,\n 27,\n 33,\n 42,\n 16,\n 22,\n 20,\n 37,\n 61,\n 56,\n 79,\n 73,\n 64,\n 43,\n 76,\n 56,\n 37,\n 26,\n 31,\n 25,\n 14,\n 35,\n 16,\n 60,\n 57,\n 97,\n 75,\n 114,\n 91,\n 54,\n 73,\n 55,\n 41,\n 48,\n 53,\n 23,\n 24,\n 58,\n 27,\n 50,\n 96,\n 76,\n 70,\n 93,\n 84,\n 77,\n 58,\n 79,\n 29,\n 74,\n 49,\n 41,\n 17,\n 47,\n 45,\n 78,\n 74,\n 115,\n 94,\n 90,\n 79,\n 69,\n 83,\n 71,\n 50,\n 59,\n 38,\n 36,\n 15,\n 72,\n 34,\n 56,\n 95,\n 92,\n 85,\n 91,\n 90,\n 86,\n 73,\n 77,\n 65,\n 51,\n 44,\n 43,\n 42,\n 43,\n 20,\n 30,\n 44,\n 55,\n 78,\n 72,\n 87,\n 78,\n 61,\n 46,\n 54,\n 37,\n 30,\n 20,\n 16,\n 53,\n 25,\n 41,\n 37,\n 44,\n 59,\n 54,\n 81,\n 66,\n 76,\n 57,\n 54,\n 37,\n 18,\n 39,\n 11,\n 35,\n 33,\n 31,\n 57,\n 42,\n 82,\n 72,\n 80,\n 47,\n 58,\n 55,\n 21,\n 22,\n 26,\n 38,\n 22,\n 53,\n 25,\n 23,\n 38,\n 70,\n 60,\n 51,\n 36,\n 55,\n 26,\n 34,\n 23,\n 27,\n 14,\n 9,\n 7,\n 34,\n 32,\n 28,\n 39,\n 49,\n 75,\n 30,\n 52,\n 48,\n 40,\n 52,\n 28,\n 18,\n 17,\n 9,\n 5,\n 45,\n 21,\n 34,\n 64,\n 56,\n 50,\n 49,\n 45,\n 31,\n 19,\n 12,\n 15,\n 10,\n 7,\n 6,\n 3,\n 48,\n 23,\n 20,\n 39,\n 36,\n 35,\n 53,\n 21,\n 16,\n 23,\n 13,\n 10,\n 6,\n 1,\n 4,\n 2,\n 16,\n 15,\n 17,\n 27,\n 25,\n 20,\n 29,\n 11,\n 17,\n 12,\n 16,\n 8,\n 1,\n 1,\n 0,\n 1\n];\n$a14e8b54f947e3d4$var$Tables.t15HB = [\n 7,\n 12,\n 18,\n 53,\n 47,\n 76,\n 124,\n 108,\n 89,\n 123,\n 108,\n 119,\n 107,\n 81,\n 122,\n 63,\n 13,\n 5,\n 16,\n 27,\n 46,\n 36,\n 61,\n 51,\n 42,\n 70,\n 52,\n 83,\n 65,\n 41,\n 59,\n 36,\n 19,\n 17,\n 15,\n 24,\n 41,\n 34,\n 59,\n 48,\n 40,\n 64,\n 50,\n 78,\n 62,\n 80,\n 56,\n 33,\n 29,\n 28,\n 25,\n 43,\n 39,\n 63,\n 55,\n 93,\n 76,\n 59,\n 93,\n 72,\n 54,\n 75,\n 50,\n 29,\n 52,\n 22,\n 42,\n 40,\n 67,\n 57,\n 95,\n 79,\n 72,\n 57,\n 89,\n 69,\n 49,\n 66,\n 46,\n 27,\n 77,\n 37,\n 35,\n 66,\n 58,\n 52,\n 91,\n 74,\n 62,\n 48,\n 79,\n 63,\n 90,\n 62,\n 40,\n 38,\n 125,\n 32,\n 60,\n 56,\n 50,\n 92,\n 78,\n 65,\n 55,\n 87,\n 71,\n 51,\n 73,\n 51,\n 70,\n 30,\n 109,\n 53,\n 49,\n 94,\n 88,\n 75,\n 66,\n 122,\n 91,\n 73,\n 56,\n 42,\n 64,\n 44,\n 21,\n 25,\n 90,\n 43,\n 41,\n 77,\n 73,\n 63,\n 56,\n 92,\n 77,\n 66,\n 47,\n 67,\n 48,\n 53,\n 36,\n 20,\n 71,\n 34,\n 67,\n 60,\n 58,\n 49,\n 88,\n 76,\n 67,\n 106,\n 71,\n 54,\n 38,\n 39,\n 23,\n 15,\n 109,\n 53,\n 51,\n 47,\n 90,\n 82,\n 58,\n 57,\n 48,\n 72,\n 57,\n 41,\n 23,\n 27,\n 62,\n 9,\n 86,\n 42,\n 40,\n 37,\n 70,\n 64,\n 52,\n 43,\n 70,\n 55,\n 42,\n 25,\n 29,\n 18,\n 11,\n 11,\n 118,\n 68,\n 30,\n 55,\n 50,\n 46,\n 74,\n 65,\n 49,\n 39,\n 24,\n 16,\n 22,\n 13,\n 14,\n 7,\n 91,\n 44,\n 39,\n 38,\n 34,\n 63,\n 52,\n 45,\n 31,\n 52,\n 28,\n 19,\n 14,\n 8,\n 9,\n 3,\n 123,\n 60,\n 58,\n 53,\n 47,\n 43,\n 32,\n 22,\n 37,\n 24,\n 17,\n 12,\n 15,\n 10,\n 2,\n 1,\n 71,\n 37,\n 34,\n 30,\n 28,\n 20,\n 17,\n 26,\n 21,\n 16,\n 10,\n 6,\n 8,\n 6,\n 2,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t16HB = [\n 1,\n 5,\n 14,\n 44,\n 74,\n 63,\n 110,\n 93,\n 172,\n 149,\n 138,\n 242,\n 225,\n 195,\n 376,\n 17,\n 3,\n 4,\n 12,\n 20,\n 35,\n 62,\n 53,\n 47,\n 83,\n 75,\n 68,\n 119,\n 201,\n 107,\n 207,\n 9,\n 15,\n 13,\n 23,\n 38,\n 67,\n 58,\n 103,\n 90,\n 161,\n 72,\n 127,\n 117,\n 110,\n 209,\n 206,\n 16,\n 45,\n 21,\n 39,\n 69,\n 64,\n 114,\n 99,\n 87,\n 158,\n 140,\n 252,\n 212,\n 199,\n 387,\n 365,\n 26,\n 75,\n 36,\n 68,\n 65,\n 115,\n 101,\n 179,\n 164,\n 155,\n 264,\n 246,\n 226,\n 395,\n 382,\n 362,\n 9,\n 66,\n 30,\n 59,\n 56,\n 102,\n 185,\n 173,\n 265,\n 142,\n 253,\n 232,\n 400,\n 388,\n 378,\n 445,\n 16,\n 111,\n 54,\n 52,\n 100,\n 184,\n 178,\n 160,\n 133,\n 257,\n 244,\n 228,\n 217,\n 385,\n 366,\n 715,\n 10,\n 98,\n 48,\n 91,\n 88,\n 165,\n 157,\n 148,\n 261,\n 248,\n 407,\n 397,\n 372,\n 380,\n 889,\n 884,\n 8,\n 85,\n 84,\n 81,\n 159,\n 156,\n 143,\n 260,\n 249,\n 427,\n 401,\n 392,\n 383,\n 727,\n 713,\n 708,\n 7,\n 154,\n 76,\n 73,\n 141,\n 131,\n 256,\n 245,\n 426,\n 406,\n 394,\n 384,\n 735,\n 359,\n 710,\n 352,\n 11,\n 139,\n 129,\n 67,\n 125,\n 247,\n 233,\n 229,\n 219,\n 393,\n 743,\n 737,\n 720,\n 885,\n 882,\n 439,\n 4,\n 243,\n 120,\n 118,\n 115,\n 227,\n 223,\n 396,\n 746,\n 742,\n 736,\n 721,\n 712,\n 706,\n 223,\n 436,\n 6,\n 202,\n 224,\n 222,\n 218,\n 216,\n 389,\n 386,\n 381,\n 364,\n 888,\n 443,\n 707,\n 440,\n 437,\n 1728,\n 4,\n 747,\n 211,\n 210,\n 208,\n 370,\n 379,\n 734,\n 723,\n 714,\n 1735,\n 883,\n 877,\n 876,\n 3459,\n 865,\n 2,\n 377,\n 369,\n 102,\n 187,\n 726,\n 722,\n 358,\n 711,\n 709,\n 866,\n 1734,\n 871,\n 3458,\n 870,\n 434,\n 0,\n 12,\n 10,\n 7,\n 11,\n 10,\n 17,\n 11,\n 9,\n 13,\n 12,\n 10,\n 7,\n 5,\n 3,\n 1,\n 3\n];\n$a14e8b54f947e3d4$var$Tables.t24HB = [\n 15,\n 13,\n 46,\n 80,\n 146,\n 262,\n 248,\n 434,\n 426,\n 669,\n 653,\n 649,\n 621,\n 517,\n 1032,\n 88,\n 14,\n 12,\n 21,\n 38,\n 71,\n 130,\n 122,\n 216,\n 209,\n 198,\n 327,\n 345,\n 319,\n 297,\n 279,\n 42,\n 47,\n 22,\n 41,\n 74,\n 68,\n 128,\n 120,\n 221,\n 207,\n 194,\n 182,\n 340,\n 315,\n 295,\n 541,\n 18,\n 81,\n 39,\n 75,\n 70,\n 134,\n 125,\n 116,\n 220,\n 204,\n 190,\n 178,\n 325,\n 311,\n 293,\n 271,\n 16,\n 147,\n 72,\n 69,\n 135,\n 127,\n 118,\n 112,\n 210,\n 200,\n 188,\n 352,\n 323,\n 306,\n 285,\n 540,\n 14,\n 263,\n 66,\n 129,\n 126,\n 119,\n 114,\n 214,\n 202,\n 192,\n 180,\n 341,\n 317,\n 301,\n 281,\n 262,\n 12,\n 249,\n 123,\n 121,\n 117,\n 113,\n 215,\n 206,\n 195,\n 185,\n 347,\n 330,\n 308,\n 291,\n 272,\n 520,\n 10,\n 435,\n 115,\n 111,\n 109,\n 211,\n 203,\n 196,\n 187,\n 353,\n 332,\n 313,\n 298,\n 283,\n 531,\n 381,\n 17,\n 427,\n 212,\n 208,\n 205,\n 201,\n 193,\n 186,\n 177,\n 169,\n 320,\n 303,\n 286,\n 268,\n 514,\n 377,\n 16,\n 335,\n 199,\n 197,\n 191,\n 189,\n 181,\n 174,\n 333,\n 321,\n 305,\n 289,\n 275,\n 521,\n 379,\n 371,\n 11,\n 668,\n 184,\n 183,\n 179,\n 175,\n 344,\n 331,\n 314,\n 304,\n 290,\n 277,\n 530,\n 383,\n 373,\n 366,\n 10,\n 652,\n 346,\n 171,\n 168,\n 164,\n 318,\n 309,\n 299,\n 287,\n 276,\n 263,\n 513,\n 375,\n 368,\n 362,\n 6,\n 648,\n 322,\n 316,\n 312,\n 307,\n 302,\n 292,\n 284,\n 269,\n 261,\n 512,\n 376,\n 370,\n 364,\n 359,\n 4,\n 620,\n 300,\n 296,\n 294,\n 288,\n 282,\n 273,\n 266,\n 515,\n 380,\n 374,\n 369,\n 365,\n 361,\n 357,\n 2,\n 1033,\n 280,\n 278,\n 274,\n 267,\n 264,\n 259,\n 382,\n 378,\n 372,\n 367,\n 363,\n 360,\n 358,\n 356,\n 0,\n 43,\n 20,\n 19,\n 17,\n 15,\n 13,\n 11,\n 9,\n 7,\n 6,\n 4,\n 7,\n 5,\n 3,\n 1,\n 3\n];\n$a14e8b54f947e3d4$var$Tables.t32HB = [\n 1,\n 10,\n 8,\n 20,\n 12,\n 20,\n 16,\n 32,\n 14,\n 12,\n 24,\n 0,\n 28,\n 16,\n 24,\n 16\n];\n$a14e8b54f947e3d4$var$Tables.t33HB = [\n 15,\n 28,\n 26,\n 48,\n 22,\n 40,\n 36,\n 64,\n 14,\n 24,\n 20,\n 32,\n 12,\n 16,\n 8,\n 0\n];\n$a14e8b54f947e3d4$var$Tables.t1l = [\n 1,\n 4,\n 3,\n 5\n];\n$a14e8b54f947e3d4$var$Tables.t2l = [\n 1,\n 4,\n 7,\n 4,\n 5,\n 7,\n 6,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.t3l = [\n 2,\n 3,\n 7,\n 4,\n 4,\n 7,\n 6,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.t5l = [\n 1,\n 4,\n 7,\n 8,\n 4,\n 5,\n 8,\n 9,\n 7,\n 8,\n 9,\n 10,\n 8,\n 8,\n 9,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t6l = [\n 3,\n 4,\n 6,\n 8,\n 4,\n 4,\n 6,\n 7,\n 5,\n 6,\n 7,\n 8,\n 7,\n 7,\n 8,\n 9\n];\n$a14e8b54f947e3d4$var$Tables.t7l = [\n 1,\n 4,\n 7,\n 9,\n 9,\n 10,\n 4,\n 6,\n 8,\n 9,\n 9,\n 10,\n 7,\n 7,\n 9,\n 10,\n 10,\n 11,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t8l = [\n 2,\n 4,\n 7,\n 9,\n 9,\n 10,\n 4,\n 4,\n 6,\n 10,\n 10,\n 10,\n 7,\n 6,\n 8,\n 10,\n 10,\n 11,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 10,\n 10,\n 11,\n 11,\n 13,\n 13\n];\n$a14e8b54f947e3d4$var$Tables.t9l = [\n 3,\n 4,\n 6,\n 7,\n 9,\n 10,\n 4,\n 5,\n 6,\n 7,\n 8,\n 10,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 8,\n 8,\n 9,\n 9,\n 10,\n 11,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11\n];\n$a14e8b54f947e3d4$var$Tables.t10l = [\n 1,\n 4,\n 7,\n 9,\n 10,\n 10,\n 10,\n 11,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 10,\n 10,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 11,\n 11,\n 8,\n 9,\n 10,\n 11,\n 12,\n 12,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 12,\n 13,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13\n];\n$a14e8b54f947e3d4$var$Tables.t11l = [\n 2,\n 4,\n 6,\n 8,\n 9,\n 10,\n 9,\n 10,\n 4,\n 5,\n 6,\n 8,\n 10,\n 10,\n 9,\n 10,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 10,\n 10,\n 8,\n 8,\n 9,\n 11,\n 10,\n 12,\n 10,\n 11,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 11,\n 12,\n 9,\n 10,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 9,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 9,\n 9,\n 10,\n 11,\n 12,\n 12,\n 12,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t12l = [\n 4,\n 4,\n 6,\n 8,\n 9,\n 10,\n 10,\n 10,\n 4,\n 5,\n 6,\n 7,\n 9,\n 9,\n 10,\n 10,\n 6,\n 6,\n 7,\n 8,\n 9,\n 10,\n 9,\n 10,\n 7,\n 7,\n 8,\n 8,\n 9,\n 10,\n 10,\n 10,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 10,\n 11,\n 9,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t13l = [\n 1,\n 5,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 4,\n 6,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 14,\n 14,\n 14,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 15,\n 15,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 15,\n 15,\n 9,\n 9,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 16,\n 10,\n 10,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 13,\n 15,\n 15,\n 16,\n 16,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 18,\n 18,\n 10,\n 10,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 17,\n 17,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 15,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 11,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 14,\n 15,\n 16,\n 15,\n 16,\n 17,\n 18,\n 19,\n 12,\n 12,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 17,\n 17,\n 17,\n 18,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 14,\n 15,\n 16,\n 16,\n 17,\n 17,\n 17,\n 18,\n 18,\n 18,\n 13,\n 13,\n 14,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 17,\n 18,\n 17,\n 18,\n 18,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 19,\n 17,\n 17,\n 17,\n 19,\n 18,\n 18,\n 13,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 16,\n 17,\n 17,\n 18,\n 18,\n 21,\n 20,\n 21,\n 18\n];\n$a14e8b54f947e3d4$var$Tables.t15l = [\n 3,\n 5,\n 6,\n 8,\n 8,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 5,\n 5,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 6,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 7,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 15,\n 14,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 12,\n 12,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 14,\n 15,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15\n];\n$a14e8b54f947e3d4$var$Tables.t16_5l = [\n 1,\n 5,\n 7,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 11,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 13,\n 14,\n 11,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 12,\n 9,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 13,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 12,\n 10,\n 10,\n 11,\n 11,\n 12,\n 13,\n 13,\n 14,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 13,\n 11,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 13,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 17,\n 13,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 13,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 15,\n 16,\n 15,\n 14,\n 12,\n 13,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 17,\n 16,\n 13,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 15,\n 16,\n 14,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 16,\n 16,\n 18,\n 14,\n 15,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 17,\n 17,\n 19,\n 17,\n 14,\n 14,\n 15,\n 13,\n 14,\n 16,\n 16,\n 15,\n 16,\n 16,\n 17,\n 18,\n 17,\n 19,\n 17,\n 16,\n 14,\n 11,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 14,\n 14,\n 14,\n 12\n];\n$a14e8b54f947e3d4$var$Tables.t16l = [\n 1,\n 5,\n 7,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 10,\n 4,\n 6,\n 8,\n 9,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 14,\n 13,\n 14,\n 10,\n 7,\n 8,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 11,\n 9,\n 9,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 12,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 11,\n 10,\n 10,\n 11,\n 11,\n 12,\n 13,\n 13,\n 14,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 16,\n 12,\n 11,\n 11,\n 11,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 12,\n 11,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 17,\n 12,\n 11,\n 12,\n 12,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 16,\n 16,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 16,\n 15,\n 16,\n 15,\n 13,\n 12,\n 13,\n 12,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 17,\n 17,\n 16,\n 12,\n 13,\n 13,\n 13,\n 13,\n 14,\n 14,\n 15,\n 16,\n 16,\n 16,\n 16,\n 16,\n 16,\n 15,\n 16,\n 13,\n 13,\n 14,\n 14,\n 14,\n 14,\n 15,\n 15,\n 15,\n 15,\n 17,\n 16,\n 16,\n 16,\n 16,\n 18,\n 13,\n 15,\n 14,\n 14,\n 14,\n 15,\n 15,\n 16,\n 16,\n 16,\n 18,\n 17,\n 17,\n 17,\n 19,\n 17,\n 13,\n 14,\n 15,\n 13,\n 14,\n 16,\n 16,\n 15,\n 16,\n 16,\n 17,\n 18,\n 17,\n 19,\n 17,\n 16,\n 13,\n 10,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t24l = [\n 4,\n 5,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 10,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 10,\n 7,\n 7,\n 8,\n 9,\n 9,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 13,\n 9,\n 8,\n 8,\n 9,\n 9,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 9,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 9,\n 10,\n 9,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 9,\n 10,\n 10,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 9,\n 11,\n 10,\n 10,\n 10,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 10,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 10,\n 12,\n 11,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 11,\n 11,\n 11,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 13,\n 12,\n 12,\n 12,\n 12,\n 12,\n 12,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 13,\n 10,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 9,\n 10,\n 10,\n 10,\n 10,\n 6\n];\n$a14e8b54f947e3d4$var$Tables.t32l = [\n 1,\n 5,\n 5,\n 7,\n 5,\n 8,\n 7,\n 9,\n 5,\n 7,\n 7,\n 9,\n 7,\n 9,\n 9,\n 10\n];\n$a14e8b54f947e3d4$var$Tables.t33l = [\n 4,\n 5,\n 5,\n 6,\n 5,\n 6,\n 6,\n 7,\n 5,\n 6,\n 6,\n 7,\n 6,\n 7,\n 7,\n 8\n];\n$a14e8b54f947e3d4$var$Tables.ht = [\n /* xlen, linmax, table, hlen */ new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, null),\n new $a14e8b54f947e3d4$var$HuffCodeTab(2, 0, $a14e8b54f947e3d4$var$Tables.t1HB, $a14e8b54f947e3d4$var$Tables.t1l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 0, $a14e8b54f947e3d4$var$Tables.t2HB, $a14e8b54f947e3d4$var$Tables.t2l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 0, $a14e8b54f947e3d4$var$Tables.t3HB, $a14e8b54f947e3d4$var$Tables.t3l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, null),\n /* Apparently not used */ new $a14e8b54f947e3d4$var$HuffCodeTab(4, 0, $a14e8b54f947e3d4$var$Tables.t5HB, $a14e8b54f947e3d4$var$Tables.t5l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 0, $a14e8b54f947e3d4$var$Tables.t6HB, $a14e8b54f947e3d4$var$Tables.t6l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t7HB, $a14e8b54f947e3d4$var$Tables.t7l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t8HB, $a14e8b54f947e3d4$var$Tables.t8l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 0, $a14e8b54f947e3d4$var$Tables.t9HB, $a14e8b54f947e3d4$var$Tables.t9l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t10HB, $a14e8b54f947e3d4$var$Tables.t10l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t11HB, $a14e8b54f947e3d4$var$Tables.t11l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 0, $a14e8b54f947e3d4$var$Tables.t12HB, $a14e8b54f947e3d4$var$Tables.t12l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(16, 0, $a14e8b54f947e3d4$var$Tables.t13HB, $a14e8b54f947e3d4$var$Tables.t13l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, null, $a14e8b54f947e3d4$var$Tables.t16_5l),\n /* Apparently not used */ new $a14e8b54f947e3d4$var$HuffCodeTab(16, 0, $a14e8b54f947e3d4$var$Tables.t15HB, $a14e8b54f947e3d4$var$Tables.t15l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(1, 1, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(2, 3, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(3, 7, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 15, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 63, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 255, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(10, 1023, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(13, 8191, $a14e8b54f947e3d4$var$Tables.t16HB, $a14e8b54f947e3d4$var$Tables.t16l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(4, 15, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(5, 31, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(6, 63, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(7, 127, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(8, 255, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(9, 511, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(11, 2047, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(13, 8191, $a14e8b54f947e3d4$var$Tables.t24HB, $a14e8b54f947e3d4$var$Tables.t24l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, $a14e8b54f947e3d4$var$Tables.t32HB, $a14e8b54f947e3d4$var$Tables.t32l),\n new $a14e8b54f947e3d4$var$HuffCodeTab(0, 0, $a14e8b54f947e3d4$var$Tables.t33HB, $a14e8b54f947e3d4$var$Tables.t33l)\n];\n/**\n * <CODE>\n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.largetbl = [\n 0x010004,\n 0x050005,\n 0x070007,\n 0x090008,\n 0x0a0009,\n 0x0a000a,\n 0x0b000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000c,\n 0x0c000c,\n 0x0d000c,\n 0x0d000c,\n 0x0d000c,\n 0x0e000d,\n 0x0a000a,\n 0x040005,\n 0x060006,\n 0x080007,\n 0x090008,\n 0x0a0009,\n 0x0b000a,\n 0x0b000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000b,\n 0x0c000c,\n 0x0d000c,\n 0x0e000c,\n 0x0d000c,\n 0x0e000c,\n 0x0a000a,\n 0x070007,\n 0x080007,\n 0x090008,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000b,\n 0x0d000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000c,\n 0x0d000c,\n 0x0e000c,\n 0x0e000d,\n 0x0b0009,\n 0x090008,\n 0x090008,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0c0009,\n 0x0a0009,\n 0x0a0009,\n 0x0b0009,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000d,\n 0x0b0009,\n 0x0a000a,\n 0x0a0009,\n 0x0b000a,\n 0x0b000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0e000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x0c0009,\n 0x0b000a,\n 0x0b000a,\n 0x0b000a,\n 0x0c000a,\n 0x0d000a,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000d,\n 0x0c0009,\n 0x0b000b,\n 0x0b000a,\n 0x0c000a,\n 0x0c000a,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x11000d,\n 0x11000d,\n 0x0c000a,\n 0x0b000b,\n 0x0c000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000b,\n 0x0f000b,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x10000d,\n 0x10000d,\n 0x0c000a,\n 0x0c000b,\n 0x0c000b,\n 0x0c000b,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000b,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x0f000d,\n 0x10000d,\n 0x0f000d,\n 0x0d000a,\n 0x0c000c,\n 0x0d000b,\n 0x0c000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x11000d,\n 0x11000d,\n 0x10000d,\n 0x0c000a,\n 0x0d000c,\n 0x0d000c,\n 0x0d000b,\n 0x0d000b,\n 0x0e000b,\n 0x0e000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x10000d,\n 0x0f000d,\n 0x10000d,\n 0x0d000a,\n 0x0d000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x0f000c,\n 0x11000c,\n 0x10000d,\n 0x10000d,\n 0x10000d,\n 0x10000d,\n 0x12000d,\n 0x0d000a,\n 0x0f000c,\n 0x0e000c,\n 0x0e000c,\n 0x0e000c,\n 0x0f000c,\n 0x0f000c,\n 0x10000c,\n 0x10000c,\n 0x10000d,\n 0x12000d,\n 0x11000d,\n 0x11000d,\n 0x11000d,\n 0x13000d,\n 0x11000d,\n 0x0d000a,\n 0x0e000d,\n 0x0f000c,\n 0x0d000c,\n 0x0e000c,\n 0x10000c,\n 0x10000c,\n 0x0f000c,\n 0x10000d,\n 0x10000d,\n 0x11000d,\n 0x12000d,\n 0x11000d,\n 0x13000d,\n 0x11000d,\n 0x10000d,\n 0x0d000a,\n 0x0a0009,\n 0x0a0009,\n 0x0a0009,\n 0x0b0009,\n 0x0b0009,\n 0x0c0009,\n 0x0c0009,\n 0x0c0009,\n 0x0d0009,\n 0x0d0009,\n 0x0d0009,\n 0x0d000a,\n 0x0d000a,\n 0x0d000a,\n 0x0d000a,\n 0x0a0006\n];\n/**\n * <CODE>\n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.table23 = [\n 0x010002,\n 0x040003,\n 0x070007,\n 0x040004,\n 0x050004,\n 0x070007,\n 0x060006,\n 0x070007,\n 0x080008\n];\n/**\n * <CODE>\n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * </CODE>\n *\n */ $a14e8b54f947e3d4$var$Tables.table56 = [\n 0x010003,\n 0x040004,\n 0x070006,\n 0x080008,\n 0x040004,\n 0x050004,\n 0x080006,\n 0x090007,\n 0x070005,\n 0x080006,\n 0x090007,\n 0x0a0008,\n 0x080007,\n 0x080007,\n 0x090008,\n 0x0a0009\n];\n$a14e8b54f947e3d4$var$Tables.bitrate_table = [\n [\n 0,\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 144,\n 160,\n -1\n ],\n /* MPEG 2 */ [\n 0,\n 32,\n 40,\n 48,\n 56,\n 64,\n 80,\n 96,\n 112,\n 128,\n 160,\n 192,\n 224,\n 256,\n 320,\n -1\n ],\n /* MPEG 1 */ [\n 0,\n 8,\n 16,\n 24,\n 32,\n 40,\n 48,\n 56,\n 64,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ]\n];\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */ $a14e8b54f947e3d4$var$Tables.samplerate_table = [\n [\n 22050,\n 24000,\n 16000,\n -1\n ],\n [\n 44100,\n 48000,\n 32000,\n -1\n ],\n [\n 11025,\n 12000,\n 8000,\n -1\n ]\n];\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */ $a14e8b54f947e3d4$var$Tables.scfsi_band = [\n 0,\n 6,\n 11,\n 16,\n 21\n];\nmodule.exports = $a14e8b54f947e3d4$var$Tables;\n\n});\n\nparcelRequire.register(\"84mea\", function(module, exports) {\n/*\n * quantize_pvt source file\n *\n * Copyright (c) 1999-2002 Takehiro Tominaga\n * Copyright (c) 2000-2002 Robert Hegemann\n * Copyright (c) 2001 Naoki Shibata\n * Copyright (c) 2002-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: QuantizePVT.java,v 1.24 2011/05/24 20:48:06 kenchis Exp $ */ \nvar $7imnH = parcelRequire(\"7imnH\");\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $5dfff05939c3cc74$var$System = $3YDN3.System;\nvar $5dfff05939c3cc74$var$VbrMode = $3YDN3.VbrMode;\nvar $5dfff05939c3cc74$var$Float = $3YDN3.Float;\nvar $5dfff05939c3cc74$var$ShortBlock = $3YDN3.ShortBlock;\nvar $5dfff05939c3cc74$var$Util = $3YDN3.Util;\nvar $5dfff05939c3cc74$var$Arrays = $3YDN3.Arrays;\nvar $5dfff05939c3cc74$var$new_array_n = $3YDN3.new_array_n;\nvar $5dfff05939c3cc74$var$new_byte = $3YDN3.new_byte;\nvar $5dfff05939c3cc74$var$new_double = $3YDN3.new_double;\nvar $5dfff05939c3cc74$var$new_float = $3YDN3.new_float;\nvar $5dfff05939c3cc74$var$new_float_n = $3YDN3.new_float_n;\nvar $5dfff05939c3cc74$var$new_int = $3YDN3.new_int;\nvar $5dfff05939c3cc74$var$new_int_n = $3YDN3.new_int_n;\nvar $5dfff05939c3cc74$var$assert = $3YDN3.assert;\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $lL4Le = parcelRequire(\"lL4Le\");\n\nvar $4SDnr = parcelRequire(\"4SDnr\");\n$5dfff05939c3cc74$var$QuantizePVT.Q_MAX = 257;\n$5dfff05939c3cc74$var$QuantizePVT.Q_MAX2 = 116;\n$5dfff05939c3cc74$var$QuantizePVT.LARGE_BITS = 100000;\n$5dfff05939c3cc74$var$QuantizePVT.IXMAX_VAL = 8206;\n\nfunction $5dfff05939c3cc74$var$QuantizePVT() {\n var BitStream = (parcelRequire(\"ctaQC\"));\n var tak = null;\n var rv = null;\n var psy = null;\n this.setModules = function(_tk, _rv, _psy) {\n tak = _tk;\n rv = _rv;\n psy = _psy;\n };\n function POW20(x) {\n $5dfff05939c3cc74$var$assert(0 <= x + $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2 && x < $5dfff05939c3cc74$var$QuantizePVT.Q_MAX);\n return pow20[x + $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2];\n }\n this.IPOW20 = function(x) {\n $5dfff05939c3cc74$var$assert(0 <= x && x < $5dfff05939c3cc74$var$QuantizePVT.Q_MAX);\n return ipow20[x];\n };\n /**\n * smallest such that 1.0+DBL_EPSILON != 1.0\n */ var DBL_EPSILON = 2.2204460492503131e-016;\n /**\n * ix always <= 8191+15. see count_bits()\n */ var IXMAX_VAL = $5dfff05939c3cc74$var$QuantizePVT.IXMAX_VAL;\n var PRECALC_SIZE = IXMAX_VAL + 2;\n var Q_MAX = $5dfff05939c3cc74$var$QuantizePVT.Q_MAX;\n /**\n * <CODE>\n * minimum possible number of\n * -cod_info.global_gain + ((scalefac[] + (cod_info.preflag ? pretab[sfb] : 0))\n * << (cod_info.scalefac_scale + 1)) + cod_info.subblock_gain[cod_info.window[sfb]] * 8;\n *\n * for long block, 0+((15+3)<<2) = 18*4 = 72\n * for short block, 0+(15<<2)+7*8 = 15*4+56 = 116\n * </CODE>\n */ var Q_MAX2 = $5dfff05939c3cc74$var$QuantizePVT.Q_MAX2;\n var LARGE_BITS = $5dfff05939c3cc74$var$QuantizePVT.LARGE_BITS;\n /**\n * Assuming dynamic range=96dB, this value should be 92\n */ var NSATHSCALE = 100;\n /**\n * The following table is used to implement the scalefactor partitioning for\n * MPEG2 as described in section 2.4.3.2 of the IS. The indexing corresponds\n * to the way the tables are presented in the IS:\n *\n * [table_number][row_in_table][column of nr_of_sfb]\n */ this.nr_of_sfb_block = [\n [\n [\n 6,\n 5,\n 5,\n 5\n ],\n [\n 9,\n 9,\n 9,\n 9\n ],\n [\n 6,\n 9,\n 9,\n 9\n ]\n ],\n [\n [\n 6,\n 5,\n 7,\n 3\n ],\n [\n 9,\n 9,\n 12,\n 6\n ],\n [\n 6,\n 9,\n 12,\n 6\n ]\n ],\n [\n [\n 11,\n 10,\n 0,\n 0\n ],\n [\n 18,\n 18,\n 0,\n 0\n ],\n [\n 15,\n 18,\n 0,\n 0\n ]\n ],\n [\n [\n 7,\n 7,\n 7,\n 0\n ],\n [\n 12,\n 12,\n 12,\n 0\n ],\n [\n 6,\n 15,\n 12,\n 0\n ]\n ],\n [\n [\n 6,\n 6,\n 6,\n 3\n ],\n [\n 12,\n 9,\n 9,\n 6\n ],\n [\n 6,\n 12,\n 9,\n 6\n ]\n ],\n [\n [\n 8,\n 8,\n 5,\n 0\n ],\n [\n 15,\n 12,\n 9,\n 0\n ],\n [\n 6,\n 18,\n 9,\n 0\n ]\n ]\n ];\n /**\n * Table B.6: layer3 preemphasis\n */ var pretab = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 2,\n 2,\n 3,\n 3,\n 3,\n 2,\n 0\n ];\n this.pretab = pretab;\n /**\n * Here are MPEG1 Table B.8 and MPEG2 Table B.1 -- Layer III scalefactor\n * bands. <BR>\n * Index into this using a method such as:<BR>\n * idx = fr_ps.header.sampling_frequency + (fr_ps.header.version * 3)\n */ this.sfBandIndex = [\n // Table B.2.b: 22.05 kHz\n new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 24,\n 32,\n 42,\n 56,\n 74,\n 100,\n 132,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ] // sfb21 pseudo sub bands\n , [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ] // sfb12 pseudo sub bands\n ),\n /* Table B.2.c: 24 kHz */ /* docs: 332. mpg123(broken): 330 */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 114,\n 136,\n 162,\n 194,\n 232,\n 278,\n 332,\n 394,\n 464,\n 540,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 136,\n 180,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.2.a: 16 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.b: 44.1 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 44,\n 52,\n 62,\n 74,\n 90,\n 110,\n 134,\n 162,\n 196,\n 238,\n 288,\n 342,\n 418,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 30,\n 40,\n 52,\n 66,\n 84,\n 106,\n 136,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.c: 48 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 42,\n 50,\n 60,\n 72,\n 88,\n 106,\n 128,\n 156,\n 190,\n 230,\n 276,\n 330,\n 384,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 28,\n 38,\n 50,\n 64,\n 80,\n 100,\n 126,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* Table B.8.a: 32 kHz */ new $7imnH([\n 0,\n 4,\n 8,\n 12,\n 16,\n 20,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 82,\n 102,\n 126,\n 156,\n 194,\n 240,\n 296,\n 364,\n 448,\n 550,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 16,\n 22,\n 30,\n 42,\n 58,\n 78,\n 104,\n 138,\n 180,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 11.025 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 12 kHz */ new $7imnH([\n 0,\n 6,\n 12,\n 18,\n 24,\n 30,\n 36,\n 44,\n 54,\n 66,\n 80,\n 96,\n 116,\n 140,\n 168,\n 200,\n 238,\n 284,\n 336,\n 396,\n 464,\n 522,\n 576\n ], [\n 0,\n 4,\n 8,\n 12,\n 18,\n 26,\n 36,\n 48,\n 62,\n 80,\n 104,\n 134,\n 174,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]),\n /* MPEG-2.5 8 kHz */ new $7imnH([\n 0,\n 12,\n 24,\n 36,\n 48,\n 60,\n 72,\n 88,\n 108,\n 132,\n 160,\n 192,\n 232,\n 280,\n 336,\n 400,\n 476,\n 566,\n 568,\n 570,\n 572,\n 574,\n 576\n ], [\n 0,\n 8,\n 16,\n 24,\n 36,\n 52,\n 72,\n 96,\n 124,\n 160,\n 162,\n 164,\n 166,\n 192\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ], [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ])\n ];\n var pow20 = $5dfff05939c3cc74$var$new_float(Q_MAX + Q_MAX2 + 1);\n var ipow20 = $5dfff05939c3cc74$var$new_float(Q_MAX);\n var pow43 = $5dfff05939c3cc74$var$new_float(PRECALC_SIZE);\n var adj43 = $5dfff05939c3cc74$var$new_float(PRECALC_SIZE);\n this.adj43 = adj43;\n /**\n * <PRE>\n * compute the ATH for each scalefactor band cd range: 0..96db\n *\n * Input: 3.3kHz signal 32767 amplitude (3.3kHz is where ATH is smallest =\n * -5db) longblocks: sfb=12 en0/bw=-11db max_en0 = 1.3db shortblocks: sfb=5\n * -9db 0db\n *\n * Input: 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 (repeated) longblocks: amp=1\n * sfb=12 en0/bw=-103 db max_en0 = -92db amp=32767 sfb=12 -12 db -1.4db\n *\n * Input: 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 (repeated) shortblocks: amp=1\n * sfb=5 en0/bw= -99 -86 amp=32767 sfb=5 -9 db 4db\n *\n *\n * MAX energy of largest wave at 3.3kHz = 1db AVE energy of largest wave at\n * 3.3kHz = -11db Let's take AVE: -11db = maximum signal in sfb=12. Dynamic\n * range of CD: 96db. Therefor energy of smallest audible wave in sfb=12 =\n * -11 - 96 = -107db = ATH at 3.3kHz.\n *\n * ATH formula for this wave: -5db. To adjust to LAME scaling, we need ATH =\n * ATH_formula - 103 (db) ATH = ATH * 2.5e-10 (ener)\n * </PRE>\n */ function ATHmdct(gfp, f) {\n var ath = psy.ATHformula(f, gfp);\n ath -= NSATHSCALE;\n /* modify the MDCT scaling for the ATH and convert to energy */ ath = Math.pow(10.0, ath / 10.0 + gfp.ATHlower);\n return ath;\n }\n function compute_ath(gfp) {\n var ATH_l = gfp.internal_flags.ATH.l;\n var ATH_psfb21 = gfp.internal_flags.ATH.psfb21;\n var ATH_s = gfp.internal_flags.ATH.s;\n var ATH_psfb12 = gfp.internal_flags.ATH.psfb12;\n var gfc = gfp.internal_flags;\n var samp_freq = gfp.out_samplerate;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++){\n var start = gfc.scalefac_band.l[sfb];\n var end = gfc.scalefac_band.l[sfb + 1];\n ATH_l[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 1152;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_l[sfb] = Math.min(ATH_l[sfb], ATH_f);\n }\n }\n for(var sfb = 0; sfb < $cPNKB.PSFB21; sfb++){\n var start = gfc.scalefac_band.psfb21[sfb];\n var end = gfc.scalefac_band.psfb21[sfb + 1];\n ATH_psfb21[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 1152;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_psfb21[sfb] = Math.min(ATH_psfb21[sfb], ATH_f);\n }\n }\n for(var sfb = 0; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n ATH_s[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 384;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_s[sfb] = Math.min(ATH_s[sfb], ATH_f);\n }\n ATH_s[sfb] *= gfc.scalefac_band.s[sfb + 1] - gfc.scalefac_band.s[sfb];\n }\n for(var sfb = 0; sfb < $cPNKB.PSFB12; sfb++){\n var start = gfc.scalefac_band.psfb12[sfb];\n var end = gfc.scalefac_band.psfb12[sfb + 1];\n ATH_psfb12[sfb] = $5dfff05939c3cc74$var$Float.MAX_VALUE;\n for(var i = start; i < end; i++){\n var freq = i * samp_freq / 384;\n var ATH_f = ATHmdct(gfp, freq);\n /* freq in kHz */ ATH_psfb12[sfb] = Math.min(ATH_psfb12[sfb], ATH_f);\n }\n /* not sure about the following */ ATH_psfb12[sfb] *= gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12];\n }\n /*\n * no-ATH mode: reduce ATH to -200 dB\n */ if (gfp.noATH) {\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++)ATH_l[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.PSFB21; sfb++)ATH_psfb21[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_s; sfb++)ATH_s[sfb] = 1E-20;\n for(var sfb = 0; sfb < $cPNKB.PSFB12; sfb++)ATH_psfb12[sfb] = 1E-20;\n }\n /*\n * work in progress, don't rely on it too much\n */ gfc.ATH.floor = 10. * Math.log10(ATHmdct(gfp, -1));\n }\n /**\n * initialization for iteration_loop\n */ this.iteration_init = function(gfp) {\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n var i;\n if (gfc.iteration_init_init == 0) {\n gfc.iteration_init_init = 1;\n l3_side.main_data_begin = 0;\n compute_ath(gfp);\n pow43[0] = 0.0;\n for(i = 1; i < PRECALC_SIZE; i++)pow43[i] = Math.pow(i, 4.0 / 3.0);\n for(i = 0; i < PRECALC_SIZE - 1; i++)adj43[i] = i + 1 - Math.pow(0.5 * (pow43[i] + pow43[i + 1]), 0.75);\n adj43[i] = 0.5;\n for(i = 0; i < Q_MAX; i++)ipow20[i] = Math.pow(2.0, (i - 210) * -0.1875);\n for(i = 0; i <= Q_MAX + Q_MAX2; i++)pow20[i] = Math.pow(2.0, (i - 210 - Q_MAX2) * 0.25);\n tak.huffman_init(gfc);\n var bass, alto, treble, sfb21;\n i = gfp.exp_nspsytune >> 2 & 63;\n if (i >= 32) i -= 64;\n bass = Math.pow(10, i / 4.0 / 10.0);\n i = gfp.exp_nspsytune >> 8 & 63;\n if (i >= 32) i -= 64;\n alto = Math.pow(10, i / 4.0 / 10.0);\n i = gfp.exp_nspsytune >> 14 & 63;\n if (i >= 32) i -= 64;\n treble = Math.pow(10, i / 4.0 / 10.0);\n /*\n * to be compatible with Naoki's original code, the next 6 bits\n * define only the amount of changing treble for sfb21\n */ i = gfp.exp_nspsytune >> 20 & 63;\n if (i >= 32) i -= 64;\n sfb21 = treble * Math.pow(10, i / 4.0 / 10.0);\n for(i = 0; i < $cPNKB.SBMAX_l; i++){\n var f;\n if (i <= 6) f = bass;\n else if (i <= 13) f = alto;\n else if (i <= 20) f = treble;\n else f = sfb21;\n gfc.nsPsy.longfact[i] = f;\n }\n for(i = 0; i < $cPNKB.SBMAX_s; i++){\n var f;\n if (i <= 5) f = bass;\n else if (i <= 10) f = alto;\n else if (i <= 11) f = treble;\n else f = sfb21;\n gfc.nsPsy.shortfact[i] = f;\n }\n }\n };\n /**\n * allocate bits among 2 channels based on PE<BR>\n * mt 6/99<BR>\n * bugfixes rh 8/01: often allocated more than the allowed 4095 bits\n */ this.on_pe = function(gfp, pe, targ_bits, mean_bits, gr, cbr) {\n var gfc = gfp.internal_flags;\n var tbits = 0, bits;\n var add_bits = $5dfff05939c3cc74$var$new_int(2);\n var ch;\n /* allocate targ_bits for granule */ var mb = new $lL4Le(tbits);\n var extra_bits = rv.ResvMaxBits(gfp, mean_bits, mb, cbr);\n tbits = mb.bits;\n /* maximum allowed bits for this granule */ var max_bits = tbits + extra_bits;\n if (max_bits > $4SDnr.MAX_BITS_PER_GRANULE) // hard limit per granule\n max_bits = $4SDnr.MAX_BITS_PER_GRANULE;\n for(bits = 0, ch = 0; ch < gfc.channels_out; ++ch){\n /******************************************************************\n * allocate bits for each channel\n ******************************************************************/ targ_bits[ch] = Math.min($4SDnr.MAX_BITS_PER_CHANNEL, tbits / gfc.channels_out);\n add_bits[ch] = 0 | targ_bits[ch] * pe[gr][ch] / 700.0 - targ_bits[ch];\n /* at most increase bits by 1.5*average */ if (add_bits[ch] > mean_bits * 3 / 4) add_bits[ch] = mean_bits * 3 / 4;\n if (add_bits[ch] < 0) add_bits[ch] = 0;\n if (add_bits[ch] + targ_bits[ch] > $4SDnr.MAX_BITS_PER_CHANNEL) add_bits[ch] = Math.max(0, $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[ch]);\n bits += add_bits[ch];\n }\n if (bits > extra_bits) for(ch = 0; ch < gfc.channels_out; ++ch)add_bits[ch] = extra_bits * add_bits[ch] / bits;\n for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[ch] += add_bits[ch];\n extra_bits -= add_bits[ch];\n }\n for(bits = 0, ch = 0; ch < gfc.channels_out; ++ch)bits += targ_bits[ch];\n if (bits > $4SDnr.MAX_BITS_PER_GRANULE) {\n var sum = 0;\n for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[ch] *= $4SDnr.MAX_BITS_PER_GRANULE;\n targ_bits[ch] /= bits;\n sum += targ_bits[ch];\n }\n $5dfff05939c3cc74$var$assert(sum <= $4SDnr.MAX_BITS_PER_GRANULE);\n }\n return max_bits;\n };\n this.reduce_side = function(targ_bits, ms_ener_ratio, mean_bits, max_bits) {\n $5dfff05939c3cc74$var$assert(max_bits <= $4SDnr.MAX_BITS_PER_GRANULE);\n $5dfff05939c3cc74$var$assert(targ_bits[0] + targ_bits[1] <= $4SDnr.MAX_BITS_PER_GRANULE);\n /*\n * ms_ener_ratio = 0: allocate 66/33 mid/side fac=.33 ms_ener_ratio =.5:\n * allocate 50/50 mid/side fac= 0\n */ /* 75/25 split is fac=.5 */ var fac = .33 * (.5 - ms_ener_ratio) / .5;\n if (fac < 0) fac = 0;\n if (fac > .5) fac = .5;\n /* number of bits to move from side channel to mid channel */ /* move_bits = fac*targ_bits[1]; */ var move_bits = 0 | fac * .5 * (targ_bits[0] + targ_bits[1]);\n if (move_bits > $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[0]) move_bits = $4SDnr.MAX_BITS_PER_CHANNEL - targ_bits[0];\n if (move_bits < 0) move_bits = 0;\n if (targ_bits[1] >= 125) {\n /* dont reduce side channel below 125 bits */ if (targ_bits[1] - move_bits > 125) {\n /* if mid channel already has 2x more than average, dont bother */ /* mean_bits = bits per granule (for both channels) */ if (targ_bits[0] < mean_bits) targ_bits[0] += move_bits;\n targ_bits[1] -= move_bits;\n } else {\n targ_bits[0] += targ_bits[1] - 125;\n targ_bits[1] = 125;\n }\n }\n move_bits = targ_bits[0] + targ_bits[1];\n if (move_bits > max_bits) {\n targ_bits[0] = max_bits * targ_bits[0] / move_bits;\n targ_bits[1] = max_bits * targ_bits[1] / move_bits;\n }\n $5dfff05939c3cc74$var$assert(targ_bits[0] <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $5dfff05939c3cc74$var$assert(targ_bits[1] <= $4SDnr.MAX_BITS_PER_CHANNEL);\n $5dfff05939c3cc74$var$assert(targ_bits[0] + targ_bits[1] <= $4SDnr.MAX_BITS_PER_GRANULE);\n };\n /**\n * Robert Hegemann 2001-04-27:\n * this adjusts the ATH, keeping the original noise floor\n * affects the higher frequencies more than the lower ones\n */ this.athAdjust = function(a, x, athFloor) {\n /*\n * work in progress\n */ var o = 90.30873362;\n var p = 94.82444863;\n var u = $5dfff05939c3cc74$var$Util.FAST_LOG10_X(x, 10.0);\n var v = a * a;\n var w = 0.0;\n u -= athFloor;\n /* undo scaling */ if (v > 1E-20) w = 1. + $5dfff05939c3cc74$var$Util.FAST_LOG10_X(v, 10.0 / o);\n if (w < 0) w = 0.;\n u *= w;\n u += athFloor + o - p;\n /* redo scaling */ return Math.pow(10., 0.1 * u);\n };\n /**\n * Calculate the allowed distortion for each scalefactor band, as determined\n * by the psychoacoustic model. xmin(sb) = ratio(sb) * en(sb) / bw(sb)\n *\n * returns number of sfb's with energy > ATH\n */ this.calc_xmin = function(gfp, ratio, cod_info, pxmin) {\n var pxminPos = 0;\n var gfc = gfp.internal_flags;\n var gsfb, j = 0, ath_over = 0;\n var ATH = gfc.ATH;\n var xr = cod_info.xr;\n var enable_athaa_fix = gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh ? 1 : 0;\n var masking_lower = gfc.masking_lower;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mt) /* was already done in PSY-Model */ masking_lower = 1.0;\n for(gsfb = 0; gsfb < cod_info.psy_lmax; gsfb++){\n var en0, xmin;\n var rh1, rh2;\n var width, l;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_rh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh) xmin = athAdjust(ATH.adjust, ATH.l[gsfb], ATH.floor);\n else xmin = ATH.adjust * ATH.l[gsfb];\n width = cod_info.width[gsfb];\n rh1 = xmin / width;\n rh2 = DBL_EPSILON;\n l = width >> 1;\n en0 = 0.0;\n do {\n var xa, xb;\n xa = xr[j] * xr[j];\n en0 += xa;\n rh2 += xa < rh1 ? xa : rh1;\n j++;\n xb = xr[j] * xr[j];\n en0 += xb;\n rh2 += xb < rh1 ? xb : rh1;\n j++;\n }while (--l > 0);\n if (en0 > xmin) ath_over++;\n if (gsfb == $cPNKB.SBPSY_l) {\n var x = xmin * gfc.nsPsy.longfact[gsfb];\n if (rh2 < x) rh2 = x;\n }\n if (enable_athaa_fix != 0) xmin = rh2;\n if (!gfp.ATHonly) {\n var e = ratio.en.l[gsfb];\n if (e > 0.0) {\n var x;\n x = en0 * ratio.thm.l[gsfb] * masking_lower / e;\n if (enable_athaa_fix != 0) x *= gfc.nsPsy.longfact[gsfb];\n if (xmin < x) xmin = x;\n }\n }\n if (enable_athaa_fix != 0) pxmin[pxminPos++] = xmin;\n else pxmin[pxminPos++] = xmin * gfc.nsPsy.longfact[gsfb];\n }\n /* end of long block loop */ /* use this function to determine the highest non-zero coeff */ var max_nonzero = 575;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type, but not SHORT\n var k = 576;\n while(k-- != 0 && BitStream.EQ(xr[k], 0))max_nonzero = k;\n }\n cod_info.max_nonzero_coeff = max_nonzero;\n for(var sfb = cod_info.sfb_smin; gsfb < cod_info.psymax; sfb++, gsfb += 3){\n var width, b;\n var tmpATH;\n if (gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_rh || gfp.VBR == $5dfff05939c3cc74$var$VbrMode.vbr_mtrh) tmpATH = athAdjust(ATH.adjust, ATH.s[sfb], ATH.floor);\n else tmpATH = ATH.adjust * ATH.s[sfb];\n width = cod_info.width[gsfb];\n for(b = 0; b < 3; b++){\n var en0 = 0.0, xmin;\n var rh1, rh2;\n var l = width >> 1;\n rh1 = tmpATH / width;\n rh2 = DBL_EPSILON;\n do {\n var xa, xb;\n xa = xr[j] * xr[j];\n en0 += xa;\n rh2 += xa < rh1 ? xa : rh1;\n j++;\n xb = xr[j] * xr[j];\n en0 += xb;\n rh2 += xb < rh1 ? xb : rh1;\n j++;\n }while (--l > 0);\n if (en0 > tmpATH) ath_over++;\n if (sfb == $cPNKB.SBPSY_s) {\n var x = tmpATH * gfc.nsPsy.shortfact[sfb];\n if (rh2 < x) rh2 = x;\n }\n if (enable_athaa_fix != 0) xmin = rh2;\n else xmin = tmpATH;\n if (!gfp.ATHonly && !gfp.ATHshort) {\n var e = ratio.en.s[sfb][b];\n if (e > 0.0) {\n var x;\n x = en0 * ratio.thm.s[sfb][b] * masking_lower / e;\n if (enable_athaa_fix != 0) x *= gfc.nsPsy.shortfact[sfb];\n if (xmin < x) xmin = x;\n }\n }\n if (enable_athaa_fix != 0) pxmin[pxminPos++] = xmin;\n else pxmin[pxminPos++] = xmin * gfc.nsPsy.shortfact[sfb];\n }\n /* b */ if (gfp.useTemporal) {\n if (pxmin[pxminPos - 3] > pxmin[pxminPos - 3 + 1]) pxmin[pxminPos - 3 + 1] += (pxmin[pxminPos - 3] - pxmin[pxminPos - 3 + 1]) * gfc.decay;\n if (pxmin[pxminPos - 3 + 1] > pxmin[pxminPos - 3 + 2]) pxmin[pxminPos - 3 + 2] += (pxmin[pxminPos - 3 + 1] - pxmin[pxminPos - 3 + 2]) * gfc.decay;\n }\n }\n /* end of short block sfb loop */ return ath_over;\n };\n function StartLine(j) {\n this.s = j;\n }\n this.calc_noise_core = function(cod_info, startline, l, step) {\n var noise = 0;\n var j = startline.s;\n var ix = cod_info.l3_enc;\n if (j > cod_info.count1) while(l-- != 0){\n var temp;\n temp = cod_info.xr[j];\n j++;\n noise += temp * temp;\n temp = cod_info.xr[j];\n j++;\n noise += temp * temp;\n }\n else if (j > cod_info.big_values) {\n var ix01 = $5dfff05939c3cc74$var$new_float(2);\n ix01[0] = 0;\n ix01[1] = step;\n while(l-- != 0){\n var temp;\n temp = Math.abs(cod_info.xr[j]) - ix01[ix[j]];\n j++;\n noise += temp * temp;\n temp = Math.abs(cod_info.xr[j]) - ix01[ix[j]];\n j++;\n noise += temp * temp;\n }\n } else while(l-- != 0){\n var temp;\n temp = Math.abs(cod_info.xr[j]) - pow43[ix[j]] * step;\n j++;\n noise += temp * temp;\n temp = Math.abs(cod_info.xr[j]) - pow43[ix[j]] * step;\n j++;\n noise += temp * temp;\n }\n startline.s = j;\n return noise;\n };\n /**\n * <PRE>\n * -oo dB => -1.00\n * - 6 dB => -0.97\n * - 3 dB => -0.80\n * - 2 dB => -0.64\n * - 1 dB => -0.38\n * 0 dB => 0.00\n * + 1 dB => +0.49\n * + 2 dB => +1.06\n * + 3 dB => +1.68\n * + 6 dB => +3.69\n * +10 dB => +6.45\n * </PRE>\n */ this.calc_noise = function(cod_info, l3_xmin, distort, res, prev_noise) {\n var distortPos = 0;\n var l3_xminPos = 0;\n var sfb, l, over = 0;\n var over_noise_db = 0;\n /* 0 dB relative to masking */ var tot_noise_db = 0;\n /* -200 dB relative to masking */ var max_noise = -20;\n var j = 0;\n var scalefac = cod_info.scalefac;\n var scalefacPos = 0;\n res.over_SSD = 0;\n for(sfb = 0; sfb < cod_info.psymax; sfb++){\n var s = cod_info.global_gain - (scalefac[scalefacPos++] + (cod_info.preflag != 0 ? pretab[sfb] : 0) << cod_info.scalefac_scale + 1) - cod_info.subblock_gain[cod_info.window[sfb]] * 8;\n var noise = 0.0;\n if (prev_noise != null && prev_noise.step[sfb] == s) {\n /* use previously computed values */ noise = prev_noise.noise[sfb];\n j += cod_info.width[sfb];\n distort[distortPos++] = noise / l3_xmin[l3_xminPos++];\n noise = prev_noise.noise_log[sfb];\n } else {\n var step = POW20(s);\n l = cod_info.width[sfb] >> 1;\n if (j + cod_info.width[sfb] > cod_info.max_nonzero_coeff) {\n var usefullsize;\n usefullsize = cod_info.max_nonzero_coeff - j + 1;\n if (usefullsize > 0) l = usefullsize >> 1;\n else l = 0;\n }\n var sl = new StartLine(j);\n noise = this.calc_noise_core(cod_info, sl, l, step);\n j = sl.s;\n if (prev_noise != null) {\n /* save noise values */ prev_noise.step[sfb] = s;\n prev_noise.noise[sfb] = noise;\n }\n noise = distort[distortPos++] = noise / l3_xmin[l3_xminPos++];\n /* multiplying here is adding in dB, but can overflow */ noise = $5dfff05939c3cc74$var$Util.FAST_LOG10(Math.max(noise, 1E-20));\n if (prev_noise != null) /* save noise values */ prev_noise.noise_log[sfb] = noise;\n }\n if (prev_noise != null) /* save noise values */ prev_noise.global_gain = cod_info.global_gain;\n tot_noise_db += noise;\n if (noise > 0.0) {\n var tmp;\n tmp = Math.max(0 | noise * 10 + .5, 1);\n res.over_SSD += tmp * tmp;\n over++;\n /* multiplying here is adding in dB -but can overflow */ /* over_noise *= noise; */ over_noise_db += noise;\n }\n max_noise = Math.max(max_noise, noise);\n }\n res.over_count = over;\n res.tot_noise = tot_noise_db;\n res.over_noise = over_noise_db;\n res.max_noise = max_noise;\n return over;\n };\n /**\n * updates plotting data\n *\n * Mark Taylor 2000-??-??\n *\n * Robert Hegemann: moved noise/distortion calc into it\n */ this.set_pinfo = function(gfp, cod_info, ratio, gr, ch) {\n var gfc = gfp.internal_flags;\n var sfb, sfb2;\n var l;\n var en0, en1;\n var ifqstep = cod_info.scalefac_scale == 0 ? .5 : 1.0;\n var scalefac = cod_info.scalefac;\n var l3_xmin = $5dfff05939c3cc74$var$new_float(L3Side.SFBMAX);\n var xfsf = $5dfff05939c3cc74$var$new_float(L3Side.SFBMAX);\n var noise = new CalcNoiseResult();\n calc_xmin(gfp, ratio, cod_info, l3_xmin);\n calc_noise(cod_info, l3_xmin, xfsf, noise, null);\n var j = 0;\n sfb2 = cod_info.sfb_lmax;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE && 0 == cod_info.mixed_block_flag) sfb2 = 22;\n for(sfb = 0; sfb < sfb2; sfb++){\n var start = gfc.scalefac_band.l[sfb];\n var end = gfc.scalefac_band.l[sfb + 1];\n var bw = end - start;\n for(en0 = 0.0; j < end; j++)en0 += cod_info.xr[j] * cod_info.xr[j];\n en0 /= bw;\n /* convert to MDCT units */ /* scaling so it shows up on FFT plot */ en1 = 1e15;\n gfc.pinfo.en[gr][ch][sfb] = en1 * en0;\n gfc.pinfo.xfsf[gr][ch][sfb] = en1 * l3_xmin[sfb] * xfsf[sfb] / bw;\n if (ratio.en.l[sfb] > 0 && !gfp.ATHonly) en0 = en0 / ratio.en.l[sfb];\n else en0 = 0.0;\n gfc.pinfo.thr[gr][ch][sfb] = en1 * Math.max(en0 * ratio.thm.l[sfb], gfc.ATH.l[sfb]);\n /* there is no scalefactor bands >= SBPSY_l */ gfc.pinfo.LAMEsfb[gr][ch][sfb] = 0;\n if (cod_info.preflag != 0 && sfb >= 11) gfc.pinfo.LAMEsfb[gr][ch][sfb] = -ifqstep * pretab[sfb];\n if (sfb < $cPNKB.SBPSY_l) {\n /* scfsi should be decoded by caller side */ $5dfff05939c3cc74$var$assert(scalefac[sfb] >= 0);\n gfc.pinfo.LAMEsfb[gr][ch][sfb] -= ifqstep * scalefac[sfb];\n }\n }\n /* for sfb */ if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n sfb2 = sfb;\n for(sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n var bw = end - start;\n for(var i = 0; i < 3; i++){\n for(en0 = 0.0, l = start; l < end; l++){\n en0 += cod_info.xr[j] * cod_info.xr[j];\n j++;\n }\n en0 = Math.max(en0 / bw, 1e-20);\n /* convert to MDCT units */ /* scaling so it shows up on FFT plot */ en1 = 1e15;\n gfc.pinfo.en_s[gr][ch][3 * sfb + i] = en1 * en0;\n gfc.pinfo.xfsf_s[gr][ch][3 * sfb + i] = en1 * l3_xmin[sfb2] * xfsf[sfb2] / bw;\n if (ratio.en.s[sfb][i] > 0) en0 = en0 / ratio.en.s[sfb][i];\n else en0 = 0.0;\n if (gfp.ATHonly || gfp.ATHshort) en0 = 0;\n gfc.pinfo.thr_s[gr][ch][3 * sfb + i] = en1 * Math.max(en0 * ratio.thm.s[sfb][i], gfc.ATH.s[sfb]);\n /* there is no scalefactor bands >= SBPSY_s */ gfc.pinfo.LAMEsfb_s[gr][ch][3 * sfb + i] = -2 * cod_info.subblock_gain[i];\n if (sfb < $cPNKB.SBPSY_s) gfc.pinfo.LAMEsfb_s[gr][ch][3 * sfb + i] -= ifqstep * scalefac[sfb2];\n sfb2++;\n }\n }\n }\n /* block type short */ gfc.pinfo.LAMEqss[gr][ch] = cod_info.global_gain;\n gfc.pinfo.LAMEmainbits[gr][ch] = cod_info.part2_3_length + cod_info.part2_length;\n gfc.pinfo.LAMEsfbits[gr][ch] = cod_info.part2_length;\n gfc.pinfo.over[gr][ch] = noise.over_count;\n gfc.pinfo.max_noise[gr][ch] = noise.max_noise * 10.0;\n gfc.pinfo.over_noise[gr][ch] = noise.over_noise * 10.0;\n gfc.pinfo.tot_noise[gr][ch] = noise.tot_noise * 10.0;\n gfc.pinfo.over_SSD[gr][ch] = noise.over_SSD;\n };\n /**\n * updates plotting data for a whole frame\n *\n * Robert Hegemann 2000-10-21\n */ function set_frame_pinfo(gfp, ratio) {\n var gfc = gfp.internal_flags;\n gfc.masking_lower = 1.0;\n /*\n * for every granule and channel patch l3_enc and set info\n */ for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n var cod_info = gfc.l3_side.tt[gr][ch];\n var scalefac_sav = $5dfff05939c3cc74$var$new_int(L3Side.SFBMAX);\n $5dfff05939c3cc74$var$System.arraycopy(cod_info.scalefac, 0, scalefac_sav, 0, scalefac_sav.length);\n /*\n * reconstruct the scalefactors in case SCFSI was used\n */ if (gr == 1) {\n var sfb;\n for(sfb = 0; sfb < cod_info.sfb_lmax; sfb++)if (cod_info.scalefac[sfb] < 0) /* scfsi */ cod_info.scalefac[sfb] = gfc.l3_side.tt[0][ch].scalefac[sfb];\n }\n set_pinfo(gfp, cod_info, ratio[gr][ch], gr, ch);\n $5dfff05939c3cc74$var$System.arraycopy(scalefac_sav, 0, cod_info.scalefac, 0, scalefac_sav.length);\n }\n /* for gr */ }\n}\nmodule.exports = $5dfff05939c3cc74$var$QuantizePVT;\n\n});\n\n\n\n\nvar $dd7ee3788d91dcb8$exports = {};\n\n$parcel$export($dd7ee3788d91dcb8$exports, \"Mp3Encoder\", () => $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2, (v) => $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 = v);\n$parcel$export($dd7ee3788d91dcb8$exports, \"WavHeader\", () => $dd7ee3788d91dcb8$export$cb948f2d6837f136, (v) => $dd7ee3788d91dcb8$export$cb948f2d6837f136 = v);\nvar $dd7ee3788d91dcb8$export$9ca5d136ebf61cf2;\nvar $dd7ee3788d91dcb8$export$cb948f2d6837f136;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $dd7ee3788d91dcb8$var$System = $3YDN3.System;\nvar $dd7ee3788d91dcb8$var$VbrMode = $3YDN3.VbrMode;\nvar $dd7ee3788d91dcb8$var$Float = $3YDN3.Float;\nvar $dd7ee3788d91dcb8$var$ShortBlock = $3YDN3.ShortBlock;\nvar $dd7ee3788d91dcb8$var$Util = $3YDN3.Util;\nvar $dd7ee3788d91dcb8$var$Arrays = $3YDN3.Arrays;\nvar $dd7ee3788d91dcb8$var$new_array_n = $3YDN3.new_array_n;\nvar $dd7ee3788d91dcb8$var$new_byte = $3YDN3.new_byte;\nvar $dd7ee3788d91dcb8$var$new_double = $3YDN3.new_double;\nvar $dd7ee3788d91dcb8$var$new_float = $3YDN3.new_float;\nvar $dd7ee3788d91dcb8$var$new_float_n = $3YDN3.new_float_n;\nvar $dd7ee3788d91dcb8$var$new_int = $3YDN3.new_int;\nvar $dd7ee3788d91dcb8$var$new_int_n = $3YDN3.new_int_n;\nvar $dd7ee3788d91dcb8$var$assert = $3YDN3.assert;\n\nvar $kk1yk = parcelRequire(\"kk1yk\");\nvar $7960aab77e945546$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $7960aab77e945546$var$System = $3YDN3.System;\nvar $7960aab77e945546$var$VbrMode = $3YDN3.VbrMode;\nvar $7960aab77e945546$var$Float = $3YDN3.Float;\nvar $7960aab77e945546$var$ShortBlock = $3YDN3.ShortBlock;\nvar $7960aab77e945546$var$Util = $3YDN3.Util;\nvar $7960aab77e945546$var$Arrays = $3YDN3.Arrays;\nvar $7960aab77e945546$var$new_array_n = $3YDN3.new_array_n;\nvar $7960aab77e945546$var$new_byte = $3YDN3.new_byte;\nvar $7960aab77e945546$var$new_double = $3YDN3.new_double;\nvar $7960aab77e945546$var$new_float = $3YDN3.new_float;\nvar $7960aab77e945546$var$new_float_n = $3YDN3.new_float_n;\nvar $7960aab77e945546$var$new_int = $3YDN3.new_int;\nvar $7960aab77e945546$var$new_int_n = $3YDN3.new_int_n;\nvar $7960aab77e945546$var$assert = $3YDN3.assert;\n\nfunction $7960aab77e945546$var$Presets() {\n var Lame = (parcelRequire(\"kk1yk\"));\n function VBRPresets(qual, comp, compS, y, shThreshold, shThresholdS, adj, adjShort, lower, curve, sens, inter, joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n function ABRPresets(kbps, comp, compS, joint, fix, shThreshold, shThresholdS, bass, sc, mask, lower, curve, interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n var lame;\n this.setModules = function(_lame) {\n lame = _lame;\n };\n /**\n * <PRE>\n * Switch mappings for VBR mode VBR_RH\n * vbr_q qcomp_l qcomp_s expY st_lrm st_s mask adj_l adj_s ath_lower ath_curve ath_sens interChR safejoint sfb21mod msfix\n * </PRE>\n */ var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n /**\n * <PRE>\n * vbr_q qcomp_l qcomp_s expY st_lrm st_s mask adj_l adj_s ath_lower ath_curve ath_sens interChR safejoint sfb21mod msfix\n * </PRE>\n */ var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7, -4, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36, 12, -30, 0.0008, 0, 0, 2)\n ];\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == $7960aab77e945546$var$VbrMode.vbr_rh ? vbr_old_switch_map : vbr_psy_switch_map;\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n lame_set_VBR_q(gfp, set.vbr_q);\n if (enforce != 0) gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0)) gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0) gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0)) gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) gfp.experimentalY = set.expY != 0;\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0)) gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0)) gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0) gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0)) gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0) gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0) gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs(-gfp.ATHlower * 10.0 - 0) > 0)) gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0) gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0)) gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0) gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0)) gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0) gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0)) gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n /* parameters for which there is no proper set/get interface */ if (set.safejoint > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n if (set.sfb21mod > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | set.sfb21mod << 20;\n if (enforce != 0) gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0)) gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n /**\n * <PRE>\n * Switch mappings for ABR mode\n *\n * kbps quant q_s safejoint nsmsfix st_lrm st_s ns-bass scale msk ath_lwr ath_curve interch , sfscale\n * </PRE>\n */ var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30, 11, 0.0012, 1),\n /* 8, impossible to use in stereo */ new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25, 11, 0.0010, 1),\n /* 16 */ new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20, 11, 0.0010, 1),\n /* 24 */ new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15, 11, 0.0010, 1),\n /* 32 */ new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10, 11, 0.0009, 1),\n /* 40 */ new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10, 11, 0.0009, 1),\n /* 48 */ new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6, 11, 0.0008, 1),\n /* 56 */ new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2, 11, 0.0008, 1),\n /* 64 */ new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1),\n /* 80 */ new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1),\n /* 96 */ new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1),\n /* 112 */ new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1),\n /* 128 */ new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1),\n /* 160 */ new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0),\n /* 192 */ new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0),\n /* 224 */ new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0),\n /* 256 */ new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0)\n ];\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */ var actual_bitrate = preset;\n var r = lame.nearestBitrateFullIndex(preset);\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) gfp.disable_reservoir = true;\n /* parameters for which there is no proper set/get interface */ if (abr_switch_map[r].safejoint > 0) gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */ if (abr_switch_map[r].sfscale > 0) gfp.internal_flags.noise_shaping = 2;\n /* ns-bass tweaks */ if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = int(abr_switch_map[r].nsbass * 4);\n if (k < 0) k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | k << 2;\n }\n if (enforce != 0) gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0)) gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0) gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0)) gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n if (enforce != 0) gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0)) gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0)) gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0) gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0)) gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */ /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */ if (enforce != 0) gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0)) gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n if (enforce != 0) gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0)) gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * .9;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * .9;\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * 1.1;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0)) gfp.maskingadjust_short = abr_switch_map[r].masking_adj * 1.1;\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n if (enforce != 0) gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs(-gfp.ATHlower * 10. - 0) > 0)) gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0) gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0)) gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n if (enforce != 0) gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0)) gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n return preset;\n }\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */ switch(preset){\n case Lame.R3MIX:\n preset = Lame.V3;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.MEDIUM:\n preset = Lame.V4;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.MEDIUM_FAST:\n preset = Lame.V4;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.STANDARD:\n preset = Lame.V2;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.STANDARD_FAST:\n preset = Lame.V2;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.EXTREME:\n preset = Lame.V0;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_rh;\n break;\n case Lame.EXTREME_FAST:\n preset = Lame.V0;\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_mtrh;\n break;\n case Lame.INSANE:\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = $7960aab77e945546$var$VbrMode.vbr_off;\n return preset;\n }\n gfp.preset = preset;\n switch(preset){\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n if (8 <= preset && preset <= 320) return apply_abr_preset(gfp, preset, enforce);\n /* no corresponding preset found */ gfp.preset = 0;\n return preset;\n };\n // Rest from getset.c:\n /**\n * VBR quality level.<BR>\n * 0 = highest<BR>\n * 9 = lowest\n */ function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */ ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n}\n$7960aab77e945546$exports = $7960aab77e945546$var$Presets;\n\n\n\nvar $b8dhq = parcelRequire(\"b8dhq\");\n\nvar $84mea = parcelRequire(\"84mea\");\nvar $df08f3a0d41b7a78$exports = {};\n/*\n * MP3 quantization\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 1999-2003 Takehiro Tominaga\n * Copyright (c) 2000-2007 Robert Hegemann\n * Copyright (c) 2001-2005 Gabriel Bouvigne\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Quantize.java,v 1.24 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n//import java.util.Arrays;\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $df08f3a0d41b7a78$var$System = $3YDN3.System;\nvar $df08f3a0d41b7a78$var$VbrMode = $3YDN3.VbrMode;\nvar $df08f3a0d41b7a78$var$Float = $3YDN3.Float;\nvar $df08f3a0d41b7a78$var$ShortBlock = $3YDN3.ShortBlock;\nvar $df08f3a0d41b7a78$var$Util = $3YDN3.Util;\nvar $df08f3a0d41b7a78$var$Arrays = $3YDN3.Arrays;\nvar $df08f3a0d41b7a78$var$new_array_n = $3YDN3.new_array_n;\nvar $df08f3a0d41b7a78$var$new_byte = $3YDN3.new_byte;\nvar $df08f3a0d41b7a78$var$new_double = $3YDN3.new_double;\nvar $df08f3a0d41b7a78$var$new_float = $3YDN3.new_float;\nvar $df08f3a0d41b7a78$var$new_float_n = $3YDN3.new_float_n;\nvar $df08f3a0d41b7a78$var$new_int = $3YDN3.new_int;\nvar $df08f3a0d41b7a78$var$new_int_n = $3YDN3.new_int_n;\nvar $df08f3a0d41b7a78$var$assert = $3YDN3.assert;\nvar $225800021a714f05$exports = {};\nfunction $225800021a714f05$var$VBRQuantize() {\n var qupvt;\n var tak;\n this.setModules = function(_qupvt, _tk) {\n qupvt = _qupvt;\n tak = _tk;\n };\n//TODO\n}\n$225800021a714f05$exports = $225800021a714f05$var$VBRQuantize;\n\n\nvar $3afa85f14aff627b$exports = {};\n//package mp3;\nfunction $3afa85f14aff627b$var$CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */ this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */ this.tot_noise = 0.;\n /**\n * max quantization noise\n */ this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */ this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */ this.over_SSD = 0;\n this.bits = 0;\n}\n$3afa85f14aff627b$exports = $3afa85f14aff627b$var$CalcNoiseResult;\n\n\nvar $4fc41bdea3aedc83$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $4fc41bdea3aedc83$var$new_float = $3YDN3.new_float;\nvar $4fc41bdea3aedc83$var$new_int = $3YDN3.new_int;\nvar $4fc41bdea3aedc83$var$assert = $3YDN3.assert;\nfunction $4fc41bdea3aedc83$var$CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = $4fc41bdea3aedc83$var$new_int(39);\n this.noise = $4fc41bdea3aedc83$var$new_float(39);\n this.noise_log = $4fc41bdea3aedc83$var$new_float(39);\n}\n$4fc41bdea3aedc83$exports = $4fc41bdea3aedc83$var$CalcNoiseData;\n\n\n\nvar $cPNKB = parcelRequire(\"cPNKB\");\n\nvar $7weBo = parcelRequire(\"7weBo\");\n\nvar $arIi9 = parcelRequire(\"arIi9\");\nfunction $df08f3a0d41b7a78$var$Quantize() {\n var bs;\n this.rv = null;\n var rv;\n this.qupvt = null;\n var qupvt;\n var vbr = new $225800021a714f05$exports();\n var tk;\n this.setModules = function(_bs, _rv, _qupvt, _tk) {\n bs = _bs;\n rv = _rv;\n this.rv = _rv;\n qupvt = _qupvt;\n this.qupvt = _qupvt;\n tk = _tk;\n vbr.setModules(qupvt, tk);\n };\n /**\n * convert from L/R <. Mid/Side\n */ this.ms_convert = function(l3_side, gr) {\n for(var i = 0; i < 576; ++i){\n var l = l3_side.tt[gr][0].xr[i];\n var r = l3_side.tt[gr][1].xr[i];\n l3_side.tt[gr][0].xr[i] = (l + r) * ($df08f3a0d41b7a78$var$Util.SQRT2 * 0.5);\n l3_side.tt[gr][1].xr[i] = (l - r) * ($df08f3a0d41b7a78$var$Util.SQRT2 * 0.5);\n }\n };\n /**\n * mt 6/99\n *\n * initializes cod_info, scalefac and xrpow\n *\n * returns 0 if all energies in xr are zero, else 1\n */ function init_xrpow_core(cod_info, xrpow, upper, sum) {\n sum = 0;\n for(var i = 0; i <= upper; ++i){\n var tmp = Math.abs(cod_info.xr[i]);\n sum += tmp;\n xrpow[i] = Math.sqrt(tmp * Math.sqrt(tmp));\n if (xrpow[i] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[i];\n }\n return sum;\n }\n this.init_xrpow = function(gfc, cod_info, xrpow) {\n var sum = 0;\n var upper = 0 | cod_info.max_nonzero_coeff;\n $df08f3a0d41b7a78$var$assert(xrpow != null);\n cod_info.xrpow_max = 0;\n /*\n * check if there is some energy we have to quantize and calculate xrpow\n * matching our fresh scalefactors\n */ $df08f3a0d41b7a78$var$assert(0 <= upper && upper <= 575);\n $df08f3a0d41b7a78$var$Arrays.fill(xrpow, upper, 576, 0);\n sum = init_xrpow_core(cod_info, xrpow, upper, sum);\n /*\n * return 1 if we have something to quantize, else 0\n */ if (sum > 1E-20) {\n var j = 0;\n if ((gfc.substep_shaping & 2) != 0) j = 1;\n for(var i = 0; i < cod_info.psymax; i++)gfc.pseudohalf[i] = j;\n return true;\n }\n $df08f3a0d41b7a78$var$Arrays.fill(cod_info.l3_enc, 0, 576, 0);\n return false;\n };\n /**\n * Gabriel Bouvigne feb/apr 2003<BR>\n * Analog silence detection in partitionned sfb21 or sfb12 for short blocks\n *\n * From top to bottom of sfb, changes to 0 coeffs which are below ath. It\n * stops on the first coeff higher than ath.\n */ function psfb21_analogsilence(gfc, cod_info) {\n var ath = gfc.ATH;\n var xr = cod_info.xr;\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n /* NORM, START or STOP type, but not SHORT blocks */ var stop = false;\n for(var gsfb = $cPNKB.PSFB21 - 1; gsfb >= 0 && !stop; gsfb--){\n var start = gfc.scalefac_band.psfb21[gsfb];\n var end = gfc.scalefac_band.psfb21[gsfb + 1];\n var ath21 = qupvt.athAdjust(ath.adjust, ath.psfb21[gsfb], ath.floor);\n if (gfc.nsPsy.longfact[21] > 1e-12) ath21 *= gfc.nsPsy.longfact[21];\n for(var j = end - 1; j >= start; j--)if (Math.abs(xr[j]) < ath21) xr[j] = 0;\n else {\n stop = true;\n break;\n }\n }\n } else /* note: short blocks coeffs are reordered */ for(var block = 0; block < 3; block++){\n var stop = false;\n for(var gsfb = $cPNKB.PSFB12 - 1; gsfb >= 0 && !stop; gsfb--){\n var start = gfc.scalefac_band.s[12] * 3 + (gfc.scalefac_band.s[13] - gfc.scalefac_band.s[12]) * block + (gfc.scalefac_band.psfb12[gsfb] - gfc.scalefac_band.psfb12[0]);\n var end = start + (gfc.scalefac_band.psfb12[gsfb + 1] - gfc.scalefac_band.psfb12[gsfb]);\n var ath12 = qupvt.athAdjust(ath.adjust, ath.psfb12[gsfb], ath.floor);\n if (gfc.nsPsy.shortfact[12] > 1e-12) ath12 *= gfc.nsPsy.shortfact[12];\n for(var j = end - 1; j >= start; j--)if (Math.abs(xr[j]) < ath12) xr[j] = 0;\n else {\n stop = true;\n break;\n }\n }\n }\n }\n this.init_outer_loop = function(gfc, cod_info) {\n /*\n * initialize fresh cod_info\n */ cod_info.part2_3_length = 0;\n cod_info.big_values = 0;\n cod_info.count1 = 0;\n cod_info.global_gain = 210;\n cod_info.scalefac_compress = 0;\n /* mixed_block_flag, block_type was set in psymodel.c */ cod_info.table_select[0] = 0;\n cod_info.table_select[1] = 0;\n cod_info.table_select[2] = 0;\n cod_info.subblock_gain[0] = 0;\n cod_info.subblock_gain[1] = 0;\n cod_info.subblock_gain[2] = 0;\n cod_info.subblock_gain[3] = 0;\n /* this one is always 0 */ cod_info.region0_count = 0;\n cod_info.region1_count = 0;\n cod_info.preflag = 0;\n cod_info.scalefac_scale = 0;\n cod_info.count1table_select = 0;\n cod_info.part2_length = 0;\n cod_info.sfb_lmax = $cPNKB.SBPSY_l;\n cod_info.sfb_smin = $cPNKB.SBPSY_s;\n cod_info.psy_lmax = gfc.sfb21_extra ? $cPNKB.SBMAX_l : $cPNKB.SBPSY_l;\n cod_info.psymax = cod_info.psy_lmax;\n cod_info.sfbmax = cod_info.sfb_lmax;\n cod_info.sfbdivide = 11;\n for(var sfb = 0; sfb < $cPNKB.SBMAX_l; sfb++){\n cod_info.width[sfb] = gfc.scalefac_band.l[sfb + 1] - gfc.scalefac_band.l[sfb];\n /* which is always 0. */ cod_info.window[sfb] = 3;\n }\n if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n var ixwork = $df08f3a0d41b7a78$var$new_float(576);\n cod_info.sfb_smin = 0;\n cod_info.sfb_lmax = 0;\n if (cod_info.mixed_block_flag != 0) {\n /*\n * MPEG-1: sfbs 0-7 long block, 3-12 short blocks MPEG-2(.5):\n * sfbs 0-5 long block, 3-12 short blocks\n */ cod_info.sfb_smin = 3;\n cod_info.sfb_lmax = gfc.mode_gr * 2 + 4;\n }\n cod_info.psymax = cod_info.sfb_lmax + 3 * ((gfc.sfb21_extra ? $cPNKB.SBMAX_s : $cPNKB.SBPSY_s) - cod_info.sfb_smin);\n cod_info.sfbmax = cod_info.sfb_lmax + 3 * ($cPNKB.SBPSY_s - cod_info.sfb_smin);\n cod_info.sfbdivide = cod_info.sfbmax - 18;\n cod_info.psy_lmax = cod_info.sfb_lmax;\n /* re-order the short blocks, for more efficient encoding below */ /* By Takehiro TOMINAGA */ /*\n * Within each scalefactor band, data is given for successive time\n * windows, beginning with window 0 and ending with window 2. Within\n * each window, the quantized values are then arranged in order of\n * increasing frequency...\n */ var ix = gfc.scalefac_band.l[cod_info.sfb_lmax];\n $df08f3a0d41b7a78$var$System.arraycopy(cod_info.xr, 0, ixwork, 0, 576);\n for(var sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n var start = gfc.scalefac_band.s[sfb];\n var end = gfc.scalefac_band.s[sfb + 1];\n for(var window = 0; window < 3; window++)for(var l = start; l < end; l++)cod_info.xr[ix++] = ixwork[3 * l + window];\n }\n var j = cod_info.sfb_lmax;\n for(var sfb = cod_info.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n cod_info.width[j] = cod_info.width[j + 1] = cod_info.width[j + 2] = gfc.scalefac_band.s[sfb + 1] - gfc.scalefac_band.s[sfb];\n cod_info.window[j] = 0;\n cod_info.window[j + 1] = 1;\n cod_info.window[j + 2] = 2;\n j += 3;\n }\n }\n cod_info.count1bits = 0;\n cod_info.sfb_partition_table = qupvt.nr_of_sfb_block[0][0];\n cod_info.slen[0] = 0;\n cod_info.slen[1] = 0;\n cod_info.slen[2] = 0;\n cod_info.slen[3] = 0;\n cod_info.max_nonzero_coeff = 575;\n /*\n * fresh scalefactors are all zero\n */ $df08f3a0d41b7a78$var$Arrays.fill(cod_info.scalefac, 0);\n psfb21_analogsilence(gfc, cod_info);\n };\n function BinSearchDirection(ordinal) {\n this.ordinal = ordinal;\n }\n BinSearchDirection.BINSEARCH_NONE = new BinSearchDirection(0);\n BinSearchDirection.BINSEARCH_UP = new BinSearchDirection(1);\n BinSearchDirection.BINSEARCH_DOWN = new BinSearchDirection(2);\n /**\n * author/date??\n *\n * binary step size search used by outer_loop to get a quantizer step size\n * to start with\n */ function bin_search_StepSize(gfc, cod_info, desired_rate, ch, xrpow) {\n var nBits;\n var CurrentStep = gfc.CurrentStep[ch];\n var flagGoneOver = false;\n var start = gfc.OldValue[ch];\n var Direction = BinSearchDirection.BINSEARCH_NONE;\n cod_info.global_gain = start;\n desired_rate -= cod_info.part2_length;\n $df08f3a0d41b7a78$var$assert(CurrentStep != 0);\n for(;;){\n var step;\n nBits = tk.count_bits(gfc, xrpow, cod_info, null);\n if (CurrentStep == 1 || nBits == desired_rate) break;\n /* nothing to adjust anymore */ if (nBits > desired_rate) {\n /* increase Quantize_StepSize */ if (Direction == BinSearchDirection.BINSEARCH_DOWN) flagGoneOver = true;\n if (flagGoneOver) CurrentStep /= 2;\n Direction = BinSearchDirection.BINSEARCH_UP;\n step = CurrentStep;\n } else {\n /* decrease Quantize_StepSize */ if (Direction == BinSearchDirection.BINSEARCH_UP) flagGoneOver = true;\n if (flagGoneOver) CurrentStep /= 2;\n Direction = BinSearchDirection.BINSEARCH_DOWN;\n step = -CurrentStep;\n }\n cod_info.global_gain += step;\n if (cod_info.global_gain < 0) {\n cod_info.global_gain = 0;\n flagGoneOver = true;\n }\n if (cod_info.global_gain > 255) {\n cod_info.global_gain = 255;\n flagGoneOver = true;\n }\n }\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain >= 0);\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain < 256);\n while(nBits > desired_rate && cod_info.global_gain < 255){\n cod_info.global_gain++;\n nBits = tk.count_bits(gfc, xrpow, cod_info, null);\n }\n gfc.CurrentStep[ch] = start - cod_info.global_gain >= 4 ? 4 : 2;\n gfc.OldValue[ch] = cod_info.global_gain;\n cod_info.part2_3_length = nBits;\n return nBits;\n }\n this.trancate_smallspectrums = function(gfc, gi, l3_xmin, work) {\n var distort = $df08f3a0d41b7a78$var$new_float($arIi9.SFBMAX);\n if (0 == (gfc.substep_shaping & 4) && gi.block_type == $cPNKB.SHORT_TYPE || (gfc.substep_shaping & 0x80) != 0) return;\n qupvt.calc_noise(gi, l3_xmin, distort, new $3afa85f14aff627b$exports(), null);\n for(var j = 0; j < 576; j++){\n var xr = 0.0;\n if (gi.l3_enc[j] != 0) xr = Math.abs(gi.xr[j]);\n work[j] = xr;\n }\n var j = 0;\n var sfb = 8;\n if (gi.block_type == $cPNKB.SHORT_TYPE) sfb = 6;\n do {\n var allowedNoise, trancateThreshold;\n var nsame, start;\n var width = gi.width[sfb];\n j += width;\n if (distort[sfb] >= 1.0) continue;\n $df08f3a0d41b7a78$var$Arrays.sort(work, j - width, width);\n if (BitStream.EQ(work[j - 1], 0.0)) continue;\n /* all zero sfb */ allowedNoise = (1.0 - distort[sfb]) * l3_xmin[sfb];\n trancateThreshold = 0.0;\n start = 0;\n do {\n var noise;\n for(nsame = 1; start + nsame < width; nsame++)if (BitStream.NEQ(work[start + j - width], work[start + j + nsame - width])) break;\n noise = work[start + j - width] * work[start + j - width] * nsame;\n if (allowedNoise < noise) {\n if (start != 0) trancateThreshold = work[start + j - width - 1];\n break;\n }\n allowedNoise -= noise;\n start += nsame;\n }while (start < width);\n if (BitStream.EQ(trancateThreshold, 0.0)) continue;\n do if (Math.abs(gi.xr[j - width]) <= trancateThreshold) gi.l3_enc[j - width] = 0;\n while (--width > 0);\n }while (++sfb < gi.psymax);\n gi.part2_3_length = tk.noquant_count_bits(gfc, gi, null);\n };\n /**\n * author/date??\n *\n * Function: Returns zero if there is a scalefac which has not been\n * amplified. Otherwise it returns one.\n */ function loop_break(cod_info) {\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++)if (cod_info.scalefac[sfb] + cod_info.subblock_gain[cod_info.window[sfb]] == 0) return false;\n return true;\n }\n /* mt 5/99: Function: Improved calc_noise for a single channel */ function penalties(noise) {\n return $df08f3a0d41b7a78$var$Util.FAST_LOG10(0.368 + 0.632 * noise * noise * noise);\n }\n /**\n * author/date??\n *\n * several different codes to decide which quantization is better\n */ function get_klemm_noise(distort, gi) {\n var klemm_noise = 1E-37;\n for(var sfb = 0; sfb < gi.psymax; sfb++)klemm_noise += penalties(distort[sfb]);\n return Math.max(1e-20, klemm_noise);\n }\n function quant_compare(quant_comp, best, calc, gi, distort) {\n /**\n * noise is given in decibels (dB) relative to masking thesholds.<BR>\n *\n * over_noise: ??? (the previous comment is fully wrong)<BR>\n * tot_noise: ??? (the previous comment is fully wrong)<BR>\n * max_noise: max quantization noise\n */ var better;\n switch(quant_comp){\n default:\n case 9:\n if (best.over_count > 0) {\n /* there are distorted sfb */ better = calc.over_SSD <= best.over_SSD;\n if (calc.over_SSD == best.over_SSD) better = calc.bits < best.bits;\n } else /* no distorted sfb */ better = calc.max_noise < 0 && calc.max_noise * 10 + calc.bits <= best.max_noise * 10 + best.bits;\n break;\n case 0:\n better = calc.over_count < best.over_count || calc.over_count == best.over_count && calc.over_noise < best.over_noise || calc.over_count == best.over_count && BitStream.EQ(calc.over_noise, best.over_noise) && calc.tot_noise < best.tot_noise;\n break;\n case 8:\n calc.max_noise = get_klemm_noise(distort, gi);\n //$FALL-THROUGH$\n case 1:\n better = calc.max_noise < best.max_noise;\n break;\n case 2:\n better = calc.tot_noise < best.tot_noise;\n break;\n case 3:\n better = calc.tot_noise < best.tot_noise && calc.max_noise < best.max_noise;\n break;\n case 4:\n better = calc.max_noise <= 0.0 && best.max_noise > 0.2 || calc.max_noise <= 0.0 && best.max_noise < 0.0 && best.max_noise > calc.max_noise - 0.2 && calc.tot_noise < best.tot_noise || calc.max_noise <= 0.0 && best.max_noise > 0.0 && best.max_noise > calc.max_noise - 0.2 && calc.tot_noise < best.tot_noise + best.over_noise || calc.max_noise > 0.0 && best.max_noise > -0.05 && best.max_noise > calc.max_noise - 0.1 && calc.tot_noise + calc.over_noise < best.tot_noise + best.over_noise || calc.max_noise > 0.0 && best.max_noise > -0.1 && best.max_noise > calc.max_noise - 0.15 && calc.tot_noise + calc.over_noise + calc.over_noise < best.tot_noise + best.over_noise + best.over_noise;\n break;\n case 5:\n better = calc.over_noise < best.over_noise || BitStream.EQ(calc.over_noise, best.over_noise) && calc.tot_noise < best.tot_noise;\n break;\n case 6:\n better = calc.over_noise < best.over_noise || BitStream.EQ(calc.over_noise, best.over_noise) && (calc.max_noise < best.max_noise || BitStream.EQ(calc.max_noise, best.max_noise) && calc.tot_noise <= best.tot_noise);\n break;\n case 7:\n better = calc.over_count < best.over_count || calc.over_noise < best.over_noise;\n break;\n }\n if (best.over_count == 0) /*\n * If no distorted bands, only use this quantization if it is\n * better, and if it uses less bits. Unfortunately, part2_3_length\n * is sometimes a poor estimator of the final size at low bitrates.\n */ better = better && calc.bits < best.bits;\n return better;\n }\n /**\n * author/date??\n *\n * <PRE>\n * Amplify the scalefactor bands that violate the masking threshold.\n * See ISO 11172-3 Section C.1.5.4.3.5\n *\n * distort[] = noise/masking\n * distort[] > 1 ==> noise is not masked\n * distort[] < 1 ==> noise is masked\n * max_dist = maximum value of distort[]\n *\n * Three algorithms:\n * noise_shaping_amp\n * 0 Amplify all bands with distort[]>1.\n *\n * 1 Amplify all bands with distort[] >= max_dist^(.5);\n * ( 50% in the db scale)\n *\n * 2 Amplify first band with distort[] >= max_dist;\n *\n *\n * For algorithms 0 and 1, if max_dist < 1, then amplify all bands\n * with distort[] >= .95*max_dist. This is to make sure we always\n * amplify at least one band.\n * </PRE>\n */ function amp_scalefac_bands(gfp, cod_info, distort, xrpow, bRefine) {\n var gfc = gfp.internal_flags;\n var ifqstep34;\n if (cod_info.scalefac_scale == 0) ifqstep34 = 1.29683955465100964055;\n else ifqstep34 = 1.68179283050742922612;\n /* compute maximum value of distort[] */ var trigger = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++)if (trigger < distort[sfb]) trigger = distort[sfb];\n var noise_shaping_amp = gfc.noise_shaping_amp;\n if (noise_shaping_amp == 3) {\n if (bRefine) noise_shaping_amp = 2;\n else noise_shaping_amp = 1;\n }\n switch(noise_shaping_amp){\n case 2:\n break;\n case 1:\n /* amplify bands within 50% of max (on db scale) */ if (trigger > 1.0) trigger = Math.pow(trigger, .5);\n else trigger *= .95;\n break;\n case 0:\n default:\n /* ISO algorithm. amplify all bands with distort>1 */ if (trigger > 1.0) trigger = 1.0;\n else trigger *= .95;\n break;\n }\n var j = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++){\n var width = cod_info.width[sfb];\n var l;\n j += width;\n if (distort[sfb] < trigger) continue;\n if ((gfc.substep_shaping & 2) != 0) {\n gfc.pseudohalf[sfb] = 0 == gfc.pseudohalf[sfb] ? 1 : 0;\n if (0 == gfc.pseudohalf[sfb] && gfc.noise_shaping_amp == 2) return;\n }\n cod_info.scalefac[sfb]++;\n for(l = -width; l < 0; l++){\n xrpow[j + l] *= ifqstep34;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n if (gfc.noise_shaping_amp == 2) return;\n }\n }\n /**\n * Takehiro Tominaga 2000-xx-xx\n *\n * turns on scalefac scale and adjusts scalefactors\n */ function inc_scalefac_scale(cod_info, xrpow) {\n var ifqstep34 = 1.29683955465100964055;\n var j = 0;\n for(var sfb = 0; sfb < cod_info.sfbmax; sfb++){\n var width = cod_info.width[sfb];\n var s = cod_info.scalefac[sfb];\n if (cod_info.preflag != 0) s += qupvt.pretab[sfb];\n j += width;\n if ((s & 1) != 0) {\n s++;\n for(var l = -width; l < 0; l++){\n xrpow[j + l] *= ifqstep34;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n }\n cod_info.scalefac[sfb] = s >> 1;\n }\n cod_info.preflag = 0;\n cod_info.scalefac_scale = 1;\n }\n /**\n * Takehiro Tominaga 2000-xx-xx\n *\n * increases the subblock gain and adjusts scalefactors\n */ function inc_subblock_gain(gfc, cod_info, xrpow) {\n var sfb;\n var scalefac = cod_info.scalefac;\n /* subbloc_gain can't do anything in the long block region */ for(sfb = 0; sfb < cod_info.sfb_lmax; sfb++){\n if (scalefac[sfb] >= 16) return true;\n }\n for(var window = 0; window < 3; window++){\n var s1 = 0;\n var s2 = 0;\n for(sfb = cod_info.sfb_lmax + window; sfb < cod_info.sfbdivide; sfb += 3)if (s1 < scalefac[sfb]) s1 = scalefac[sfb];\n for(; sfb < cod_info.sfbmax; sfb += 3)if (s2 < scalefac[sfb]) s2 = scalefac[sfb];\n if (s1 < 16 && s2 < 8) continue;\n if (cod_info.subblock_gain[window] >= 7) return true;\n /*\n * even though there is no scalefactor for sfb12 subblock gain\n * affects upper frequencies too, that's why we have to go up to\n * SBMAX_s\n */ cod_info.subblock_gain[window]++;\n var j = gfc.scalefac_band.l[cod_info.sfb_lmax];\n for(sfb = cod_info.sfb_lmax + window; sfb < cod_info.sfbmax; sfb += 3){\n var amp;\n var width = cod_info.width[sfb];\n var s = scalefac[sfb];\n $df08f3a0d41b7a78$var$assert(s >= 0);\n s = s - (4 >> cod_info.scalefac_scale);\n if (s >= 0) {\n scalefac[sfb] = s;\n j += width * 3;\n continue;\n }\n scalefac[sfb] = 0;\n var gain = 210 + (s << cod_info.scalefac_scale + 1);\n amp = qupvt.IPOW20(gain);\n j += width * (window + 1);\n for(var l = -width; l < 0; l++){\n xrpow[j + l] *= amp;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n j += width * (3 - window - 1);\n }\n var amp = qupvt.IPOW20(202);\n j += cod_info.width[sfb] * (window + 1);\n for(var l = -cod_info.width[sfb]; l < 0; l++){\n xrpow[j + l] *= amp;\n if (xrpow[j + l] > cod_info.xrpow_max) cod_info.xrpow_max = xrpow[j + l];\n }\n }\n return false;\n }\n /**\n * <PRE>\n * Takehiro Tominaga /date??\n * Robert Hegemann 2000-09-06: made a function of it\n *\n * amplifies scalefactor bands,\n * - if all are already amplified returns 0\n * - if some bands are amplified too much:\n * * try to increase scalefac_scale\n * * if already scalefac_scale was set\n * try on short blocks to increase subblock gain\n * </PRE>\n */ function balance_noise(gfp, cod_info, distort, xrpow, bRefine) {\n var gfc = gfp.internal_flags;\n amp_scalefac_bands(gfp, cod_info, distort, xrpow, bRefine);\n /*\n * check to make sure we have not amplified too much loop_break returns\n * 0 if there is an unamplified scalefac scale_bitcount returns 0 if no\n * scalefactors are too large\n */ var status = loop_break(cod_info);\n if (status) return false;\n /* all bands amplified */ /*\n * not all scalefactors have been amplified. so these scalefacs are\n * possibly valid. encode them:\n */ if (gfc.mode_gr == 2) status = tk.scale_bitcount(cod_info);\n else status = tk.scale_bitcount_lsf(gfc, cod_info);\n if (!status) return true;\n /* amplified some bands not exceeding limits */ /*\n * some scalefactors are too large. lets try setting scalefac_scale=1\n */ if (gfc.noise_shaping > 1) {\n $df08f3a0d41b7a78$var$Arrays.fill(gfc.pseudohalf, 0);\n if (0 == cod_info.scalefac_scale) {\n inc_scalefac_scale(cod_info, xrpow);\n status = false;\n } else if (cod_info.block_type == $cPNKB.SHORT_TYPE && gfc.subblock_gain > 0) status = inc_subblock_gain(gfc, cod_info, xrpow) || loop_break(cod_info);\n }\n if (!status) {\n if (gfc.mode_gr == 2) status = tk.scale_bitcount(cod_info);\n else status = tk.scale_bitcount_lsf(gfc, cod_info);\n }\n return !status;\n }\n /**\n * <PRE>\n * Function: The outer iteration loop controls the masking conditions\n * of all scalefactorbands. It computes the best scalefac and\n * global gain. This module calls the inner iteration loop\n *\n * mt 5/99 completely rewritten to allow for bit reservoir control,\n * mid/side channels with L/R or mid/side masking thresholds,\n * and chooses best quantization instead of last quantization when\n * no distortion free quantization can be found.\n *\n * added VBR support mt 5/99\n *\n * some code shuffle rh 9/00\n * </PRE>\n *\n * @param l3_xmin\n * allowed distortion\n * @param xrpow\n * coloured magnitudes of spectral\n * @param targ_bits\n * maximum allowed bits\n */ this.outer_loop = function(gfp, cod_info, l3_xmin, xrpow, ch, targ_bits) {\n var gfc = gfp.internal_flags;\n var cod_info_w = new $7weBo();\n var save_xrpow = $df08f3a0d41b7a78$var$new_float(576);\n var distort = $df08f3a0d41b7a78$var$new_float($arIi9.SFBMAX);\n var best_noise_info = new $3afa85f14aff627b$exports();\n var better;\n var prev_noise = new $4fc41bdea3aedc83$exports();\n var best_part2_3_length = 9999999;\n var bEndOfSearch = false;\n var bRefine = false;\n var best_ggain_pass1 = 0;\n bin_search_StepSize(gfc, cod_info, targ_bits, ch, xrpow);\n if (0 == gfc.noise_shaping) /* fast mode, no noise shaping, we are ready */ return 100;\n /* default noise_info.over_count */ /* compute the distortion in this quantization */ /* coefficients and thresholds both l/r (or both mid/side) */ qupvt.calc_noise(cod_info, l3_xmin, distort, best_noise_info, prev_noise);\n best_noise_info.bits = cod_info.part2_3_length;\n cod_info_w.assign(cod_info);\n var age = 0;\n $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, save_xrpow, 0, 576);\n while(!bEndOfSearch){\n /* BEGIN MAIN LOOP */ do {\n var noise_info = new $3afa85f14aff627b$exports();\n var search_limit;\n var maxggain = 255;\n /*\n * When quantization with no distorted bands is found, allow up\n * to X new unsuccesful tries in serial. This gives us more\n * possibilities for different quant_compare modes. Much more\n * than 3 makes not a big difference, it is only slower.\n */ if ((gfc.substep_shaping & 2) != 0) search_limit = 20;\n else search_limit = 3;\n /*\n * Check if the last scalefactor band is distorted. in VBR mode\n * we can't get rid of the distortion, so quit now and VBR mode\n * will try again with more bits. (makes a 10% speed increase,\n * the files I tested were binary identical, 2000/05/20 Robert\n * Hegemann) distort[] > 1 means noise > allowed noise\n */ if (gfc.sfb21_extra) {\n if (distort[cod_info_w.sfbmax] > 1.0) break;\n if (cod_info_w.block_type == $cPNKB.SHORT_TYPE && (distort[cod_info_w.sfbmax + 1] > 1.0 || distort[cod_info_w.sfbmax + 2] > 1.0)) break;\n }\n /* try a new scalefactor conbination on cod_info_w */ if (!balance_noise(gfp, cod_info_w, distort, xrpow, bRefine)) break;\n if (cod_info_w.scalefac_scale != 0) maxggain = 254;\n /*\n * inner_loop starts with the initial quantization step computed\n * above and slowly increases until the bits < huff_bits. Thus\n * it is important not to start with too large of an inital\n * quantization step. Too small is ok, but inner_loop will take\n * longer\n */ var huff_bits = targ_bits - cod_info_w.part2_length;\n if (huff_bits <= 0) break;\n /*\n * increase quantizer stepsize until needed bits are below\n * maximum\n */ while((cod_info_w.part2_3_length = tk.count_bits(gfc, xrpow, cod_info_w, prev_noise)) > huff_bits && cod_info_w.global_gain <= maxggain)cod_info_w.global_gain++;\n if (cod_info_w.global_gain > maxggain) break;\n if (best_noise_info.over_count == 0) {\n while((cod_info_w.part2_3_length = tk.count_bits(gfc, xrpow, cod_info_w, prev_noise)) > best_part2_3_length && cod_info_w.global_gain <= maxggain)cod_info_w.global_gain++;\n if (cod_info_w.global_gain > maxggain) break;\n }\n /* compute the distortion in this quantization */ qupvt.calc_noise(cod_info_w, l3_xmin, distort, noise_info, prev_noise);\n noise_info.bits = cod_info_w.part2_3_length;\n /*\n * check if this quantization is better than our saved\n * quantization\n */ if (cod_info.block_type != $cPNKB.SHORT_TYPE) // NORM, START or STOP type\n better = gfp.quant_comp;\n else better = gfp.quant_comp_short;\n better = quant_compare(better, best_noise_info, noise_info, cod_info_w, distort) ? 1 : 0;\n /* save data so we can restore this quantization later */ if (better != 0) {\n best_part2_3_length = cod_info.part2_3_length;\n best_noise_info = noise_info;\n cod_info.assign(cod_info_w);\n age = 0;\n /* save data so we can restore this quantization later */ /* store for later reuse */ $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, save_xrpow, 0, 576);\n } else /* early stop? */ if (gfc.full_outer_loop == 0) {\n if (++age > search_limit && best_noise_info.over_count == 0) break;\n if (gfc.noise_shaping_amp == 3 && bRefine && age > 30) break;\n if (gfc.noise_shaping_amp == 3 && bRefine && cod_info_w.global_gain - best_ggain_pass1 > 15) break;\n }\n }while (cod_info_w.global_gain + cod_info_w.scalefac_scale < 255);\n if (gfc.noise_shaping_amp == 3) {\n if (!bRefine) {\n /* refine search */ cod_info_w.assign(cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(save_xrpow, 0, xrpow, 0, 576);\n age = 0;\n best_ggain_pass1 = cod_info_w.global_gain;\n bRefine = true;\n } else /* search already refined, stop */ bEndOfSearch = true;\n } else bEndOfSearch = true;\n }\n $df08f3a0d41b7a78$var$assert(cod_info.global_gain + cod_info.scalefac_scale <= 255);\n /*\n * finish up\n */ if (gfp.VBR == $df08f3a0d41b7a78$var$VbrMode.vbr_rh || gfp.VBR == $df08f3a0d41b7a78$var$VbrMode.vbr_mtrh) /* restore for reuse on next try */ $df08f3a0d41b7a78$var$System.arraycopy(save_xrpow, 0, xrpow, 0, 576);\n else if ((gfc.substep_shaping & 1) != 0) trancate_smallspectrums(gfc, cod_info, l3_xmin, xrpow);\n return best_noise_info.over_count;\n };\n /**\n * Robert Hegemann 2000-09-06\n *\n * update reservoir status after FINAL quantization/bitrate\n */ this.iteration_finish_one = function(gfc, gr, ch) {\n var l3_side = gfc.l3_side;\n var cod_info = l3_side.tt[gr][ch];\n /*\n * try some better scalefac storage\n */ tk.best_scalefac_store(gfc, gr, ch, l3_side);\n /*\n * best huffman_divide may save some bits too\n */ if (gfc.use_best_huffman == 1) tk.best_huffman_divide(gfc, cod_info);\n /*\n * update reservoir status after FINAL quantization/bitrate\n */ rv.ResvAdjust(gfc, cod_info);\n };\n /**\n *\n * 2000-09-04 Robert Hegemann\n *\n * @param l3_xmin\n * allowed distortion of the scalefactor\n * @param xrpow\n * coloured magnitudes of spectral values\n */ this.VBR_encode_granule = function(gfp, cod_info, l3_xmin, xrpow, ch, min_bits, max_bits) {\n var gfc = gfp.internal_flags;\n var bst_cod_info = new $7weBo();\n var bst_xrpow = $df08f3a0d41b7a78$var$new_float(576);\n var Max_bits = max_bits;\n var real_bits = max_bits + 1;\n var this_bits = (max_bits + min_bits) / 2;\n var dbits, over, found = 0;\n var sfb21_extra = gfc.sfb21_extra;\n $df08f3a0d41b7a78$var$assert(Max_bits <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n $df08f3a0d41b7a78$var$Arrays.fill(bst_cod_info.l3_enc, 0);\n /*\n * search within round about 40 bits of optimal\n */ do {\n $df08f3a0d41b7a78$var$assert(this_bits >= min_bits);\n $df08f3a0d41b7a78$var$assert(this_bits <= max_bits);\n $df08f3a0d41b7a78$var$assert(min_bits <= max_bits);\n if (this_bits > Max_bits - 42) gfc.sfb21_extra = false;\n else gfc.sfb21_extra = sfb21_extra;\n over = outer_loop(gfp, cod_info, l3_xmin, xrpow, ch, this_bits);\n /*\n * is quantization as good as we are looking for ? in this case: is\n * no scalefactor band distorted?\n */ if (over <= 0) {\n found = 1;\n /*\n * now we know it can be done with \"real_bits\" and maybe we can\n * skip some iterations\n */ real_bits = cod_info.part2_3_length;\n /*\n * store best quantization so far\n */ bst_cod_info.assign(cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(xrpow, 0, bst_xrpow, 0, 576);\n /*\n * try with fewer bits\n */ max_bits = real_bits - 32;\n dbits = max_bits - min_bits;\n this_bits = (max_bits + min_bits) / 2;\n } else {\n /*\n * try with more bits\n */ min_bits = this_bits + 32;\n dbits = max_bits - min_bits;\n this_bits = (max_bits + min_bits) / 2;\n if (found != 0) {\n found = 2;\n /*\n * start again with best quantization so far\n */ cod_info.assign(bst_cod_info);\n $df08f3a0d41b7a78$var$System.arraycopy(bst_xrpow, 0, xrpow, 0, 576);\n }\n }\n }while (dbits > 12);\n gfc.sfb21_extra = sfb21_extra;\n /*\n * found=0 => nothing found, use last one found=1 => we just found the\n * best and left the loop found=2 => we restored a good one and have now\n * l3_enc to restore too\n */ if (found == 2) $df08f3a0d41b7a78$var$System.arraycopy(bst_cod_info.l3_enc, 0, cod_info.l3_enc, 0, 576);\n $df08f3a0d41b7a78$var$assert(cod_info.part2_3_length <= Max_bits);\n };\n /**\n * Robert Hegemann 2000-09-05\n *\n * calculates * how many bits are available for analog silent granules * how\n * many bits to use for the lowest allowed bitrate * how many bits each\n * bitrate would provide\n */ this.get_framebits = function(gfp, frameBits) {\n var gfc = gfp.internal_flags;\n /*\n * always use at least this many bits per granule per channel unless we\n * detect analog silence, see below\n */ gfc.bitrate_index = gfc.VBR_min_bitrate;\n var bitsPerFrame = bs.getframebits(gfp);\n /*\n * bits for analog silence\n */ gfc.bitrate_index = 1;\n bitsPerFrame = bs.getframebits(gfp);\n for(var i = 1; i <= gfc.VBR_max_bitrate; i++){\n gfc.bitrate_index = i;\n var mb = new MeanBits(bitsPerFrame);\n frameBits[i] = rv.ResvFrameBegin(gfp, mb);\n bitsPerFrame = mb.bits;\n }\n };\n /* RH: this one needs to be overhauled sometime */ /**\n * <PRE>\n * 2000-09-04 Robert Hegemann\n *\n * * converts LR to MS coding when necessary\n * * calculates allowed/adjusted quantization noise amounts\n * * detects analog silent frames\n *\n * some remarks:\n * - lower masking depending on Quality setting\n * - quality control together with adjusted ATH MDCT scaling\n * on lower quality setting allocate more noise from\n * ATH masking, and on higher quality setting allocate\n * less noise from ATH masking.\n * - experiments show that going more than 2dB over GPSYCHO's\n * limits ends up in very annoying artefacts\n * </PRE>\n */ this.VBR_old_prepare = function(gfp, pe, ms_ener_ratio, ratio, l3_xmin, frameBits, min_bits, max_bits, bands) {\n var gfc = gfp.internal_flags;\n var masking_lower_db, adjust = 0.0;\n var analog_silence = 1;\n var bits = 0;\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var avg = rv.ResvFrameBegin(gfp, new MeanBits(0)) / gfc.mode_gr;\n get_framebits(gfp, frameBits);\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n var mxb = qupvt.on_pe(gfp, pe, max_bits[gr], avg, gr, 0);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) {\n ms_convert(gfc.l3_side, gr);\n qupvt.reduce_side(max_bits[gr], ms_ener_ratio[gr], avg, mxb);\n }\n for(var ch = 0; ch < gfc.channels_out; ++ch){\n var cod_info = gfc.l3_side.tt[gr][ch];\n if (cod_info.block_type != $cPNKB.SHORT_TYPE) {\n // NORM, START or STOP type\n adjust = 1.28 / (1 + Math.exp(3.5 - pe[gr][ch] / 300.)) - 0.05;\n masking_lower_db = gfc.PSY.mask_adjust - adjust;\n } else {\n adjust = 2.56 / (1 + Math.exp(3.5 - pe[gr][ch] / 300.)) - 0.14;\n masking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n }\n gfc.masking_lower = Math.pow(10.0, masking_lower_db * 0.1);\n init_outer_loop(gfc, cod_info);\n bands[gr][ch] = qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin[gr][ch]);\n if (bands[gr][ch] != 0) analog_silence = 0;\n min_bits[gr][ch] = 126;\n bits += max_bits[gr][ch];\n }\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n if (bits > frameBits[gfc.VBR_max_bitrate]) {\n max_bits[gr][ch] *= frameBits[gfc.VBR_max_bitrate];\n max_bits[gr][ch] /= bits;\n }\n if (min_bits[gr][ch] > max_bits[gr][ch]) min_bits[gr][ch] = max_bits[gr][ch];\n }\n /* for gr */ return analog_silence;\n };\n this.bitpressure_strategy = function(gfc, l3_xmin, min_bits, max_bits) {\n for(var gr = 0; gr < gfc.mode_gr; gr++)for(var ch = 0; ch < gfc.channels_out; ch++){\n var gi = gfc.l3_side.tt[gr][ch];\n var pxmin = l3_xmin[gr][ch];\n var pxminPos = 0;\n for(var sfb = 0; sfb < gi.psy_lmax; sfb++)pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_l / $cPNKB.SBMAX_l;\n if (gi.block_type == $cPNKB.SHORT_TYPE) for(var sfb = gi.sfb_smin; sfb < $cPNKB.SBMAX_s; sfb++){\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n pxmin[pxminPos++] *= 1. + .029 * sfb * sfb / $cPNKB.SBMAX_s / $cPNKB.SBMAX_s;\n }\n max_bits[gr][ch] = 0 | Math.max(min_bits[gr][ch], 0.9 * max_bits[gr][ch]);\n }\n };\n this.VBR_new_prepare = function(gfp, pe, ratio, l3_xmin, frameBits, max_bits) {\n var gfc = gfp.internal_flags;\n var analog_silence = 1;\n var avg = 0, bits = 0;\n var maximum_framebits;\n if (!gfp.free_format) {\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var mb = new MeanBits(avg);\n rv.ResvFrameBegin(gfp, mb);\n avg = mb.bits;\n get_framebits(gfp, frameBits);\n maximum_framebits = frameBits[gfc.VBR_max_bitrate];\n } else {\n gfc.bitrate_index = 0;\n var mb = new MeanBits(avg);\n maximum_framebits = rv.ResvFrameBegin(gfp, mb);\n avg = mb.bits;\n frameBits[0] = maximum_framebits;\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n qupvt.on_pe(gfp, pe, max_bits[gr], avg, gr, 0);\n if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) ms_convert(gfc.l3_side, gr);\n for(var ch = 0; ch < gfc.channels_out; ++ch){\n var cod_info = gfc.l3_side.tt[gr][ch];\n gfc.masking_lower = Math.pow(10.0, gfc.PSY.mask_adjust * 0.1);\n init_outer_loop(gfc, cod_info);\n if (0 != qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info, l3_xmin[gr][ch])) analog_silence = 0;\n bits += max_bits[gr][ch];\n }\n }\n for(var gr = 0; gr < gfc.mode_gr; gr++){\n for(var ch = 0; ch < gfc.channels_out; ch++)if (bits > maximum_framebits) {\n max_bits[gr][ch] *= maximum_framebits;\n max_bits[gr][ch] /= bits;\n }\n /* for ch */ }\n /* for gr */ return analog_silence;\n };\n /**\n * calculates target bits for ABR encoding\n *\n * mt 2000/05/31\n */ this.calc_target_bits = function(gfp, pe, ms_ener_ratio, targ_bits, analog_silence_bits, max_frame_bits) {\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n var res_factor;\n var gr, ch, totbits, mean_bits = 0;\n gfc.bitrate_index = gfc.VBR_max_bitrate;\n var mb = new MeanBits(mean_bits);\n max_frame_bits[0] = rv.ResvFrameBegin(gfp, mb);\n mean_bits = mb.bits;\n gfc.bitrate_index = 1;\n mean_bits = bs.getframebits(gfp) - gfc.sideinfo_len * 8;\n analog_silence_bits[0] = mean_bits / (gfc.mode_gr * gfc.channels_out);\n mean_bits = gfp.VBR_mean_bitrate_kbps * gfp.framesize * 1000;\n if ((gfc.substep_shaping & 1) != 0) mean_bits *= 1.09;\n mean_bits /= gfp.out_samplerate;\n mean_bits -= gfc.sideinfo_len * 8;\n mean_bits /= gfc.mode_gr * gfc.channels_out;\n /**\n * <PRE>\n * res_factor is the percentage of the target bitrate that should\n * be used on average. the remaining bits are added to the\n * bitreservoir and used for difficult to encode frames.\n *\n * Since we are tracking the average bitrate, we should adjust\n * res_factor \"on the fly\", increasing it if the average bitrate\n * is greater than the requested bitrate, and decreasing it\n * otherwise. Reasonable ranges are from .9 to 1.0\n *\n * Until we get the above suggestion working, we use the following\n * tuning:\n * compression ratio res_factor\n * 5.5 (256kbps) 1.0 no need for bitreservoir\n * 11 (128kbps) .93 7% held for reservoir\n *\n * with linear interpolation for other values.\n * </PRE>\n */ res_factor = .93 + .07 * (11.0 - gfp.compression_ratio) / 5.5;\n if (res_factor < .90) res_factor = .90;\n if (res_factor > 1.00) res_factor = 1.00;\n for(gr = 0; gr < gfc.mode_gr; gr++){\n var sum = 0;\n for(ch = 0; ch < gfc.channels_out; ch++){\n targ_bits[gr][ch] = int(res_factor * mean_bits);\n if (pe[gr][ch] > 700) {\n var add_bits = int((pe[gr][ch] - 700) / 1.4);\n var cod_info = l3_side.tt[gr][ch];\n targ_bits[gr][ch] = int(res_factor * mean_bits);\n /* short blocks use a little extra, no matter what the pe */ if (cod_info.block_type == $cPNKB.SHORT_TYPE) {\n if (add_bits < mean_bits / 2) add_bits = mean_bits / 2;\n }\n /* at most increase bits by 1.5*average */ if (add_bits > mean_bits * 3 / 2) add_bits = mean_bits * 3 / 2;\n else if (add_bits < 0) add_bits = 0;\n targ_bits[gr][ch] += add_bits;\n }\n if (targ_bits[gr][ch] > LameInternalFlags.MAX_BITS_PER_CHANNEL) targ_bits[gr][ch] = LameInternalFlags.MAX_BITS_PER_CHANNEL;\n sum += targ_bits[gr][ch];\n }\n /* for ch */ if (sum > LameInternalFlags.MAX_BITS_PER_GRANULE) for(ch = 0; ch < gfc.channels_out; ++ch){\n targ_bits[gr][ch] *= LameInternalFlags.MAX_BITS_PER_GRANULE;\n targ_bits[gr][ch] /= sum;\n }\n }\n /* for gr */ if (gfc.mode_ext == $cPNKB.MPG_MD_MS_LR) for(gr = 0; gr < gfc.mode_gr; gr++)qupvt.reduce_side(targ_bits[gr], ms_ener_ratio[gr], mean_bits * gfc.channels_out, LameInternalFlags.MAX_BITS_PER_GRANULE);\n /*\n * sum target bits\n */ totbits = 0;\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n if (targ_bits[gr][ch] > LameInternalFlags.MAX_BITS_PER_CHANNEL) targ_bits[gr][ch] = LameInternalFlags.MAX_BITS_PER_CHANNEL;\n totbits += targ_bits[gr][ch];\n }\n /*\n * repartion target bits if needed\n */ if (totbits > max_frame_bits[0]) {\n for(gr = 0; gr < gfc.mode_gr; gr++)for(ch = 0; ch < gfc.channels_out; ch++){\n targ_bits[gr][ch] *= max_frame_bits[0];\n targ_bits[gr][ch] /= totbits;\n }\n }\n };\n}\n$df08f3a0d41b7a78$exports = $df08f3a0d41b7a78$var$Quantize;\n\n\n\nvar $65Sx2 = parcelRequire(\"65Sx2\");\nvar $b5a7ab7c590f5d1e$exports = {};\n/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */ /* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */ //package mp3;\n/**\n * ResvFrameBegin:<BR>\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter<BR>\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n * <PRE>\n * 1. The following rule can be used to calculate the maximum\n * number of bits used for one granule [^W frame]:<BR>\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:<BR>\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n * </PRE>\n */ \nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $b5a7ab7c590f5d1e$var$assert = $3YDN3.assert;\nfunction $b5a7ab7c590f5d1e$var$Reservoir() {\n var bs;\n this.setModules = function(_bs) {\n bs = _bs;\n };\n this.ResvFrameBegin = function(gfp, mean_bits) {\n var gfc = gfp.internal_flags;\n var maxmp3buf;\n var l3_side = gfc.l3_side;\n var frameLength = bs.getframebits(gfp);\n mean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n /**\n\t\t * <PRE>\n\t\t * Meaning of the variables:\n\t\t * resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t * Number of bits can be stored in previous frame(s) due to\n\t\t * counter size constaints\n\t\t * maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t * Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t * from the bit reservoir and at most 8*1440 bit from the current\n\t\t * frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t * value for MPEG-1 and -2)\n\t\t * \n\t\t * maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t * so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t * fullFrameBits: maximum number of bits available for encoding\n\t\t * the current frame.\n\t\t * \n\t\t * mean_bits: target number of bits per granule.\n\t\t * \n\t\t * frameLength:\n\t\t * \n\t\t * gfc.ResvMax: maximum allowed reservoir\n\t\t * \n\t\t * gfc.ResvSize: current reservoir size\n\t\t * \n\t\t * l3_side.resvDrain_pre:\n\t\t * ancillary data to be added to previous frame:\n\t\t * (only usefull in VBR modes if it is possible to have\n\t\t * maxmp3buf < fullFrameBits)). Currently disabled,\n\t\t * see #define NEW_DRAIN\n\t\t * 2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t * as there exists one example, where the FhG decoder\n\t\t * can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t * l3_side.resvDrain_post:\n\t\t * ancillary data to be added to this frame:\n\t\t * \n\t\t * </PRE>\n\t\t */ /* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */ var resvLimit = 2048 * gfc.mode_gr - 8;\n /*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */ if (gfp.brate > 320) /* in freeformat the buffer is constant */ maxmp3buf = 8 * int(gfp.brate * 1000 / (gfp.out_samplerate / 1152) / 8 + .5);\n else {\n /*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */ maxmp3buf = 11520;\n /*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */ if (gfp.strict_ISO) maxmp3buf = 8 * int(320000 / (gfp.out_samplerate / 1152) / 8 + .5);\n }\n gfc.ResvMax = maxmp3buf - frameLength;\n if (gfc.ResvMax > resvLimit) gfc.ResvMax = resvLimit;\n if (gfc.ResvMax < 0 || gfp.disable_reservoir) gfc.ResvMax = 0;\n var fullFrameBits = mean_bits.bits * gfc.mode_gr + Math.min(gfc.ResvSize, gfc.ResvMax);\n if (fullFrameBits > maxmp3buf) fullFrameBits = maxmp3buf;\n $b5a7ab7c590f5d1e$var$assert(0 == gfc.ResvMax % 8);\n $b5a7ab7c590f5d1e$var$assert(gfc.ResvMax >= 0);\n l3_side.resvDrain_pre = 0;\n // frame analyzer code\n if (gfc.pinfo != null) {\n /*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */ gfc.pinfo.mean_bits = mean_bits.bits / 2;\n gfc.pinfo.resvsize = gfc.ResvSize;\n }\n return fullFrameBits;\n };\n /**\n\t * returns targ_bits: target number of bits to use for 1 granule<BR>\n\t * extra_bits: amount extra available from reservoir<BR>\n\t * Mark Taylor 4/99\n\t */ this.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n var gfc = gfp.internal_flags;\n var add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n /* compensate the saved bits used in the 1st granule */ if (cbr != 0) ResvSize += mean_bits;\n if ((gfc.substep_shaping & 1) != 0) ResvMax *= 0.9;\n targ_bits.bits = mean_bits;\n /* extra bits if the reservoir is almost full */ if (ResvSize * 10 > ResvMax * 9) {\n add_bits = ResvSize - ResvMax * 9 / 10;\n targ_bits.bits += add_bits;\n gfc.substep_shaping |= 0x80;\n } else {\n add_bits = 0;\n gfc.substep_shaping &= 0x7f;\n /*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */ if (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1)) targ_bits.bits -= .1 * mean_bits;\n }\n /* amount from the reservoir we are allowed to use. ISO says 6/10 */ var extra_bits = ResvSize < gfc.ResvMax * 6 / 10 ? ResvSize : gfc.ResvMax * 6 / 10;\n extra_bits -= add_bits;\n if (extra_bits < 0) extra_bits = 0;\n return extra_bits;\n };\n /**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */ this.ResvAdjust = function(gfc, gi) {\n gfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n };\n /**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */ this.ResvFrameEnd = function(gfc, mean_bits) {\n var over_bits;\n var l3_side = gfc.l3_side;\n gfc.ResvSize += mean_bits * gfc.mode_gr;\n var stuffingBits = 0;\n l3_side.resvDrain_post = 0;\n l3_side.resvDrain_pre = 0;\n /* we must be byte aligned */ if ((over_bits = gfc.ResvSize % 8) != 0) stuffingBits += over_bits;\n over_bits = gfc.ResvSize - stuffingBits - gfc.ResvMax;\n if (over_bits > 0) {\n $b5a7ab7c590f5d1e$var$assert(0 == over_bits % 8);\n $b5a7ab7c590f5d1e$var$assert(over_bits >= 0);\n stuffingBits += over_bits;\n }\n var mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n l3_side.resvDrain_pre += 8 * mdb_bytes;\n stuffingBits -= 8 * mdb_bytes;\n gfc.ResvSize -= 8 * mdb_bytes;\n l3_side.main_data_begin -= mdb_bytes;\n /* drain the rest into this frames ancillary data */ l3_side.resvDrain_post += stuffingBits;\n gfc.ResvSize -= stuffingBits;\n };\n}\n$b5a7ab7c590f5d1e$exports = $b5a7ab7c590f5d1e$var$Reservoir;\n\n\n\nvar $jL6I1 = parcelRequire(\"jL6I1\");\n\nvar $ctaQC = parcelRequire(\"ctaQC\");\nparcelRequire(\"cPNKB\");\nvar $34609aeb1df0c2af$exports = {};\nfunction $34609aeb1df0c2af$var$Version() {\n /**\n * URL for the LAME website.\n */ var LAME_URL = \"http://www.mp3dev.org/\";\n /**\n * Major version number.\n */ var LAME_MAJOR_VERSION = 3;\n /**\n * Minor version number.\n */ var LAME_MINOR_VERSION = 98;\n /**\n * Patch level.\n */ var LAME_PATCH_VERSION = 4;\n /**\n * Major version number.\n */ var PSY_MAJOR_VERSION = 0;\n /**\n * Minor version number.\n */ var PSY_MINOR_VERSION = 93;\n /**\n * A string which describes the version of LAME.\n *\n * @return string which describes the version of LAME\n */ this.getLameVersion = function() {\n // primary to write screen reports\n return LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \".\" + LAME_PATCH_VERSION;\n };\n /**\n * The short version of the LAME version string.\n *\n * @return short version of the LAME version string\n */ this.getLameShortVersion = function() {\n // Adding date and time to version string makes it harder for output\n // validation\n return LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \".\" + LAME_PATCH_VERSION;\n };\n /**\n * The shortest version of the LAME version string.\n *\n * @return shortest version of the LAME version string\n */ this.getLameVeryShortVersion = function() {\n // Adding date and time to version string makes it harder for output\n return \"LAME\" + LAME_MAJOR_VERSION + \".\" + LAME_MINOR_VERSION + \"r\";\n };\n /**\n * String which describes the version of GPSYCHO\n *\n * @return string which describes the version of GPSYCHO\n */ this.getPsyVersion = function() {\n return PSY_MAJOR_VERSION + \".\" + PSY_MINOR_VERSION;\n };\n /**\n * String which is a URL for the LAME website.\n *\n * @return string which is a URL for the LAME website\n */ this.getLameUrl = function() {\n return LAME_URL;\n };\n /**\n * Quite useless for a java version, however we are compatible ;-)\n *\n * @return \"32bits\"\n */ this.getLameOsBitness = function() {\n return \"32bits\";\n };\n}\n$34609aeb1df0c2af$exports = $34609aeb1df0c2af$var$Version;\n\n\nvar $e674985ea62d27cf$exports = {};\n\nvar $3YDN3 = parcelRequire(\"3YDN3\");\nvar $e674985ea62d27cf$var$System = $3YDN3.System;\nvar $e674985ea62d27cf$var$VbrMode = $3YDN3.VbrMode;\nvar $e674985ea62d27cf$var$Float = $3YDN3.Float;\nvar $e674985ea62d27cf$var$ShortBlock = $3YDN3.ShortBlock;\nvar $e674985ea62d27cf$var$Util = $3YDN3.Util;\nvar $e674985ea62d27cf$var$Arrays = $3YDN3.Arrays;\nvar $e674985ea62d27cf$var$new_array_n = $3YDN3.new_array_n;\nvar $e674985ea62d27cf$var$new_byte = $3YDN3.new_byte;\nvar $e674985ea62d27cf$var$new_double = $3YDN3.new_double;\nvar $e674985ea62d27cf$var$new_float = $3YDN3.new_float;\nvar $e674985ea62d27cf$var$new_float_n = $3YDN3.new_float_n;\nvar $e674985ea62d27cf$var$new_int = $3YDN3.new_int;\nvar $e674985ea62d27cf$var$new_int_n = $3YDN3.new_int_n;\nvar $e674985ea62d27cf$var$assert = $3YDN3.assert;\n/**\n * A Vbr header may be present in the ancillary data field of the first frame of\n * an mp3 bitstream<BR>\n * The Vbr header (optionally) contains\n * <UL>\n * <LI>frames total number of audio frames in the bitstream\n * <LI>bytes total number of bytes in the bitstream\n * <LI>toc table of contents\n * </UL>\n *\n * toc (table of contents) gives seek points for random access.<BR>\n * The ith entry determines the seek point for i-percent duration.<BR>\n * seek point in bytes = (toc[i]/256.0) * total_bitstream_bytes<BR>\n * e.g. half duration seek point = (toc[50]/256.0) * total_bitstream_bytes\n */ $e674985ea62d27cf$var$VBRTag.NUMTOCENTRIES = 100;\n$e674985ea62d27cf$var$VBRTag.MAXFRAMESIZE = 2880;\nfunction $e674985ea62d27cf$var$VBRTag() {\n var lame;\n var bs;\n var v;\n this.setModules = function(_lame, _bs, _v) {\n lame = _lame;\n bs = _bs;\n v = _v;\n };\n var FRAMES_FLAG = 0x0001;\n var BYTES_FLAG = 0x0002;\n var TOC_FLAG = 0x0004;\n var VBR_SCALE_FLAG = 0x0008;\n var NUMTOCENTRIES = $e674985ea62d27cf$var$VBRTag.NUMTOCENTRIES;\n /**\n * (0xB40) the max freeformat 640 32kHz framesize.\n */ var MAXFRAMESIZE = $e674985ea62d27cf$var$VBRTag.MAXFRAMESIZE;\n /**\n * <PRE>\n * 4 bytes for Header Tag\n * 4 bytes for Header Flags\n * 100 bytes for entry (toc)\n * 4 bytes for frame size\n * 4 bytes for stream size\n * 4 bytes for VBR scale. a VBR quality indicator: 0=best 100=worst\n * 20 bytes for LAME tag. for example, \"LAME3.12 (beta 6)\"\n * ___________\n * 140 bytes\n * </PRE>\n */ var VBRHEADERSIZE = NUMTOCENTRIES + 4 + 4 + 4 + 4 + 4;\n var LAMEHEADERSIZE = VBRHEADERSIZE + 9 + 1 + 1 + 8 + 1 + 1 + 3 + 1 + 1 + 2 + 4 + 2 + 2;\n /**\n * The size of the Xing header MPEG-1, bit rate in kbps.\n */ var XING_BITRATE1 = 128;\n /**\n * The size of the Xing header MPEG-2, bit rate in kbps.\n */ var XING_BITRATE2 = 64;\n /**\n * The size of the Xing header MPEG-2.5, bit rate in kbps.\n */ var XING_BITRATE25 = 32;\n /**\n * ISO-8859-1 charset for byte to string operations.\n */ var ISO_8859_1 = null; //Charset.forName(\"ISO-8859-1\");\n /**\n * VBR header magic string.\n */ var VBRTag0 = \"Xing\";\n /**\n * VBR header magic string (VBR == VBRMode.vbr_off).\n */ var VBRTag1 = \"Info\";\n /**\n * Lookup table for fast CRC-16 computation. Uses the polynomial\n * x^16+x^15+x^2+1\n */ var crc16Lookup = [\n 0x0000,\n 0xC0C1,\n 0xC181,\n 0x0140,\n 0xC301,\n 0x03C0,\n 0x0280,\n 0xC241,\n 0xC601,\n 0x06C0,\n 0x0780,\n 0xC741,\n 0x0500,\n 0xC5C1,\n 0xC481,\n 0x0440,\n 0xCC01,\n 0x0CC0,\n 0x0D80,\n 0xCD41,\n 0x0F00,\n 0xCFC1,\n 0xCE81,\n 0x0E40,\n 0x0A00,\n 0xCAC1,\n 0xCB81,\n 0x0B40,\n 0xC901,\n 0x09C0,\n 0x0880,\n 0xC841,\n 0xD801,\n 0x18C0,\n 0x1980,\n 0xD941,\n 0x1B00,\n 0xDBC1,\n 0xDA81,\n 0x1A40,\n 0x1E00,\n 0xDEC1,\n 0xDF81,\n 0x1F40,\n 0xDD01,\n 0x1DC0,\n 0x1C80,\n 0xDC41,\n 0x1400,\n 0xD4C1,\n 0xD581,\n 0x1540,\n 0xD701,\n 0x17C0,\n 0x1680,\n 0xD641,\n 0xD201,\n 0x12C0,\n 0x1380,\n 0xD341,\n 0x1100,\n 0xD1C1,\n 0xD081,\n 0x1040,\n 0xF001,\n 0x30C0,\n 0x3180,\n 0xF141,\n 0x3300,\n 0xF3C1,\n 0xF281,\n 0x3240,\n 0x3600,\n 0xF6C1,\n 0xF781,\n 0x3740,\n 0xF501,\n 0x35C0,\n 0x3480,\n 0xF441,\n 0x3C00,\n 0xFCC1,\n 0xFD81,\n 0x3D40,\n 0xFF01,\n 0x3FC0,\n 0x3E80,\n 0xFE41,\n 0xFA01,\n 0x3AC0,\n 0x3B80,\n 0xFB41,\n 0x3900,\n 0xF9C1,\n 0xF881,\n 0x3840,\n 0x2800,\n 0xE8C1,\n 0xE981,\n 0x2940,\n 0xEB01,\n 0x2BC0,\n 0x2A80,\n 0xEA41,\n 0xEE01,\n 0x2EC0,\n 0x2F80,\n 0xEF41,\n 0x2D00,\n 0xEDC1,\n 0xEC81,\n 0x2C40,\n 0xE401,\n 0x24C0,\n 0x2580,\n 0xE541,\n 0x2700,\n 0xE7C1,\n 0xE681,\n 0x2640,\n 0x2200,\n 0xE2C1,\n 0xE381,\n 0x2340,\n 0xE101,\n 0x21C0,\n 0x2080,\n 0xE041,\n 0xA001,\n 0x60C0,\n 0x6180,\n 0xA141,\n 0x6300,\n 0xA3C1,\n 0xA281,\n 0x6240,\n 0x6600,\n 0xA6C1,\n 0xA781,\n 0x6740,\n 0xA501,\n 0x65C0,\n 0x6480,\n 0xA441,\n 0x6C00,\n 0xACC1,\n 0xAD81,\n 0x6D40,\n 0xAF01,\n 0x6FC0,\n 0x6E80,\n 0xAE41,\n 0xAA01,\n 0x6AC0,\n 0x6B80,\n 0xAB41,\n 0x6900,\n 0xA9C1,\n 0xA881,\n 0x6840,\n 0x7800,\n 0xB8C1,\n 0xB981,\n 0x7940,\n 0xBB01,\n 0x7BC0,\n 0x7A80,\n 0xBA41,\n 0xBE01,\n 0x7EC0,\n 0x7F80,\n 0xBF41,\n 0x7D00,\n 0xBDC1,\n 0xBC81,\n 0x7C40,\n 0xB401,\n 0x74C0,\n 0x7580,\n 0xB541,\n 0x7700,\n 0xB7C1,\n 0xB681,\n 0x7640,\n 0x7200,\n 0xB2C1,\n 0xB381,\n 0x7340,\n 0xB101,\n 0x71C0,\n 0x7080,\n 0xB041,\n 0x5000,\n 0x90C1,\n 0x9181,\n 0x5140,\n 0x9301,\n 0x53C0,\n 0x5280,\n 0x9241,\n 0x9601,\n 0x56C0,\n 0x5780,\n 0x9741,\n 0x5500,\n 0x95C1,\n 0x9481,\n 0x5440,\n 0x9C01,\n 0x5CC0,\n 0x5D80,\n 0x9D41,\n 0x5F00,\n 0x9FC1,\n 0x9E81,\n 0x5E40,\n 0x5A00,\n 0x9AC1,\n 0x9B81,\n 0x5B40,\n 0x9901,\n 0x59C0,\n 0x5880,\n 0x9841,\n 0x8801,\n 0x48C0,\n 0x4980,\n 0x8941,\n 0x4B00,\n 0x8BC1,\n 0x8A81,\n 0x4A40,\n 0x4E00,\n 0x8EC1,\n 0x8F81,\n 0x4F40,\n 0x8D01,\n 0x4DC0,\n 0x4C80,\n 0x8C41,\n 0x4400,\n 0x84C1,\n 0x8581,\n 0x4540,\n 0x8701,\n 0x47C0,\n 0x4680,\n 0x8641,\n 0x8201,\n 0x42C0,\n 0x4380,\n 0x8341,\n 0x4100,\n 0x81C1,\n 0x8081,\n 0x4040\n ];\n /***********************************************************************\n * Robert Hegemann 2001-01-17\n ***********************************************************************/ function addVbr(v, bitrate) {\n v.nVbrNumFrames++;\n v.sum += bitrate;\n v.seen++;\n if (v.seen < v.want) return;\n if (v.pos < v.size) {\n v.bag[v.pos] = v.sum;\n v.pos++;\n v.seen = 0;\n }\n if (v.pos == v.size) {\n for(var i = 1; i < v.size; i += 2)v.bag[i / 2] = v.bag[i];\n v.want *= 2;\n v.pos /= 2;\n }\n }\n function xingSeekTable(v, t) {\n if (v.pos <= 0) return;\n for(var i = 1; i < NUMTOCENTRIES; ++i){\n var j = i / NUMTOCENTRIES, act, sum;\n var indx = 0 | Math.floor(j * v.pos);\n if (indx > v.pos - 1) indx = v.pos - 1;\n act = v.bag[indx];\n sum = v.sum;\n var seek_point = 0 | 256. * act / sum;\n if (seek_point > 255) seek_point = 255;\n t[i] = 0xff & seek_point;\n }\n }\n /**\n * Add VBR entry, used to fill the VBR TOC entries.\n *\n * @param gfp\n * global flags\n */ this.addVbrFrame = function(gfp) {\n var gfc = gfp.internal_flags;\n var kbps = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n $e674985ea62d27cf$var$assert(gfc.VBR_seek_table.bag != null);\n addVbr(gfc.VBR_seek_table, kbps);\n };\n /**\n * Read big endian integer (4-bytes) from header.\n *\n * @param buf\n * header containing the integer\n * @param bufPos\n * offset into the header\n * @return extracted integer\n */ function extractInteger(buf, bufPos) {\n var x = buf[bufPos + 0] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 1] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 2] & 0xff;\n x <<= 8;\n x |= buf[bufPos + 3] & 0xff;\n return x;\n }\n /**\n * Write big endian integer (4-bytes) in the header.\n *\n * @param buf\n * header to write the integer into\n * @param bufPos\n * offset into the header\n * @param value\n * integer value to write\n */ function createInteger(buf, bufPos, value) {\n buf[bufPos + 0] = 0xff & (value >> 24 & 0xff);\n buf[bufPos + 1] = 0xff & (value >> 16 & 0xff);\n buf[bufPos + 2] = 0xff & (value >> 8 & 0xff);\n buf[bufPos + 3] = 0xff & (value & 0xff);\n }\n /**\n * Write big endian short (2-bytes) in the header.\n *\n * @param buf\n * header to write the integer into\n * @param bufPos\n * offset into the header\n * @param value\n * integer value to write\n */ function createShort(buf, bufPos, value) {\n buf[bufPos + 0] = 0xff & (value >> 8 & 0xff);\n buf[bufPos + 1] = 0xff & (value & 0xff);\n }\n /**\n * Check for magic strings (Xing/Info).\n *\n * @param buf\n * header to check\n * @param bufPos\n * header offset to check\n * @return magic string found\n */ function isVbrTag(buf, bufPos) {\n return new String(buf, bufPos, VBRTag0.length(), ISO_8859_1).equals(VBRTag0) || new String(buf, bufPos, VBRTag1.length(), ISO_8859_1).equals(VBRTag1);\n }\n function shiftInBitsValue(x, n, v) {\n return 0xff & (x << n | v & ~(-1 << n));\n }\n /**\n * Construct the MP3 header using the settings of the global flags.\n *\n * <img src=\"1000px-Mp3filestructure.svg.png\">\n *\n * @param gfp\n * global flags\n * @param buffer\n * header\n */ function setLameTagFrameHeader(gfp, buffer) {\n var gfc = gfp.internal_flags;\n // MP3 Sync Word\n buffer[0] = shiftInBitsValue(buffer[0], 8, 0xff);\n buffer[1] = shiftInBitsValue(buffer[1], 3, 7);\n buffer[1] = shiftInBitsValue(buffer[1], 1, gfp.out_samplerate < 16000 ? 0 : 1);\n // Version\n buffer[1] = shiftInBitsValue(buffer[1], 1, gfp.version);\n // 01 == Layer 3\n buffer[1] = shiftInBitsValue(buffer[1], 2, 1);\n // Error protection\n buffer[1] = shiftInBitsValue(buffer[1], 1, !gfp.error_protection ? 1 : 0);\n // Bit rate\n buffer[2] = shiftInBitsValue(buffer[2], 4, gfc.bitrate_index);\n // Frequency\n buffer[2] = shiftInBitsValue(buffer[2], 2, gfc.samplerate_index);\n // Pad. Bit\n buffer[2] = shiftInBitsValue(buffer[2], 1, 0);\n // Priv. Bit\n buffer[2] = shiftInBitsValue(buffer[2], 1, gfp.extension);\n // Mode\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfp.mode.ordinal());\n // Mode extension (Used with Joint Stereo)\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfc.mode_ext);\n // Copy\n buffer[3] = shiftInBitsValue(buffer[3], 1, gfp.copyright);\n // Original\n buffer[3] = shiftInBitsValue(buffer[3], 1, gfp.original);\n // Emphasis\n buffer[3] = shiftInBitsValue(buffer[3], 2, gfp.emphasis);\n /* the default VBR header. 48 kbps layer III, no padding, no crc */ /* but sampling freq, mode and copyright/copy protection taken */ /* from first valid frame */ buffer[0] = 0xff;\n var abyte = 0xff & (buffer[1] & 0xf1);\n var bitrate;\n if (1 == gfp.version) bitrate = XING_BITRATE1;\n else if (gfp.out_samplerate < 16000) bitrate = XING_BITRATE25;\n else bitrate = XING_BITRATE2;\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) bitrate = gfp.brate;\n var bbyte;\n if (gfp.free_format) bbyte = 0x00;\n else bbyte = 0xff & 16 * lame.BitrateIndex(bitrate, gfp.version, gfp.out_samplerate);\n /*\n * Use as much of the info from the real frames in the Xing header:\n * samplerate, channels, crc, etc...\n */ if (gfp.version == 1) {\n /* MPEG1 */ buffer[1] = 0xff & (abyte | 0x0a);\n /* was 0x0b; */ abyte = 0xff & (buffer[2] & 0x0d);\n /* AF keep also private bit */ buffer[2] = 0xff & (bbyte | abyte);\n /* 64kbs MPEG1 frame */ } else {\n /* MPEG2 */ buffer[1] = 0xff & (abyte | 0x02);\n /* was 0x03; */ abyte = 0xff & (buffer[2] & 0x0d);\n /* AF keep also private bit */ buffer[2] = 0xff & (bbyte | abyte);\n /* 64kbs MPEG2 frame */ }\n }\n /**\n * Get VBR tag information\n *\n * @param buf\n * header to analyze\n * @param bufPos\n * offset into the header\n * @return VBR tag data\n */ this.getVbrTag = function(buf) {\n var pTagData = new VBRTagData();\n var bufPos = 0;\n /* get Vbr header data */ pTagData.flags = 0;\n /* get selected MPEG header data */ var hId = buf[bufPos + 1] >> 3 & 1;\n var hSrIndex = buf[bufPos + 2] >> 2 & 3;\n var hMode = buf[bufPos + 3] >> 6 & 3;\n var hBitrate = buf[bufPos + 2] >> 4 & 0xf;\n hBitrate = Tables.bitrate_table[hId][hBitrate];\n /* check for FFE syncword */ if (buf[bufPos + 1] >> 4 == 0xE) pTagData.samprate = Tables.samplerate_table[2][hSrIndex];\n else pTagData.samprate = Tables.samplerate_table[hId][hSrIndex];\n /* determine offset of header */ if (hId != 0) {\n /* mpeg1 */ if (hMode != 3) bufPos += 36;\n else bufPos += 21;\n } else /* mpeg2 */ if (hMode != 3) bufPos += 21;\n else bufPos += 13;\n if (!isVbrTag(buf, bufPos)) return null;\n bufPos += 4;\n pTagData.hId = hId;\n /* get flags */ var head_flags = pTagData.flags = extractInteger(buf, bufPos);\n bufPos += 4;\n if ((head_flags & FRAMES_FLAG) != 0) {\n pTagData.frames = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n if ((head_flags & BYTES_FLAG) != 0) {\n pTagData.bytes = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n if ((head_flags & TOC_FLAG) != 0) {\n if (pTagData.toc != null) for(var i = 0; i < NUMTOCENTRIES; i++)pTagData.toc[i] = buf[bufPos + i];\n bufPos += NUMTOCENTRIES;\n }\n pTagData.vbrScale = -1;\n if ((head_flags & VBR_SCALE_FLAG) != 0) {\n pTagData.vbrScale = extractInteger(buf, bufPos);\n bufPos += 4;\n }\n pTagData.headersize = (hId + 1) * 72000 * hBitrate / pTagData.samprate;\n bufPos += 21;\n var encDelay = buf[bufPos + 0] << 4;\n encDelay += buf[bufPos + 1] >> 4;\n var encPadding = (buf[bufPos + 1] & 0x0F) << 8;\n encPadding += buf[bufPos + 2] & 0xff;\n /* check for reasonable values (this may be an old Xing header, */ /* not a INFO tag) */ if (encDelay < 0 || encDelay > 3000) encDelay = -1;\n if (encPadding < 0 || encPadding > 3000) encPadding = -1;\n pTagData.encDelay = encDelay;\n pTagData.encPadding = encPadding;\n /* success */ return pTagData;\n };\n /**\n * Initializes the header\n *\n * @param gfp\n * global flags\n */ this.InitVbrTag = function(gfp) {\n var gfc = gfp.internal_flags;\n /**\n * <PRE>\n * Xing VBR pretends to be a 48kbs layer III frame. (at 44.1kHz).\n * (at 48kHz they use 56kbs since 48kbs frame not big enough for\n * table of contents)\n * let's always embed Xing header inside a 64kbs layer III frame.\n * this gives us enough room for a LAME version string too.\n * size determined by sampling frequency (MPEG1)\n * 32kHz: 216 bytes@48kbs 288bytes@ 64kbs\n * 44.1kHz: 156 bytes 208bytes@64kbs (+1 if padding = 1)\n * 48kHz: 144 bytes 192\n *\n * MPEG 2 values are the same since the framesize and samplerate\n * are each reduced by a factor of 2.\n * </PRE>\n */ var kbps_header;\n if (1 == gfp.version) kbps_header = XING_BITRATE1;\n else if (gfp.out_samplerate < 16000) kbps_header = XING_BITRATE25;\n else kbps_header = XING_BITRATE2;\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) kbps_header = gfp.brate;\n // make sure LAME Header fits into Frame\n var totalFrameSize = (gfp.version + 1) * 72000 * kbps_header / gfp.out_samplerate;\n var headerSize = gfc.sideinfo_len + LAMEHEADERSIZE;\n gfc.VBR_seek_table.TotalFrameSize = totalFrameSize;\n if (totalFrameSize < headerSize || totalFrameSize > MAXFRAMESIZE) {\n /* disable tag, it wont fit */ gfp.bWriteVbrTag = false;\n return;\n }\n gfc.VBR_seek_table.nVbrNumFrames = 0;\n gfc.VBR_seek_table.nBytesWritten = 0;\n gfc.VBR_seek_table.sum = 0;\n gfc.VBR_seek_table.seen = 0;\n gfc.VBR_seek_table.want = 1;\n gfc.VBR_seek_table.pos = 0;\n if (gfc.VBR_seek_table.bag == null) {\n gfc.VBR_seek_table.bag = new int[400];\n gfc.VBR_seek_table.size = 400;\n }\n // write dummy VBR tag of all 0's into bitstream\n var buffer = $e674985ea62d27cf$var$new_byte(MAXFRAMESIZE);\n setLameTagFrameHeader(gfp, buffer);\n var n = gfc.VBR_seek_table.TotalFrameSize;\n for(var i = 0; i < n; ++i)bs.add_dummy_byte(gfp, buffer[i] & 0xff, 1);\n };\n /**\n * Fast CRC-16 computation (uses table crc16Lookup).\n *\n * @param value\n * @param crc\n * @return\n */ function crcUpdateLookup(value, crc) {\n var tmp = crc ^ value;\n crc = crc >> 8 ^ crc16Lookup[tmp & 0xff];\n return crc;\n }\n this.updateMusicCRC = function(crc, buffer, bufferPos, size) {\n for(var i = 0; i < size; ++i)crc[0] = crcUpdateLookup(buffer[bufferPos + i], crc[0]);\n };\n /**\n * Write LAME info: mini version + info on various switches used (Jonathan\n * Dee 2001/08/31).\n *\n * @param gfp\n * global flags\n * @param musicLength\n * music length\n * @param streamBuffer\n * pointer to output buffer\n * @param streamBufferPos\n * offset into the output buffer\n * @param crc\n * computation of CRC-16 of Lame Tag so far (starting at frame\n * sync)\n * @return number of bytes written to the stream\n */ function putLameVBR(gfp, musicLength, streamBuffer, streamBufferPos, crc) {\n var gfc = gfp.internal_flags;\n var bytesWritten = 0;\n /* encoder delay */ var encDelay = gfp.encoder_delay;\n /* encoder padding */ var encPadding = gfp.encoder_padding;\n /* recall: gfp.VBR_q is for example set by the switch -V */ /* gfp.quality by -q, -h, -f, etc */ var quality = 100 - 10 * gfp.VBR_q - gfp.quality;\n var version = v.getLameVeryShortVersion();\n var vbr;\n var revision = 0x00;\n var revMethod;\n // numbering different in vbr_mode vs. Lame tag\n var vbrTypeTranslator = [\n 1,\n 5,\n 3,\n 2,\n 4,\n 0,\n 3\n ];\n var lowpass = 0 | (gfp.lowpassfreq / 100.0 + .5 > 255 ? 255 : gfp.lowpassfreq / 100.0 + .5);\n var peakSignalAmplitude = 0;\n var radioReplayGain = 0;\n var audiophileReplayGain = 0;\n var noiseShaping = gfp.internal_flags.noise_shaping;\n var stereoMode = 0;\n var nonOptimal = 0;\n var sourceFreq = 0;\n var misc = 0;\n var musicCRC = 0;\n // psy model type: Gpsycho or NsPsytune\n var expNPsyTune = (gfp.exp_nspsytune & 1) != 0;\n var safeJoint = (gfp.exp_nspsytune & 2) != 0;\n var noGapMore = false;\n var noGapPrevious = false;\n var noGapCount = gfp.internal_flags.nogap_total;\n var noGapCurr = gfp.internal_flags.nogap_current;\n // 4 bits\n var athType = gfp.ATHtype;\n var flags = 0;\n // vbr modes\n var abrBitrate;\n switch(gfp.VBR){\n case vbr_abr:\n abrBitrate = gfp.VBR_mean_bitrate_kbps;\n break;\n case vbr_off:\n abrBitrate = gfp.brate;\n break;\n default:\n abrBitrate = gfp.VBR_min_bitrate_kbps;\n }\n // revision and vbr method\n if (gfp.VBR.ordinal() < vbrTypeTranslator.length) vbr = vbrTypeTranslator[gfp.VBR.ordinal()];\n else vbr = 0x00; // unknown\n revMethod = 0x10 * revision + vbr;\n // ReplayGain\n if (gfc.findReplayGain) {\n if (gfc.RadioGain > 0x1FE) gfc.RadioGain = 0x1FE;\n if (gfc.RadioGain < -510) gfc.RadioGain = -510;\n // set name code\n radioReplayGain = 0x2000;\n // set originator code to `determined automatically'\n radioReplayGain |= 0xC00;\n if (gfc.RadioGain >= 0) // set gain adjustment\n radioReplayGain |= gfc.RadioGain;\n else {\n // set the sign bit\n radioReplayGain |= 0x200;\n // set gain adjustment\n radioReplayGain |= -gfc.RadioGain;\n }\n }\n // peak sample\n if (gfc.findPeakSample) peakSignalAmplitude = Math.abs(0 | gfc.PeakSample / 32767.0 * Math.pow(2, 23) + .5);\n // nogap\n if (noGapCount != -1) {\n if (noGapCurr > 0) noGapPrevious = true;\n if (noGapCurr < noGapCount - 1) noGapMore = true;\n }\n // flags\n flags = athType + ((expNPsyTune ? 1 : 0) << 4) + ((safeJoint ? 1 : 0) << 5) + ((noGapMore ? 1 : 0) << 6) + ((noGapPrevious ? 1 : 0) << 7);\n if (quality < 0) quality = 0;\n // stereo mode field (Intensity stereo is not implemented)\n switch(gfp.mode){\n case MONO:\n stereoMode = 0;\n break;\n case STEREO:\n stereoMode = 1;\n break;\n case DUAL_CHANNEL:\n stereoMode = 2;\n break;\n case JOINT_STEREO:\n if (gfp.force_ms) stereoMode = 4;\n else stereoMode = 3;\n break;\n case NOT_SET:\n //$FALL-THROUGH$\n default:\n stereoMode = 7;\n break;\n }\n if (gfp.in_samplerate <= 32000) sourceFreq = 0x00;\n else if (gfp.in_samplerate == 48000) sourceFreq = 0x02;\n else if (gfp.in_samplerate > 48000) sourceFreq = 0x03;\n else // default is 44100Hz\n sourceFreq = 0x01;\n // Check if the user overrided the default LAME behavior with some\n // nasty options\n if (gfp.short_blocks == $e674985ea62d27cf$var$ShortBlock.short_block_forced || gfp.short_blocks == $e674985ea62d27cf$var$ShortBlock.short_block_dispensed || gfp.lowpassfreq == -1 && gfp.highpassfreq == -1 || /* \"-k\" */ gfp.scale_left < gfp.scale_right || gfp.scale_left > gfp.scale_right || gfp.disable_reservoir && gfp.brate < 320 || gfp.noATH || gfp.ATHonly || athType == 0 || gfp.in_samplerate <= 32000) nonOptimal = 1;\n misc = noiseShaping + (stereoMode << 2) + (nonOptimal << 5) + (sourceFreq << 6);\n musicCRC = gfc.nMusicCRC;\n // Write all this information into the stream\n createInteger(streamBuffer, streamBufferPos + bytesWritten, quality);\n bytesWritten += 4;\n for(var j = 0; j < 9; j++)streamBuffer[streamBufferPos + bytesWritten + j] = 0xff & version.charAt(j);\n bytesWritten += 9;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & revMethod;\n bytesWritten++;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & lowpass;\n bytesWritten++;\n createInteger(streamBuffer, streamBufferPos + bytesWritten, peakSignalAmplitude);\n bytesWritten += 4;\n createShort(streamBuffer, streamBufferPos + bytesWritten, radioReplayGain);\n bytesWritten += 2;\n createShort(streamBuffer, streamBufferPos + bytesWritten, audiophileReplayGain);\n bytesWritten += 2;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & flags;\n bytesWritten++;\n if (abrBitrate >= 255) streamBuffer[streamBufferPos + bytesWritten] = 0xFF;\n else streamBuffer[streamBufferPos + bytesWritten] = 0xff & abrBitrate;\n bytesWritten++;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & encDelay >> 4;\n streamBuffer[streamBufferPos + bytesWritten + 1] = 0xff & (encDelay << 4) + (encPadding >> 8);\n streamBuffer[streamBufferPos + bytesWritten + 2] = 0xff & encPadding;\n bytesWritten += 3;\n streamBuffer[streamBufferPos + bytesWritten] = 0xff & misc;\n bytesWritten++;\n // unused in rev0\n streamBuffer[streamBufferPos + bytesWritten++] = 0;\n createShort(streamBuffer, streamBufferPos + bytesWritten, gfp.preset);\n bytesWritten += 2;\n createInteger(streamBuffer, streamBufferPos + bytesWritten, musicLength);\n bytesWritten += 4;\n createShort(streamBuffer, streamBufferPos + bytesWritten, musicCRC);\n bytesWritten += 2;\n // Calculate tag CRC.... must be done here, since it includes previous\n // information\n for(var i = 0; i < bytesWritten; i++)crc = crcUpdateLookup(streamBuffer[streamBufferPos + i], crc);\n createShort(streamBuffer, streamBufferPos + bytesWritten, crc);\n bytesWritten += 2;\n return bytesWritten;\n }\n function skipId3v2(fpStream) {\n // seek to the beginning of the stream\n fpStream.seek(0);\n // read 10 bytes in case there's an ID3 version 2 header here\n var id3v2Header = $e674985ea62d27cf$var$new_byte(10);\n fpStream.readFully(id3v2Header);\n /* does the stream begin with the ID3 version 2 file identifier? */ var id3v2TagSize;\n if (!new String(id3v2Header, \"ISO-8859-1\").startsWith(\"ID3\")) /*\n * the tag size (minus the 10-byte header) is encoded into four\n * bytes where the most significant bit is clear in each byte\n */ id3v2TagSize = ((id3v2Header[6] & 0x7f) << 21 | (id3v2Header[7] & 0x7f) << 14 | (id3v2Header[8] & 0x7f) << 7 | id3v2Header[9] & 0x7f) + id3v2Header.length;\n else /* no ID3 version 2 tag in this stream */ id3v2TagSize = 0;\n return id3v2TagSize;\n }\n this.getLameTagFrame = function(gfp, buffer) {\n var gfc = gfp.internal_flags;\n if (!gfp.bWriteVbrTag) return 0;\n if (gfc.Class_ID != Lame.LAME_ID) return 0;\n if (gfc.VBR_seek_table.pos <= 0) return 0;\n if (buffer.length < gfc.VBR_seek_table.TotalFrameSize) return gfc.VBR_seek_table.TotalFrameSize;\n $e674985ea62d27cf$var$Arrays.fill(buffer, 0, gfc.VBR_seek_table.TotalFrameSize, 0);\n // 4 bytes frame header\n setLameTagFrameHeader(gfp, buffer);\n // Create TOC entries\n var toc = $e674985ea62d27cf$var$new_byte(NUMTOCENTRIES);\n if (gfp.free_format) for(var i = 1; i < NUMTOCENTRIES; ++i)toc[i] = 0xff & 255 * i / 100;\n else xingSeekTable(gfc.VBR_seek_table, toc);\n // Start writing the tag after the zero frame\n var streamIndex = gfc.sideinfo_len;\n /**\n * Note: Xing header specifies that Xing data goes in the ancillary data\n * with NO ERROR PROTECTION. If error protecton in enabled, the Xing\n * data still starts at the same offset, and now it is in sideinfo data\n * block, and thus will not decode correctly by non-Xing tag aware\n * players\n */ if (gfp.error_protection) streamIndex -= 2;\n // Put Vbr tag\n if (gfp.VBR == $e674985ea62d27cf$var$VbrMode.vbr_off) {\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(0);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(1);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(2);\n buffer[streamIndex++] = 0xff & VBRTag1.charAt(3);\n } else {\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(0);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(1);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(2);\n buffer[streamIndex++] = 0xff & VBRTag0.charAt(3);\n }\n // Put header flags\n createInteger(buffer, streamIndex, FRAMES_FLAG + BYTES_FLAG + TOC_FLAG + VBR_SCALE_FLAG);\n streamIndex += 4;\n // Put Total Number of frames\n createInteger(buffer, streamIndex, gfc.VBR_seek_table.nVbrNumFrames);\n streamIndex += 4;\n // Put total audio stream size, including Xing/LAME Header\n var streamSize = gfc.VBR_seek_table.nBytesWritten + gfc.VBR_seek_table.TotalFrameSize;\n createInteger(buffer, streamIndex, 0 | streamSize);\n streamIndex += 4;\n /* Put TOC */ $e674985ea62d27cf$var$System.arraycopy(toc, 0, buffer, streamIndex, toc.length);\n streamIndex += toc.length;\n if (gfp.error_protection) // (jo) error_protection: add crc16 information to header\n bs.CRC_writeheader(gfc, buffer);\n // work out CRC so far: initially crc = 0\n var crc = 0x00;\n for(var i = 0; i < streamIndex; i++)crc = crcUpdateLookup(buffer[i], crc);\n // Put LAME VBR info\n streamIndex += putLameVBR(gfp, streamSize, buffer, streamIndex, crc);\n return gfc.VBR_seek_table.TotalFrameSize;\n };\n /**\n * Write final VBR tag to the file.\n *\n * @param gfp\n * global flags\n * @param stream\n * stream to add the VBR tag to\n * @return 0 (OK), -1 else\n * @throws IOException\n * I/O error\n */ this.putVbrTag = function(gfp, stream) {\n var gfc = gfp.internal_flags;\n if (gfc.VBR_seek_table.pos <= 0) return -1;\n // Seek to end of file\n stream.seek(stream.length());\n // Get file size, abort if file has zero length.\n if (stream.length() == 0) return -1;\n // The VBR tag may NOT be located at the beginning of the stream. If an\n // ID3 version 2 tag was added, then it must be skipped to write the VBR\n // tag data.\n var id3v2TagSize = skipId3v2(stream);\n // Seek to the beginning of the stream\n stream.seek(id3v2TagSize);\n var buffer = $e674985ea62d27cf$var$new_byte(MAXFRAMESIZE);\n var bytes = getLameTagFrame(gfp, buffer);\n if (bytes > buffer.length) return -1;\n if (bytes < 1) return 0;\n // Put it all to disk again\n stream.write(buffer, 0, bytes);\n // success\n return 0;\n };\n}\n$e674985ea62d27cf$exports = $e674985ea62d27cf$var$VBRTag;\n\n\nfunction $dd7ee3788d91dcb8$var$GetAudio() {\n var parse;\n var mpg;\n this.setModules = function(parse2, mpg2) {\n parse = parse2;\n mpg = mpg2;\n };\n}\nfunction $dd7ee3788d91dcb8$var$Parse() {\n var ver;\n var id3;\n var pre;\n this.setModules = function(ver2, id32, pre2) {\n ver = ver2;\n id3 = id32;\n pre = pre2;\n };\n}\nfunction $dd7ee3788d91dcb8$var$MPGLib() {}\nfunction $dd7ee3788d91dcb8$var$ID3Tag() {\n var bits;\n var ver;\n this.setModules = function(_bits, _ver) {\n bits = _bits;\n ver = _ver;\n };\n}\nfunction $dd7ee3788d91dcb8$var$Mp3Encoder(channels, samplerate, kbps) {\n if (arguments.length != 3) {\n console.error(\"WARN: Mp3Encoder(channels, samplerate, kbps) not specified\");\n channels = 1;\n samplerate = 44100;\n kbps = 128;\n }\n var lame = new $kk1yk();\n var gaud = new $dd7ee3788d91dcb8$var$GetAudio();\n var ga = new $b8dhq();\n var bs = new $ctaQC();\n var p = new $7960aab77e945546$exports();\n var qupvt = new $84mea();\n var qu = new $df08f3a0d41b7a78$exports();\n var vbr = new $e674985ea62d27cf$exports();\n var ver = new $34609aeb1df0c2af$exports();\n var id3 = new $dd7ee3788d91dcb8$var$ID3Tag();\n var rv = new $b5a7ab7c590f5d1e$exports();\n var tak = new $65Sx2();\n var parse = new $dd7ee3788d91dcb8$var$Parse();\n var mpg = new $dd7ee3788d91dcb8$var$MPGLib();\n lame.setModules(ga, bs, p, qupvt, qu, vbr, ver, id3, mpg);\n bs.setModules(ga, mpg, ver, vbr);\n id3.setModules(bs, ver);\n p.setModules(lame);\n qu.setModules(bs, rv, qupvt, tak);\n qupvt.setModules(tak, rv, lame.enc.psy);\n rv.setModules(bs);\n tak.setModules(qupvt);\n vbr.setModules(lame, bs, ver);\n gaud.setModules(parse, mpg);\n parse.setModules(ver, id3, p);\n var gfp = lame.lame_init();\n gfp.num_channels = channels;\n gfp.in_samplerate = samplerate;\n gfp.brate = kbps;\n gfp.mode = $jL6I1.STEREO;\n gfp.quality = 3;\n gfp.bWriteVbrTag = false;\n gfp.disable_reservoir = true;\n gfp.write_id3tag_automatic = false;\n var retcode = lame.lame_init_params(gfp);\n $dd7ee3788d91dcb8$var$assert(0 == retcode);\n var maxSamples = 1152;\n var mp3buf_size = 0 | 1.25 * maxSamples + 7200;\n var mp3buf = $dd7ee3788d91dcb8$var$new_byte(mp3buf_size);\n this.encodeBuffer = function(left, right) {\n if (channels == 1) right = left;\n $dd7ee3788d91dcb8$var$assert(left.length == right.length);\n if (left.length > maxSamples) {\n maxSamples = left.length;\n mp3buf_size = 0 | 1.25 * maxSamples + 7200;\n mp3buf = $dd7ee3788d91dcb8$var$new_byte(mp3buf_size);\n }\n var _sz = lame.lame_encode_buffer(gfp, left, right, left.length, mp3buf, 0, mp3buf_size);\n return new Int8Array(mp3buf.subarray(0, _sz));\n };\n this.flush = function() {\n var _sz = lame.lame_encode_flush(gfp, mp3buf, 0, mp3buf_size);\n return new Int8Array(mp3buf.subarray(0, _sz));\n };\n}\nfunction $dd7ee3788d91dcb8$var$WavHeader() {\n this.dataOffset = 0;\n this.dataLen = 0;\n this.channels = 0;\n this.sampleRate = 0;\n}\nfunction $dd7ee3788d91dcb8$var$fourccToInt(fourcc) {\n return fourcc.charCodeAt(0) << 24 | fourcc.charCodeAt(1) << 16 | fourcc.charCodeAt(2) << 8 | fourcc.charCodeAt(3);\n}\n$dd7ee3788d91dcb8$var$WavHeader.RIFF = $dd7ee3788d91dcb8$var$fourccToInt(\"RIFF\");\n$dd7ee3788d91dcb8$var$WavHeader.WAVE = $dd7ee3788d91dcb8$var$fourccToInt(\"WAVE\");\n$dd7ee3788d91dcb8$var$WavHeader.fmt_ = $dd7ee3788d91dcb8$var$fourccToInt(\"fmt \");\n$dd7ee3788d91dcb8$var$WavHeader.data = $dd7ee3788d91dcb8$var$fourccToInt(\"data\");\n$dd7ee3788d91dcb8$var$WavHeader.readHeader = function(dataView) {\n var w = new $dd7ee3788d91dcb8$var$WavHeader();\n var header = dataView.getUint32(0, false);\n if ($dd7ee3788d91dcb8$var$WavHeader.RIFF != header) return;\n var fileLen = dataView.getUint32(4, true);\n if ($dd7ee3788d91dcb8$var$WavHeader.WAVE != dataView.getUint32(8, false)) return;\n if ($dd7ee3788d91dcb8$var$WavHeader.fmt_ != dataView.getUint32(12, false)) return;\n var fmtLen = dataView.getUint32(16, true);\n var pos = 20;\n switch(fmtLen){\n case 16:\n case 18:\n w.channels = dataView.getUint16(pos + 2, true);\n w.sampleRate = dataView.getUint32(pos + 4, true);\n break;\n default:\n throw \"extended fmt chunk not implemented\";\n }\n pos += fmtLen;\n var data = $dd7ee3788d91dcb8$var$WavHeader.data;\n var len = 0;\n while(data != header){\n header = dataView.getUint32(pos, false);\n len = dataView.getUint32(pos + 4, true);\n if (data == header) break;\n pos += len + 8;\n }\n w.dataLen = len;\n w.dataOffset = pos + 8;\n return w;\n};\n$dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 = $dd7ee3788d91dcb8$var$Mp3Encoder;\n$dd7ee3788d91dcb8$export$cb948f2d6837f136 = $dd7ee3788d91dcb8$var$WavHeader;\n\n\nexport {$dd7ee3788d91dcb8$export$9ca5d136ebf61cf2 as Mp3Encoder, $dd7ee3788d91dcb8$export$cb948f2d6837f136 as WavHeader, $dd7ee3788d91dcb8$exports as default};\n//# sourceMappingURL=lame.module.js.map\n"],"names":["e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","self","window","global","$parcel$modules","parcelRequire","id","exports","$parcel$inits","module","init","call","err","code","register","$3YDN3","$ecb6e13812bdc08b$var$System","System","VbrMode","Float","ShortBlock","Util","Arrays","new_array_n","new_byte","new_double","new_float","new_float_n","new_int","new_int_n","new_short_n","assert","$d2VP0","$cU3Yf","$ctaQC","$cPNKB","$ecb6e13812bdc08b$var$Lame","MPEGMode","V9","V8","V7","V6","V5","V4","V3","V2","V1","V0","R3MIX","STANDARD","EXTREME","INSANE","STANDARD_FAST","EXTREME_FAST","MEDIUM","MEDIUM_FAST","LAME_MAXMP3BUFFER","LAME_MAXALBUMART","ga","p","qu","vbr","id3","enc","setModules","_ga","_bs","_p","_qupvt","_qu","_vbr","_ver","_id3","_mpglib","bs","qupvt","mpglib","psy","mask_adjust","mask_adjust_short","bo_l_weight","$ecb6e13812bdc08b$var$new_float","SBMAX_l","bo_s_weight","SBMAX_s","LowPassHighPass","lowerlimit","bitrate","lPass","lowpass","gfp","class_id","LAME_ID","gfc","internal_flags","$4SDnr","mode","NOT_SET","original","in_samplerate","num_channels","num_samples","bWriteVbrTag","quality","short_blocks","subblock_gain","lowpassfreq","highpassfreq","lowpasswidth","highpasswidth","VBR","$ecb6e13812bdc08b$var$VbrMode","vbr_off","VBR_q","ATHcurve","VBR_mean_bitrate_kbps","VBR_min_bitrate_kbps","VBR_max_bitrate_kbps","VBR_hard_min","VBR_min_bitrate","VBR_max_bitrate","quant_comp","quant_comp_short","msfix","resample_ratio","OldValue","CurrentStep","masking_lower","nsPsy","attackthre","attackthre_s","scale","athaa_type","ATHtype","athaa_loudapprox","athaa_sensitivity","useTemporal","interChRatio","mf_samples_to_encode","ENCDELAY","POSTDELAY","encoder_padding","mf_size","MDCTDELAY","findReplayGain","decode_on_the_fly","findPeakSample","RadioGain","AudiophileGain","noclipGainChange","noclipScale","preset","write_id3tag_automatic","lame_init","lame_init_old","lame_allocated_gfp","filter_coef","x","cos","Math","PI","nearestBitrateFullIndex","lower_range_kbps","upper_range","upper_range_kbps","full_bitrate_table","lower_range","b","max","input_samplefreq","suggested_samplefreq","SmpFrqIndex","sample_freq","gpf","version","bRate","samplerate","$dQDcS","bitrate_table","i","abs","BitrateIndex","lh","freq_map","BandPass","table_index","lame_init_params_ppflt","lowpass1","minband","band","freq","lowpass2","lowpass_band","min","highpass2","highpass1","println","maxband","highpass_band","fc2","fc1","amp_filter","psymodel","noise_shaping","noise_shaping_amp","noise_shaping_stop","use_best_huffman","full_outer_loop","substep_shaping","lame_init_bitstream","frameNum","id3tag_write_v2","bitrate_stereoMode_Hist","$ecb6e13812bdc08b$var$new_int_n","bitrate_blockType_Hist","PeakSample","InitVbrTag","lame_init_params","Class_ID","ATH","PSY","rgdata","$2qGTD","channels_in","MONO","channels_out","mode_ext","MPG_MD_MS_LR","force_ms","brate","vbr_mtrh","vbr_mt","free_format","EQ","compression_ratio","out_samplerate","map2MP3Frequency","int","samplerate_index","FindNearestBitrate","optimum_bandwidth","vbr_abr","vbr_rh","m","VBR_q_frac","linear_int","a","optimum_samplefreq","InitGainAnalysis","GainAnalysis","INIT_GAIN_ANALYSIS_ERROR","decode_only","hip","hip_decode_exit","hip_decode_init","mode_gr","framesize","encoder_delay","cmp","JOINT_STEREO","bitrate_index","analysis","pinfo","init_bit_stream_w","j","scalefac_band","l","sfBandIndex","PSFB21","start","size","psfb21","PSFB12","psfb12","sideinfo_len","error_protection","k","pefirbuf","$ecb6e13812bdc08b$var$assert","apply_preset","LAME_DEFAULT_QUALITY","maskingadjust","maskingadjust_short","experimentalY","sfb21_extra","iteration_loop","VBRNewIterationLoop","vbrmode","tune","tune_value_a","lame_init_qval","useAdjust","aaSensitivityP","pow","$ecb6e13812bdc08b$var$ShortBlock","short_block_allowed","STEREO","short_block_coupled","exp_nspsytune","NSATTACKTHRE","NSATTACKTHRE_S","slot_lag","frac_SpF","iteration_init","psymodel_init","update_inbuffer_size","nsamples","in_buffer_0","in_buffer_nsamples","in_buffer_1","lame_encode_flush","mp3buffer","mp3bufferPos","mp3buffer_size","$ecb6e13812bdc08b$var$new_short_n","mp3count","mp3buffer_size_remaining","calcNeeded","samples_to_encode","end_padding","frames_left","imp3","mf_needed","bunch","lame_encode_buffer","buffer","frame_num","flush_bitstream","copy_buffer","id3tag_write_v1","buffer_l","buffer_r","mp3buf","mp3bufPos","mp3buf_size","in_buffer","BLKSIZE","FFTOFFSET","MFSIZE","mp3size","ret","ch","mfbuf","mp3out","NEQ","scale_left","scale_right","in_buffer_ptr","fill_buffer","in_bufferPos","inOut","n_in","n_out","AnalyzeSamples","GAIN_ANALYSIS_ERROR","buf_size","lame_encode_frame","inbuf_l","inbuf_r","lame_encode_mp3_frame","InOut","num_used","gcd","fcn","x2","bkwn","sin","wcn","outbuf","outbufPos","desired_len","inbuf","len","bpc","BPC","floor","filter_l","intratio","fill_buffer_resample_init","inbuf_old","BLACKSIZE","blackfilt","itime","sum","blackman","offset","time0","joff","y","j2","xvalue","n_shift","io","numUsed","fill_buffer_resample","$2e55d7364d01815c$var$new_byte","count","Int8Array","$2e55d7364d01815c$var$new_float_n","args","length","slice","sz","A","push","$2e55d7364d01815c$var$new_int_n","$2e55d7364d01815c$var$new_short_n","Array","$2e55d7364d01815c$var$new_array_n","$2e55d7364d01815c$var$Arrays","fill","fromIndex","toIndex","val","arguments","$2e55d7364d01815c$var$System","arraycopy","src","srcPos","dest","destPos","srcEnd","out","message","console","log","printf","apply","$2e55d7364d01815c$var$Util","SQRT2","FAST_LOG10","log10","FAST_LOG10_X","$2e55d7364d01815c$var$ShortBlock","ordinal","short_block_dispensed","short_block_forced","$2e55d7364d01815c$var$Float","MAX_VALUE","$2e55d7364d01815c$var$VbrMode","vbr_default","$2e55d7364d01815c$var$new_double","$2e55d7364d01815c$var$new_float","$2e55d7364d01815c$var$new_int","$2e55d7364d01815c$var$new_short","$2e55d7364d01815c$var$assert","$97f850779472263e$var$VbrMode","$97f850779472263e$var$Util","$97f850779472263e$var$new_float","$97f850779472263e$var$new_float_n","$97f850779472263e$var$assert","$97f850779472263e$var$PsyModel","fft","$2g11P","LOG10","rpelev_s","NS_PREECHO_ATT0","NS_MSFIX","NSFIRLEN","LN_TO_LOG10","energy","loudness_power","eql_w","VO_SCALE","fftenergy","fftenergy_s","wsamp_l","wsamp_lPos","wsamp_s","wsamp_sPos","gr_out","chn","bufPos","fft_long","fft_short","r","BLKSIZE_s","NON_LINEAR_SCALE_ENERGY","im","re","totalenergy","HBLKSIZE","tot_ener","energy_save","pe","loudness_sq","loudness_sq_save","psycho_loudness_approx","I1LIMIT","I2LIMIT","MLIMIT","ma_max_i2","init_mask_add_max_values","ma_max_i1","ma_max_m","table1","table2","table3","m1","m2","kk","shortblock","ratio","cb_s","adjust","cb_l","f","table2_","vbrpsy_mask_add","sb","thm","sblock","mld","mld_l","en","rside","rmid","mld_s","ns_msfix","athadjust","msfix2","thmM","thmS","ath","bm_l","athlower","thmLR","bm_s","eb","thr","bo_s","npart_s","bo_s_sb","b_lim","enn","thmm","w_curr","w_next","bo_l","npart_l","bo_l_sb","ebb","numlines_s","el","s3ind_s","s3_ss","ecb","nb_s1","blocktype_old","SHORT_TYPE","rpelev2_s","nb_s2","CBANDS","uselongblock","blocktype_d","blocktype","$97f850779472263e$var$ShortBlock","NORM_TYPE","START_TYPE","STOP_TYPE","NS_INTERP","pecalc_s","mr","regcoef_s","pe_s","pecalc_l","pe_l","regcoef_l","calc_energy","avg","numlines_l","rnumlines_l","mask_idx","tab","last_tab_entry","L3psycho_anal_ns","masking_ratio","masking_MS_ratio","percep_entropy","percep_MS_entropy","wsamp_S","eb_l","eb_s","$97f850779472263e$var$new_int","numchn","ns_hpfsmpl","mask_idx_l","mask_idx_s","$97f850779472263e$var$Arrays","pcfact","ResvMax","ResvSize","firbuf1","fircoef","sum1","sum2","firbufPos","assign","attackThreshold","HBLKSIZE_s","en_subshort","last_en_subshort","attack_intensity","en_short","pfPos","pfe","pf","ers","ers_save","ns_attacks","lastAttacks","ns_uselongblock","wsamp_L","compute_ffts","calc_mask_index_l","compute_masking_s","convert_partition2scalefac_s","idx","NS_PREECHO_ATT1","NS_PREECHO_ATT2","s3ind","eb2","s3_ll","mask_add","rpelev","nb_1","rpelev2","nb_2","convert_partition2scalefac_l","calc_interchannel_masking","msfix1","ATHlower","block_type_set","ppe","ppePos","type","vbrpsy_compute_loudness_approximation_l","sub_short_factor","n_chn_out","n_chn_psy","firbuf","fircoef_","factor","u","psyvbr_calc_mask_index_s","dd","dd_n","avg_mask","last","minval_s","t","ecb_limit","ecb_limit_1","ecb_limit_2","minval_l","vbrpsy_apply_block_type","cb_mld","ath_cb","ebM","ebS","thmL","thmR","mld_m","thmMS","L3psycho_anal_vbr","vbrpsy_attack_detection","vbrpsy_compute_block_type","ch01","vbrpsy_compute_fft_l","vbrpsy_compute_masking_l","vbrpsy_skip_masking_l","vbrpsy_compute_MS_thresholds","mld_cb_l","vbrpsy_skip_masking_s","vbrpsy_compute_fft_s","vbrpsy_compute_masking_s","mld_cb_s","new_thmm","bark","hf_slope","tempy","tempx","exp","norm_s3_func_x","lim_a","lim_b","h","s3_func_x","norm","temp","sqrt","atan","numlines","bo","bm","bval","bval_width","bo_w","sfreq","blksize","scalepos","deltafreq","sbmax","bark1","freq2bark","b_frq","DELBARK","ni","partition","sfb","i2","end","i1","sample_freq_frac","f_tmp","arg","w","bark2","npart","use_old_s3","s3","s3_func","s3_x_norm","numberOfNoneZero","bvl_a","bvl_b","snr_l_a","snr_l_b","snr_s_a","snr_s_b","experimentalZ","useOldS3","ms_ener_ratio_old","init_numline","snr","init_s3_values","$97f850779472263e$var$Float","level","ATHformula","init_fft","decay","temporalmask_sustain_sec","frame_duration","adjustLimit","freq_inc","eql_balance","stereo_demask","value","ATHformula_GB","$1a4ddf9b01454eb6$var$new_float","$1a4ddf9b01454eb6$var$FFT","costab","fht","fz","fzPos","k4","gi","c1","k1","k2","k3","kx","fi","f1","f2","f3","f0","$1a4ddf9b01454eb6$var$Util","fn","tri","s1","s2","c2","g0","g1","g2","g3","rv_tbl","x_real","window_s","jj","$9580d6e047027232$var$System","$9580d6e047027232$var$new_float","$9580d6e047027232$var$new_float_n","$9580d6e047027232$var$assert","$9580d6e047027232$var$Encoder","DECDELAY","SBLIMIT","SBPSY_l","SBPSY_s","MPG_MD_LR_LR","MPG_MD_LR_I","MPG_MD_MS_I","_psy","newMDCT","NewMDCT","max_pow","gr2_max","adj_lim_new","gr","l3_side","tt","block_type","mixed_block_flag","bt","lame_encode_frame_init","primebuff0","primebuff1","mdct_sub48","$9580d6e047027232$var$new_array_n","masking_LR","III_psy_ratio","masking_MS","ms_ener_ratio","padding","bufpPos","$9580d6e047027232$var$new_int","bufp","$9580d6e047027232$var$VbrMode","pe_MS","cod_info","adjust_ATH","sum_pe_MS","sum_pe_LR","gi1","gi0","masking","pe_use","ms_ratio","xr","format_bitstream","addVbrFrame","pcmdata","set_frame_pinfo","updateStats","$9c8c9409243421ca$var$System","$9c8c9409243421ca$var$Util","$9c8c9409243421ca$var$Arrays","$9c8c9409243421ca$var$new_float","win","order","window_subband","x1","x1Pos","wp","enwindow","inout","inoutPos","tc1","tc2","ts0","ts1","ts2","tc0","mdct_long","outPos","_in","st","tc3","tc4","ts5","ts6","ts7","ts8","cx","ct","ts3","ts4","tc5","tc6","tc7","tc8","w0","w1","mdct_encPos","samp","sb_sample","wk","wkPos","sampPos","band1","mdct_enc","NS","band0","mdct_short","NL","work","tantab_l","bd","bu","ca","cs","$9c8c9409243421ca$var$NewMDCT","$cbefc13b27188c2b$var$III_psy_ratio","$51XxS","$3a9b3c3a1c7d1011$var$new_float","$3a9b3c3a1c7d1011$var$new_float_n","iii_psy_xmin","$3a9b3c3a1c7d1011$var$System","$3a9b3c3a1c7d1011$var$III_psy_xmin","_ordinal","$e6279c632d7fdac0$var$MPEGMode","DUAL_CHANNEL","$42740ea95db3cb8e$var$LameGlobalFlags","$jL6I1","copyright","extension","emphasis","strict_ISO","disable_reservoir","ATHonly","ATHshort","noATH","$38dac00579cf6ffc$var$new_byte","$38dac00579cf6ffc$var$new_float","$38dac00579cf6ffc$var$new_int_n","$eWXBy","$7imnH","$arIi9","$38dac00579cf6ffc$var$LameInternalFlags","MAX_HEADER_BUF","MAX_BITS_PER_CHANNEL","MAX_BITS_PER_GRANULE","MAX_HEADER_LEN","iteration_init_init","$38dac00579cf6ffc$var$new_float_n","tag_spec","nMusicCRC","$38dac00579cf6ffc$var$new_int","bv_scf","pseudohalf","SFBMAX","$38dac00579cf6ffc$var$new_double","Header","write_timing","ptr","buf","header","h_ptr","w_ptr","ancillary_flag","numlines_s_num1","numlines_l_num1","ms_ratio_s_old","ms_ratio_l_old","$7yzUB","VBR_seek_table","$jTmCQ","nogap_total","nogap_current","$ae24b7bb56fee1da$var$IIISideInfo","main_data_begin","private_bits","resvDrain_pre","resvDrain_post","scfsi","$ae24b7bb56fee1da$var$new_int","$7weBo","$5796d93ba9162632$var$new_int","$5796d93ba9162632$var$new_float","l3_enc","scalefac","xrpow_max","part2_3_length","big_values","count1","global_gain","scalefac_compress","table_select","region0_count","region1_count","preflag","scalefac_scale","count1table_select","part2_length","sfb_lmax","sfb_smin","psy_lmax","sfbmax","psymax","sfbdivide","width","count1bits","sfb_partition_table","slen","max_nonzero_coeff","clone_int","array","other","clone_float","$5796d93ba9162632$var$GrInfo","$79aec86e829b6e82$var$L3Side","$54fb93475471cb87$var$System","arrL","arrS","arr21","arr12","$54fb93475471cb87$var$new_int","$54fb93475471cb87$var$ScaleFac","$580790bdd94a8b57$var$new_float_n","$580790bdd94a8b57$var$new_int","$580790bdd94a8b57$var$new_float","longfact","shortfact","$580790bdd94a8b57$var$NsPsy","$e7b4b455db8db26b$var$VBRSeekInfo","seen","want","pos","bag","nVbrNumFrames","nBytesWritten","TotalFrameSize","$964dcb8066029e00$var$new_float","$964dcb8066029e00$var$ATH","$1c4f48cc96a3a753$var$new_float","linprebuf","$b8dhq","MAX_ORDER","linpre","lstepbuf","MAX_SAMPLES_PER_WINDOW","lstep","loutbuf","lout","rinprebuf","rinpre","rstepbuf","rstep","routbuf","rout","sampleWindow","totsamp","lsum","rsum","freqindex","first","$1c4f48cc96a3a753$var$new_int","STEPS_per_dB","MAX_dB","B","$1c4f48cc96a3a753$var$ReplayGain","$81aabe360221f821$var$Arrays","$81aabe360221f821$var$GainAnalysis","GAIN_NOT_ENOUGH_SAMPLES","GAIN_ANALYSIS_OK","INIT_GAIN_ANALYSIS_OK","YULE_ORDER","MAX_SAMP_FREQ","RMS_WINDOW_TIME_NUMERATOR","RMS_WINDOW_TIME_DENOMINATOR","RMS_PERCENTILE","ABButter","input","inputPos","output","outputPos","nSamples","kernel","filterButter","ResetSampleFrequency","rgData","samplefreq","reqindex","ill","d","left_samples","left_samplesPos","right_samples","right_samplesPos","curleft","currightBase","cursamplepos","batchsamples","$81aabe360221f821$var$System","cursamples","curleftBase","curright","filterYule","ABYule","fsqr","ival","analyzeResult","elems","upper","ceil","PINK_REF","GetTitleGain","retval","$a3a34d831b8c1682$var$new_int","$a3a34d831b8c1682$var$assert","$a3a34d831b8c1682$var$CBRNewIterationLoop","_quantize","quantize","$a3a34d831b8c1682$var$new_float","xrpow","mean_bits","max_bits","rv","ResvFrameBegin","mb","bits","on_pe","targ_bits","ms_convert","reduce_side","masking_lower_db","init_outer_loop","init_xrpow","calc_xmin","l3_xmin","outer_loop","iteration_finish_one","ResvFrameEnd","$fd71ae23813c0974$var$MeanBits","meanBits","$91409b9649b00300$var$System","$91409b9649b00300$var$Arrays","$91409b9649b00300$var$new_byte","$91409b9649b00300$var$new_float_n","$91409b9649b00300$var$assert","$91409b9649b00300$var$BitStream","CRC16_POLYNOMIAL","MAX_LENGTH","mpg","ver","_mpg","totbit","bufByteIdx","bufBitIdx","getframebits","bit_rate","bytes","putbits2","Lame","putheader_bits","remainingBits","getLameShortVersion","charAt","crc","CRC_writeheader","CRC_update","byte","bitsPerFrame","writeheader","old","ht","ix","huffbits","table","hlen","tableindex","cbits","xbits","linbits","xlen","ext","linbits_x1","linmax","linbits_x2","region1Start","Huffmancode","LongHuffmancodebits","region2Start","bigvalues","data_bits","tot_bits","slen1","$65Sx2","slen1_tab","slen2","slen2_tab","ShortHuffmancodebits","huffman_coder_count1","sfb_partition","scale_bits","sfbs","TotalBytes","total","total_bytes_output","remaining_headers","first_ptr","last_ptr","flushbits","compute_flushbits","drain_into_ancillary","add_dummy_byte","putbits_noheaders","encodeSideInfo2","writeMainData","bufferPos","mp3data","minimum","$91409b9649b00300$var$new_int","updateMusicCRC","mp3_in","samples_out","hip_decode1_unclipped","pcm_buf","$84mea","istep","xrPos","ixPos","compareval0","$46fd82963609949b$var$assert","quantize_lines_xrpow","x3","rx1","rx2","rx3","x0","rx0","adj43","remaining","quantize_xrpow","xp","pi","codInfo","prevNoise","prev_data_use","accumulate","accumulate01","iData","step","pretab","acc_xp","acc_xpPos","acc_iData","acc_iDataPos","quantize_lines_xrpow_01","usefullsize","$46fd82963609949b$var$Arrays","iDataPos","xpPos","sfb_count1","endPos","max2","max1","t1","t2","largetbl","hlen1","table23","table56","count_bit_noESC_from3","hlen3","hlen2","sum3","ix_max","count_bit_noESC","huf_tbl_noESC","IXMAX_VAL","LARGE_BITS","choice2","choice","count_bit_ESC","noquant_count_bits","prev_noise","a1","a2","t32l","t33l","choose_table","bi","best_huffman_divide","count_bits","IPOW20","gain","roundfac","r01_bits","r01_div","r0_tbl","r1_tbl","r0","bigv","r0bits","r1","r0t","r1t","cod_info2","r2","r2t","$46fd82963609949b$var$new_int","recalc_divide_init","recalc_divide_sub","slen2_n","$46fd82963609949b$var$Takehiro","scfsi_calc","scfsi_band","slen1_n","c","best_scalefac_store","recalc","scale_bitcount","scale_bitcount_lsf","all_scalefactors_not_negative","max_slen1","max_slen2","scale_short","scale_mixed","scale_long","max_range_sfac_tab","row_in_table","nr_sfb","over","table_number","max_sfac","partition_table","nr_of_sfb_block","slen3","slen4","log2tab","$46fd82963609949b$var$System","huffman_init","scfb_anz","bv_index","subdv_table","hl","$a14e8b54f947e3d4$var$Tables","t1HB","t2HB","t3HB","t5HB","t6HB","t7HB","t8HB","t9HB","t10HB","t11HB","t12HB","t13HB","t15HB","t16HB","t24HB","t32HB","t33HB","t1l","t2l","t3l","t5l","t6l","t7l","t8l","t9l","t10l","t11l","t12l","t13l","t15l","t16_5l","t16l","t24l","$a14e8b54f947e3d4$var$HuffCodeTab","samplerate_table","$5dfff05939c3cc74$var$VbrMode","$5dfff05939c3cc74$var$Float","$5dfff05939c3cc74$var$new_int","$5dfff05939c3cc74$var$QuantizePVT","Q_MAX","Q_MAX2","tak","_tk","_rv","$5dfff05939c3cc74$var$assert","ipow20","DBL_EPSILON","NSATHSCALE","$5dfff05939c3cc74$var$new_float","pow43","PRECALC_SIZE","ATHmdct","ATH_l","ATH_psfb21","ATH_s","samp_freq","ATH_f","ATH_psfb12","compute_ath","pow20","alto","treble","sfb21","bass","cbr","tbits","ResvMaxBits","extra_bits","add_bits","fac","move_bits","athAdjust","athFloor","$5dfff05939c3cc74$var$Util","o","pxmin","ath_over","gsfb","xmin","rh1","rh2","en0","xb","xa","enable_athaa_fix","pxminPos","max_nonzero","BitStream","tmpATH","calc_noise_core","startline","noise","ix01","calc_noise","distort","res","distortPos","max_noise","scalefacPos","over_SSD","l3_xminPos","noise_log","POW20","sl","tot_noise_db","tmp","over_noise_db","over_count","tot_noise","over_noise","set_pinfo","sfb2","en1","ifqstep","L3Side","CalcNoiseResult","xfsf","bw","LAMEsfb","en_s","xfsf_s","thr_s","LAMEsfb_s","LAMEqss","LAMEmainbits","LAMEsfbits","$dd7ee3788d91dcb8$exports","$parcel$export","$dd7ee3788d91dcb8$export$9ca5d136ebf61cf2","$dd7ee3788d91dcb8$export$cb948f2d6837f136","$7960aab77e945546$var$VbrMode","$7960aab77e945546$var$Presets","qual","comp","compS","shThreshold","shThresholdS","adj","adjShort","lower","curve","sens","inter","joint","mod","fix","vbr_q","quant_comp_s","expY","st_lrm","st_s","masking_adj","masking_adj_short","ath_lower","ath_curve","ath_sensitivity","interch","safejoint","sfb21mod","ABRPresets","kbps","sc","mask","interCh","sfScale","nsmsfix","nsbass","sfscale","lame","_lame","VBRPresets","enforce","vbr_preset","vbr_old_switch_map","vbr_psy_switch_map","q","lame_set_VBR_q","actual_bitrate","abr_switch_map","apply_abr_preset","apply_vbr_preset","$7960aab77e945546$exports","$df08f3a0d41b7a78$var$Util","$df08f3a0d41b7a78$var$Arrays","$225800021a714f05$exports","$225800021a714f05$var$VBRQuantize","$3afa85f14aff627b$var$CalcNoiseResult","$3afa85f14aff627b$exports","$4fc41bdea3aedc83$var$CalcNoiseData","$4fc41bdea3aedc83$var$new_int","$4fc41bdea3aedc83$var$new_float","$4fc41bdea3aedc83$exports","tk","init_xrpow_core","$df08f3a0d41b7a78$var$assert","stop","ath21","block","ath12","$df08f3a0d41b7a78$var$new_float","$df08f3a0d41b7a78$var$System","ixwork","psfb21_analogsilence","BinSearchDirection","BINSEARCH_NONE","BINSEARCH_UP","BINSEARCH_DOWN","desired_rate","Direction","nBits","flagGoneOver","trancate_smallspectrums","trancateThreshold","sort","allowedNoise","nsame","loop_break","get_klemm_noise","klemm_noise","penalties","quant_compare","best","calc","better","amp_scalefac_bands","bRefine","ifqstep34","trigger","inc_subblock_gain","amp","balance_noise","status","inc_scalefac_scale","cod_info_w","bEndOfSearch","bin_search_StepSize","best_noise_info","save_xrpow","search_limit","maxggain","huff_bits","best_part2_3_length","noise_info","age","best_ggain_pass1","$df08f3a0d41b7a78$var$VbrMode","ResvAdjust","VBR_encode_granule","min_bits","bst_xrpow","real_bits","found","Max_bits","LameInternalFlags","bst_cod_info","this_bits","dbits","get_framebits","frameBits","VBR_old_prepare","bands","MeanBits","mxb","analog_silence","bitpressure_strategy","VBR_new_prepare","maximum_framebits","calc_target_bits","analog_silence_bits","max_frame_bits","totbits","res_factor","$df08f3a0d41b7a78$exports","$df08f3a0d41b7a78$var$Quantize","$b5a7ab7c590f5d1e$var$Reservoir","frameLength","maxmp3buf","resvLimit","fullFrameBits","$b5a7ab7c590f5d1e$var$assert","resvsize","stuffingBits","over_bits","mdb_bytes","$b5a7ab7c590f5d1e$exports","LAME_URL","LAME_MAJOR_VERSION","LAME_MINOR_VERSION","LAME_PATCH_VERSION","PSY_MAJOR_VERSION","PSY_MINOR_VERSION","getLameVersion","getLameVeryShortVersion","getPsyVersion","getLameUrl","getLameOsBitness","$34609aeb1df0c2af$exports","$34609aeb1df0c2af$var$Version","$e674985ea62d27cf$var$System","$e674985ea62d27cf$var$VBRTag","NUMTOCENTRIES","MAXFRAMESIZE","_v","VBRHEADERSIZE","XING_BITRATE1","XING_BITRATE2","XING_BITRATE25","ISO_8859_1","VBRTag0","VBRTag1","crc16Lookup","xingSeekTable","act","indx","seek_point","Tables","$e674985ea62d27cf$var$assert","addVbr","extractInteger","createInteger","isVbrTag","equals","setLameTagFrameHeader","shiftInBitsValue","$e674985ea62d27cf$var$VbrMode","bbyte","abyte","getVbrTag","VBRTagData","pTagData","flags","hBitrate","hId","samprate","hSrIndex","hMode","head_flags","FRAMES_FLAG","frames","BYTES_FLAG","TOC_FLAG","toc","vbrScale","VBR_SCALE_FLAG","headersize","encDelay","encPadding","kbps_header","headerSize","LAMEHEADERSIZE","totalFrameSize","$e674985ea62d27cf$var$new_byte","crcUpdateLookup","musicLength","streamBuffer","streamBufferPos","bytesWritten","peakSignalAmplitude","noiseShaping","stereoMode","misc","expNPsyTune","noGapMore","athType","abrBitrate","vbrTypeTranslator","revMethod","revision","radioReplayGain","noGapCount","noGapCurr","noGapPrevious","safeJoint","sourceFreq","$e674985ea62d27cf$var$ShortBlock","nonOptimal","musicCRC","createShort","audiophileReplayGain","fpStream","seek","readFully","id3v2Header","String","startsWith","id3v2TagSize","getLameTagFrame","$e674985ea62d27cf$var$Arrays","streamIndex","streamSize","putLameVBR","putVbrTag","stream","skipId3v2","write","$e674985ea62d27cf$exports","parse2","mpg2","$dd7ee3788d91dcb8$var$Parse","ver2","id32","pre2","$dd7ee3788d91dcb8$var$ID3Tag","_bits","channels","error","$kk1yk","$dd7ee3788d91dcb8$var$GetAudio","parse","gaud","$dd7ee3788d91dcb8$var$assert","retcode","maxSamples","$dd7ee3788d91dcb8$var$new_byte","encodeBuffer","left","right","_sz","subarray","flush","dataOffset","dataLen","sampleRate","fourcc","charCodeAt","$dd7ee3788d91dcb8$var$WavHeader","RIFF","$dd7ee3788d91dcb8$var$fourccToInt","WAVE","fmt_","data","readHeader","dataView","getUint32","fmtLen","getUint16","$dd7ee3788d91dcb8$var$Mp3Encoder"],"mappings":"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CA2HAxb,CAAAA,aAAa,CAACS,QAAd,CAAuB,OAAvB,CAAgC,SAASL,MAAT,CAAiBF,OAAjB,CAA0B;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAIQ,MAAM,CAAGV,aAAa,CAAC,OAAD,CAA1B,CACmCU,MAAM,CAACE,OAC1C,IAAI6a,6BAA6B,CAAG/a,MAAM,CAACG,OAA3C,CACA,IAA+B,2BAAA,CAAGH,MAAM,CAACI,KAAzC,CACA,IAAoC,gCAAA,CAAGJ,MAAM,CAACK,UAA9C,CACA,IAAI2a,0BAA0B,CAAGhb,MAAM,CAACM,IAAxC,CACA,IAAgC,4BAAA,CAAGN,MAAM,CAACO,MAA1C,CACwCP,MAAM,CAACQ,YACVR,MAAM,CAACS,SACLT,MAAM,CAACU,WAC9C,IAAIua,+BAA+B,CAAGjb,MAAM,CAACW,SAA7C,CACA,IAAIua,iCAAiC,CAAGlb,MAAM,CAACY,WAA/C,CACA,IAAiC,6BAAA,CAAGZ,MAAM,CAACa,OAA3C,CACsCb,MAAM,CAACc,UAC7C,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CA,IAAA,CAAKC,IAAL,CAAY,EAAZ,CACA,IAAA,CAAKC,SAAL,CAAiB,CAAjB,CACA,IAAA,CAAKC,KAAL,CAAa,CAAb,CACA,IAAA,CAAKznB,CAAL,CAAS0nB,6BAA6B,CAAC,CAAIpB,CAAAA,MAAM,CAACqB,YAAP,CAAsBrB,MAAM,CAACsB,MAAlC,CAAtC,CACA,IAAKC,CAAAA,CAAL,CAASH,6BAA6B,CAAC,CAAIpB,CAAAA,MAAM,CAACqB,YAAP,CAAsBrB,MAAM,CAACsB,MAAlC,CAAtC,CACH,CACDtgC,MAAM,CAACF,OAAP,CAAiB0gC,gCAAjB,CAEC,CAtDD,EAuDA5gC,aAAa,CAACS,QAAd,CAAuB,OAAvB,CAAgC,SAASL,MAAT,CAAiBF,OAAjB,CAA0B;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,UAAU,CAAGF,aAAa,CAAC,OAAD,CAA1B,CACA,IAAgC,4BAAA,CAAGU,MAAM,CAACE,MAA1C,CACoCF,MAAM,CAACG,QACTH,MAAM,CAACI,MACFJ,MAAM,CAACK,WACbL,MAAM,CAACM,KACxC,IAAI6/B,4BAA4B,CAAGngC,MAAM,CAACO,MAA1C,CACwCP,MAAM,CAACQ,YACVR,MAAM,CAACS,SACLT,MAAM,CAACU,WACRV,MAAM,CAACW,UACLX,MAAM,CAACY,YACXZ,MAAM,CAACa,QACLb,MAAM,CAACc,UACVd,MAAM,CAACgB,OAC1C;AACA;AACA,GAAI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rC,CAAwC,CACvE0vB,SAAS,CAAChT,EAAD,CAAT,CAAc1c,EAAd,CAAA,EAAqB+tC,cAAc,CAAC,CAAD,CAAnC,CACAre,SAAS,CAAChT,EAAD,CAAT,CAAc1c,EAAd,CAAqBguC,EAAAA,OAArB,CACH,CACJ,CACJ,CA9EG,CA+EP,CACDE,yBAAyB,CAAGC,8BAA5B,CAIA,IAAU,MAAA,CAAGnjD,aAAa,CAAC,OAAD,CAA1B,CACA,IAA6B,yBAAA,CAAG,EAAhC,CACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,IAAU,MAAA,CAAGA,aAAa,CAAC,OAAD,CAA1B,CACA,IAAgC,4BAAA,CAAGU,MAAM,CAACgB,MAA1C,CACA,SAAS0hD,+BAAT,EAA2C,CACvC,IAAA,EAAA,CACA,KAAKz/C,UAAL,CAAkB,SAASE,GAAT,CAAc,CAC5BQ,EAAE,CAAGR,GAAL,CACH,CAFD,CAGA,IAAKygC,CAAAA,cAAL,CAAsB,SAASj/B,GAAT,CAAc8+B,SAAd,CAAyB,CAC3C,OAAO,CAAG9+B,GAAG,CAACI,cAAd,CACA,IAAA,SAAA,CACA,IAAW,OAAA,CAAGD,GAAG,CAACmsB,OAAlB,CACA,IAAI0xB,WAAW,CAAGh/C,EAAE,CAACgiC,YAAH,CAAgBhhC,GAAhB,CAAlB,CACA8+B,SAAS,CAACK,IAAV,CAAiB,CAAC6e,WAAW,CAAG79C,GAAG,CAACqL,YAAJ,CAAmB,CAAlC,EAAuCrL,GAAG,CAACkK,OAA5D,CACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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"}
|