| @@ -352,7 +352,8 @@ struct FindFileStruct | |||||
| // returns 0 on failure | // returns 0 on failure | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, | |||||
| Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| DIR* d = opendir (directory.toUTF8()); | DIR* d = opendir (directory.toUTF8()); | ||||
| @@ -177,8 +177,6 @@ bool juce_isRunningAsApplication() | |||||
| extern Display* display; | extern Display* display; | ||||
| extern XContext improbableNumber; | extern XContext improbableNumber; | ||||
| const int juce_windowIsSemiTransparentFlag = (1 << 31); // also in component.cpp | |||||
| static const int eventMask = NoEventMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | static const int eventMask = NoEventMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | ||||
| | EnterWindowMask | LeaveWindowMask | PointerMotionMask | KeymapStateMask | | EnterWindowMask | LeaveWindowMask | PointerMotionMask | KeymapStateMask | ||||
| | ExposureMask | StructureNotifyMask | FocusChangeMask; | | ExposureMask | StructureNotifyMask | FocusChangeMask; | ||||
| @@ -2052,7 +2050,7 @@ private: | |||||
| XSetWMHints (display, wndH, wmHints); | XSetWMHints (display, wndH, wmHints); | ||||
| XFree (wmHints); | XFree (wmHints); | ||||
| if ((styleFlags & juce_windowIsSemiTransparentFlag) != 0) | |||||
| if ((styleFlags & windowIsSemiTransparent) != 0) | |||||
| { | { | ||||
| //xxx | //xxx | ||||
| } | } | ||||
| @@ -48,14 +48,16 @@ BEGIN_JUCE_NAMESPACE | |||||
| #endif | #endif | ||||
| //============================================================================== | //============================================================================== | ||||
| #undef log | |||||
| #if JUCE_COREAUDIO_LOGGING_ENABLED | #if JUCE_COREAUDIO_LOGGING_ENABLED | ||||
| #define log(a) Logger::writeToLog (a) | #define log(a) Logger::writeToLog (a) | ||||
| #else | #else | ||||
| #define log(a) | #define log(a) | ||||
| #endif | #endif | ||||
| #undef OK | |||||
| #if JUCE_COREAUDIO_ERROR_LOGGING_ENABLED | #if JUCE_COREAUDIO_ERROR_LOGGING_ENABLED | ||||
| static bool logAnyErrors (const OSStatus err, const int lineNum) | |||||
| static bool logAnyErrors_CoreAudio (const OSStatus err, const int lineNum) | |||||
| { | { | ||||
| if (err == noErr) | if (err == noErr) | ||||
| return true; | return true; | ||||
| @@ -65,7 +67,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| return false; | return false; | ||||
| } | } | ||||
| #define OK(a) logAnyErrors (a, __LINE__) | |||||
| #define OK(a) logAnyErrors_CoreAudio (a, __LINE__) | |||||
| #else | #else | ||||
| #define OK(a) (a == noErr) | #define OK(a) (a == noErr) | ||||
| #endif | #endif | ||||
| @@ -398,8 +400,8 @@ public: | |||||
| { | { | ||||
| if (((unsigned int) index) < num) | if (((unsigned int) index) < num) | ||||
| { | { | ||||
| OSType id = types[index]; | |||||
| AudioDeviceSetProperty (deviceID, 0, 0, input, kAudioDevicePropertyDataSource, sizeof (id), &id); | |||||
| OSType typeId = types[index]; | |||||
| AudioDeviceSetProperty (deviceID, 0, 0, input, kAudioDevicePropertyDataSource, sizeof (typeId), &typeId); | |||||
| } | } | ||||
| juce_free (types); | juce_free (types); | ||||
| @@ -1188,5 +1190,6 @@ AudioIODeviceType* juce_createDefaultAudioIODeviceType() | |||||
| return new CoreAudioIODeviceType(); | return new CoreAudioIODeviceType(); | ||||
| } | } | ||||
| #undef log | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -43,9 +43,10 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../../../src/juce_core/threads/juce_ScopedLock.h" | #include "../../../src/juce_core/threads/juce_ScopedLock.h" | ||||
| //============================================================================== | //============================================================================== | ||||
| #undef log | |||||
| #define log(a) Logger::writeToLog(a) | #define log(a) Logger::writeToLog(a) | ||||
| static bool logAnyErrors (const OSStatus err, const int lineNum) | |||||
| static bool logAnyErrorsMidi (const OSStatus err, const int lineNum) | |||||
| { | { | ||||
| if (err == noErr) | if (err == noErr) | ||||
| return true; | return true; | ||||
| @@ -55,7 +56,8 @@ static bool logAnyErrors (const OSStatus err, const int lineNum) | |||||
| return false; | return false; | ||||
| } | } | ||||
| #define OK(a) logAnyErrors(a, __LINE__) | |||||
| #undef OK | |||||
| #define OK(a) logAnyErrorsMidi(a, __LINE__) | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -141,10 +143,10 @@ static const String getConnectedEndpointName (MIDIEndpointRef endpoint) | |||||
| for (int i = 0; i < numConnections; ++i, ++pid) | for (int i = 0; i < numConnections; ++i, ++pid) | ||||
| { | { | ||||
| MIDIUniqueID id = EndianS32_BtoN (*pid); | |||||
| MIDIUniqueID uid = EndianS32_BtoN (*pid); | |||||
| MIDIObjectRef connObject; | MIDIObjectRef connObject; | ||||
| MIDIObjectType connObjectType; | MIDIObjectType connObjectType; | ||||
| OSStatus err = MIDIObjectFindByUniqueID (id, &connObject, &connObjectType); | |||||
| OSStatus err = MIDIObjectFindByUniqueID (uid, &connObject, &connObjectType); | |||||
| if (err == noErr) | if (err == noErr) | ||||
| { | { | ||||
| @@ -585,4 +587,6 @@ void MidiInput::stop() | |||||
| mpe->active = false; | mpe->active = false; | ||||
| } | } | ||||
| #undef log | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -43,7 +43,6 @@ | |||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| #include "../../../src/juce_core/io/files/juce_FileInputStream.h" | #include "../../../src/juce_core/io/files/juce_FileInputStream.h" | ||||
| #include "../../../src/juce_core/io/files/juce_FileOutputStream.h" | #include "../../../src/juce_core/io/files/juce_FileOutputStream.h" | ||||
| #include "../../../src/juce_core/io/network/juce_URL.h" | #include "../../../src/juce_core/io/network/juce_URL.h" | ||||
| @@ -634,7 +633,8 @@ struct FindFileStruct | |||||
| // returns 0 on failure | // returns 0 on failure | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, | |||||
| Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| DIR* const d = opendir (directory.toUTF8()); | DIR* const d = opendir (directory.toUTF8()); | ||||
| @@ -29,9 +29,6 @@ | |||||
| ============================================================================== | ============================================================================== | ||||
| */ | */ | ||||
| #ifndef __JUCE_MAC_HTTPSTREAM_JUCEHEADER__ | |||||
| #define __JUCE_MAC_HTTPSTREAM_JUCEHEADER__ | |||||
| // (This file gets included by the mac + linux networking code) | // (This file gets included by the mac + linux networking code) | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -42,8 +39,7 @@ class JUCE_HTTPSocketStream | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| JUCE_HTTPSocketStream() | JUCE_HTTPSocketStream() | ||||
| : statusCode (0), | |||||
| readPosition (0), | |||||
| : readPosition (0), | |||||
| socketHandle (-1), | socketHandle (-1), | ||||
| levelsOfRedirection (0), | levelsOfRedirection (0), | ||||
| timeoutSeconds (15) | timeoutSeconds (15) | ||||
| @@ -146,9 +142,11 @@ public: | |||||
| StringArray lines; | StringArray lines; | ||||
| lines.addLines (responseHeader); | lines.addLines (responseHeader); | ||||
| statusCode = responseHeader.fromFirstOccurrenceOf (T(" "), false, false) | |||||
| .substring (0, 3).getIntValue(); | |||||
| // NB - using charToString() here instead of just T(" "), because that was | |||||
| // causing a mysterious gcc internal compiler error... | |||||
| const int statusCode = responseHeader.fromFirstOccurrenceOf (String::charToString (T(' ')), false, false) | |||||
| .substring (0, 3) | |||||
| .getIntValue(); | |||||
| //int contentLength = findHeaderItem (lines, T("Content-Length:")).getIntValue(); | //int contentLength = findHeaderItem (lines, T("Content-Length:")).getIntValue(); | ||||
| //bool isChunked = findHeaderItem (lines, T("Transfer-Encoding:")).equalsIgnoreCase ("chunked"); | //bool isChunked = findHeaderItem (lines, T("Transfer-Encoding:")).equalsIgnoreCase ("chunked"); | ||||
| @@ -195,7 +193,7 @@ public: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int statusCode, readPosition; | |||||
| int readPosition; | |||||
| //============================================================================== | //============================================================================== | ||||
| juce_UseDebuggingNewOperator | juce_UseDebuggingNewOperator | ||||
| @@ -402,5 +400,3 @@ int juce_seekInInternetFile (void* handle, int newPosition) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| #endif // __JUCE_MAC_HTTPSTREAM_JUCEHEADER__ | |||||
| @@ -31,11 +31,11 @@ | |||||
| #include "../../../src/juce_core/basics/juce_StandardHeader.h" | #include "../../../src/juce_core/basics/juce_StandardHeader.h" | ||||
| #import <Cocoa/Cocoa.h> | |||||
| #import <IOKit/IOKitLib.h> | |||||
| #import <IOKit/network/IOEthernetInterface.h> | |||||
| #import <IOKit/network/IONetworkInterface.h> | |||||
| #import <IOKit/network/IOEthernetController.h> | |||||
| #include <Cocoa/Cocoa.h> | |||||
| #include <IOKit/IOKitLib.h> | |||||
| #include <IOKit/network/IOEthernetInterface.h> | |||||
| #include <IOKit/network/IONetworkInterface.h> | |||||
| #include <IOKit/network/IOEthernetController.h> | |||||
| #include <netdb.h> | #include <netdb.h> | ||||
| #include <arpa/inet.h> | #include <arpa/inet.h> | ||||
| @@ -159,8 +159,10 @@ void SystemStats::initialiseStats() throw() | |||||
| highResTimerFrequency = (int64) AudioGetHostClockFrequency(); | highResTimerFrequency = (int64) AudioGetHostClockFrequency(); | ||||
| #if ! ONLY_INCLUDE_JUCE_CORE_HEADERS | |||||
| if (JUCEApplication::getInstance() != 0) | if (JUCEApplication::getInstance() != 0) | ||||
| RegisterAppearanceClient(); | RegisterAppearanceClient(); | ||||
| #endif | |||||
| TXNInitTextension (0, 0, kTXNWantMoviesMask | kTXNWantGraphicsMask); | TXNInitTextension (0, 0, kTXNWantMoviesMask | kTXNWantGraphicsMask); | ||||
| @@ -31,10 +31,10 @@ | |||||
| #include "../../../src/juce_core/basics/juce_StandardHeader.h" | #include "../../../src/juce_core/basics/juce_StandardHeader.h" | ||||
| #import <Cocoa/Cocoa.h> | |||||
| #import <WebKit/HIWebView.h> | |||||
| #import <WebKit/WebPolicyDelegate.h> | |||||
| #import <WebKit/CarbonUtils.h> | |||||
| #include <Cocoa/Cocoa.h> | |||||
| #include <WebKit/HIWebView.h> | |||||
| #include <WebKit/WebPolicyDelegate.h> | |||||
| #include <WebKit/CarbonUtils.h> | |||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| #include "../../../src/juce_appframework/events/juce_Timer.h" | #include "../../../src/juce_appframework/events/juce_Timer.h" | ||||
| @@ -47,7 +47,7 @@ END_JUCE_NAMESPACE | |||||
| juce::WebBrowserComponent* ownerComponent; | juce::WebBrowserComponent* ownerComponent; | ||||
| } | } | ||||
| - (DownloadClickDetector*) init: (juce::WebBrowserComponent*) ownerComponent; | |||||
| - (DownloadClickDetector*) initWithOwner: (juce::WebBrowserComponent*) ownerComponent; | |||||
| - (void) webView: (WebView*) webView decidePolicyForNavigationAction: (NSDictionary*) actionInformation | - (void) webView: (WebView*) webView decidePolicyForNavigationAction: (NSDictionary*) actionInformation | ||||
| request: (NSURLRequest*) request | request: (NSURLRequest*) request | ||||
| @@ -58,7 +58,7 @@ END_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| @implementation DownloadClickDetector | @implementation DownloadClickDetector | ||||
| - (DownloadClickDetector*) init: (juce::WebBrowserComponent*) ownerComponent_ | |||||
| - (DownloadClickDetector*) initWithOwner: (juce::WebBrowserComponent*) ownerComponent_ | |||||
| { | { | ||||
| [super init]; | [super init]; | ||||
| ownerComponent = ownerComponent_; | ownerComponent = ownerComponent_; | ||||
| @@ -83,7 +83,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| class WebBrowserComponentInternal : public Timer | class WebBrowserComponentInternal : public Timer | ||||
| { | { | ||||
| public: | public: | ||||
| WebBrowserComponentInternal (WebBrowserComponent* const owner_) | |||||
| WebBrowserComponentInternal (WebBrowserComponent* owner_) | |||||
| : owner (owner_), | : owner (owner_), | ||||
| view (0), | view (0), | ||||
| webView (0) | webView (0) | ||||
| @@ -124,7 +124,7 @@ public: | |||||
| webView = HIWebViewGetWebView (view); | webView = HIWebViewGetWebView (view); | ||||
| clickListener = [[DownloadClickDetector alloc] init: owner_]; | |||||
| clickListener = [[DownloadClickDetector alloc] initWithOwner: owner_]; | |||||
| [webView setPolicyDelegate: clickListener]; | [webView setPolicyDelegate: clickListener]; | ||||
| } | } | ||||
| @@ -2547,16 +2547,16 @@ const unsigned int kSpecialNoCursor = 'nocr'; | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw() | void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw() | ||||
| { | { | ||||
| ThemeCursor id = kThemeArrowCursor; | |||||
| ThemeCursor cursorId = kThemeArrowCursor; | |||||
| switch (type) | switch (type) | ||||
| { | { | ||||
| case MouseCursor::NormalCursor: | case MouseCursor::NormalCursor: | ||||
| id = kThemeArrowCursor; | |||||
| cursorId = kThemeArrowCursor; | |||||
| break; | break; | ||||
| case MouseCursor::NoCursor: | case MouseCursor::NoCursor: | ||||
| id = kSpecialNoCursor; | |||||
| cursorId = kSpecialNoCursor; | |||||
| break; | break; | ||||
| case MouseCursor::DraggingHandCursor: | case MouseCursor::DraggingHandCursor: | ||||
| @@ -2573,19 +2573,19 @@ void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) thro | |||||
| break; | break; | ||||
| case MouseCursor::CopyingCursor: | case MouseCursor::CopyingCursor: | ||||
| id = kThemeCopyArrowCursor; | |||||
| cursorId = kThemeCopyArrowCursor; | |||||
| break; | break; | ||||
| case MouseCursor::WaitCursor: | case MouseCursor::WaitCursor: | ||||
| id = kThemeWatchCursor; | |||||
| cursorId = kThemeWatchCursor; | |||||
| break; | break; | ||||
| case MouseCursor::IBeamCursor: | case MouseCursor::IBeamCursor: | ||||
| id = kThemeIBeamCursor; | |||||
| cursorId = kThemeIBeamCursor; | |||||
| break; | break; | ||||
| case MouseCursor::PointingHandCursor: | case MouseCursor::PointingHandCursor: | ||||
| id = kThemePointingHandCursor; | |||||
| cursorId = kThemePointingHandCursor; | |||||
| break; | break; | ||||
| case MouseCursor::LeftRightResizeCursor: | case MouseCursor::LeftRightResizeCursor: | ||||
| @@ -2655,13 +2655,13 @@ void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) thro | |||||
| } | } | ||||
| case MouseCursor::CrosshairCursor: | case MouseCursor::CrosshairCursor: | ||||
| id = kThemeCrossCursor; | |||||
| cursorId = kThemeCrossCursor; | |||||
| break; | break; | ||||
| } | } | ||||
| CursorWrapper* cw = new CursorWrapper(); | CursorWrapper* cw = new CursorWrapper(); | ||||
| cw->cursor = 0; | cw->cursor = 0; | ||||
| cw->themeCursor = id; | |||||
| cw->themeCursor = cursorId; | |||||
| return (void*) cw; | return (void*) cw; | ||||
| } | } | ||||
| @@ -2767,14 +2767,14 @@ public: | |||||
| if (currentModel != 0) | if (currentModel != 0) | ||||
| { | { | ||||
| int id = 1000; | |||||
| int menuId = 1000; | |||||
| const StringArray menuNames (currentModel->getMenuBarNames()); | const StringArray menuNames (currentModel->getMenuBarNames()); | ||||
| for (int i = 0; i < menuNames.size(); ++i) | for (int i = 0; i < menuNames.size(); ++i) | ||||
| { | { | ||||
| const PopupMenu menu (currentModel->getMenuForIndex (i, menuNames [i])); | const PopupMenu menu (currentModel->getMenuForIndex (i, menuNames [i])); | ||||
| MenuRef m = createMenu (menu, menuNames [i], id, i); | |||||
| MenuRef m = createMenu (menu, menuNames [i], menuId, i); | |||||
| InsertMenu (m, 0); | InsertMenu (m, 0); | ||||
| CFRelease (m); | CFRelease (m); | ||||
| @@ -2795,19 +2795,19 @@ public: | |||||
| } | } | ||||
| } | } | ||||
| void invoke (const int id, ApplicationCommandManager* const commandManager, const int topLevelIndex) const | |||||
| void invoke (const int commandId, ApplicationCommandManager* const commandManager, const int topLevelIndex) const | |||||
| { | { | ||||
| if (currentModel != 0) | if (currentModel != 0) | ||||
| { | { | ||||
| if (commandManager != 0) | if (commandManager != 0) | ||||
| { | { | ||||
| ApplicationCommandTarget::InvocationInfo info (id); | |||||
| ApplicationCommandTarget::InvocationInfo info (commandId); | |||||
| info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu; | info.invocationMethod = ApplicationCommandTarget::InvocationInfo::fromMenu; | ||||
| commandManager->invoke (info, true); | commandManager->invoke (info, true); | ||||
| } | } | ||||
| currentModel->menuItemSelected (id, topLevelIndex); | |||||
| currentModel->menuItemSelected (commandId, topLevelIndex); | |||||
| } | } | ||||
| } | } | ||||
| @@ -30,6 +30,7 @@ | |||||
| */ | */ | ||||
| #include "win32_headers.h" | #include "win32_headers.h" | ||||
| #undef WINDOWS | |||||
| #if JUCE_ASIO | #if JUCE_ASIO | ||||
| @@ -1959,4 +1960,6 @@ AudioIODeviceType* juce_createASIOAudioIODeviceType() | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| #undef log | |||||
| #endif | #endif | ||||
| @@ -219,7 +219,9 @@ static const String getDSErrorMessage (HRESULT hr) | |||||
| #ifdef DS_DEBUGGING | #ifdef DS_DEBUGGING | ||||
| #define CATCH JUCE_CATCH_EXCEPTION | #define CATCH JUCE_CATCH_EXCEPTION | ||||
| #undef log | |||||
| #define log(a) Logger::writeToLog(a); | #define log(a) Logger::writeToLog(a); | ||||
| #undef logError | |||||
| #define logError(a) logDSError(a, __LINE__); | #define logError(a) logDSError(a, __LINE__); | ||||
| static void logDSError (HRESULT hr, int lineNum) | static void logDSError (HRESULT hr, int lineNum) | ||||
| @@ -1783,5 +1785,6 @@ const String DSoundAudioIODevice::openDevice (const BitArray& inputChannels, | |||||
| return error; | return error; | ||||
| } | } | ||||
| #undef log | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -41,6 +41,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| #if ! ONLY_INCLUDE_JUCE_CORE_HEADERS | |||||
| bool AlertWindow::showNativeDialogBox (const String& title, | bool AlertWindow::showNativeDialogBox (const String& title, | ||||
| const String& bodyText, | const String& bodyText, | ||||
| bool isOkCancel) | bool isOkCancel) | ||||
| @@ -50,6 +51,8 @@ bool AlertWindow::showNativeDialogBox (const String& title, | |||||
| : MB_OK) == IDOK; | : MB_OK) == IDOK; | ||||
| } | } | ||||
| #endif | |||||
| //============================================================================== | //============================================================================== | ||||
| void PlatformUtilities::beep() | void PlatformUtilities::beep() | ||||
| { | { | ||||
| @@ -62,6 +65,8 @@ void PlatformUtilities::beep() | |||||
| #pragma warning (disable : 4127) // "Conditional expression is constant" warning | #pragma warning (disable : 4127) // "Conditional expression is constant" warning | ||||
| #endif | #endif | ||||
| #if ! ONLY_INCLUDE_JUCE_CORE_HEADERS | |||||
| void SystemClipboard::copyTextToClipboard (const String& text) throw() | void SystemClipboard::copyTextToClipboard (const String& text) throw() | ||||
| { | { | ||||
| if (OpenClipboard (0) != 0) | if (OpenClipboard (0) != 0) | ||||
| @@ -116,5 +121,6 @@ const String SystemClipboard::getTextFromClipboard() throw() | |||||
| return result; | return result; | ||||
| } | } | ||||
| #endif | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -358,7 +358,7 @@ int SystemStats::getMACAddresses (int64* addresses, int maxNum, const bool littl | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| typedef ULONG (WINAPI *MAPISendMailType) (LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG); | |||||
| typedef ULONG (WINAPI *MAPISendMailType) (LHANDLE, ULONG, lpMapiMessage, ::FLAGS, ULONG); | |||||
| bool PlatformUtilities::launchEmailWithAttachments (const String& targetEmailAddress, | bool PlatformUtilities::launchEmailWithAttachments (const String& targetEmailAddress, | ||||
| const String& emailSubject, | const String& emailSubject, | ||||
| @@ -49,7 +49,9 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../../../src/juce_core/threads/juce_Process.h" | #include "../../../src/juce_core/threads/juce_Process.h" | ||||
| #include "../../../src/juce_core/threads/juce_InterProcessLock.h" | #include "../../../src/juce_core/threads/juce_InterProcessLock.h" | ||||
| extern HWND juce_messageWindowHandle; | |||||
| #if ! ONLY_INCLUDE_JUCE_CORE_HEADERS | |||||
| extern HWND juce_messageWindowHandle; | |||||
| #endif | |||||
| #ifdef _MSC_VER | #ifdef _MSC_VER | ||||
| #pragma warning (pop) | #pragma warning (pop) | ||||
| @@ -120,8 +122,10 @@ void JUCE_API juce_threadEntryPoint (void*); | |||||
| static unsigned int __stdcall threadEntryProc (void* userData) throw() | static unsigned int __stdcall threadEntryProc (void* userData) throw() | ||||
| { | { | ||||
| #if ! ONLY_INCLUDE_JUCE_CORE_HEADERS | |||||
| AttachThreadInput (GetWindowThreadProcessId (juce_messageWindowHandle, 0), | AttachThreadInput (GetWindowThreadProcessId (juce_messageWindowHandle, 0), | ||||
| GetCurrentThreadId(), TRUE); | GetCurrentThreadId(), TRUE); | ||||
| #endif | |||||
| juce_threadEntryPoint (userData); | juce_threadEntryPoint (userData); | ||||
| @@ -95,8 +95,6 @@ extern void juce_repeatLastProcessPriority() throw(); // in juce_win32_Threads.c | |||||
| extern void juce_CheckCurrentlyFocusedTopLevelWindow() throw(); // in juce_TopLevelWindow.cpp | extern void juce_CheckCurrentlyFocusedTopLevelWindow() throw(); // in juce_TopLevelWindow.cpp | ||||
| extern bool juce_IsRunningInWine() throw(); | extern bool juce_IsRunningInWine() throw(); | ||||
| const int juce_windowIsSemiTransparentFlag = (1 << 31); // also in component.cpp | |||||
| #ifndef ULW_ALPHA | #ifndef ULW_ALPHA | ||||
| #define ULW_ALPHA 0x00000002 | #define ULW_ALPHA 0x00000002 | ||||
| #endif | #endif | ||||
| @@ -1053,7 +1051,7 @@ private: | |||||
| if ((styleFlags & windowIgnoresMouseClicks) != 0) | if ((styleFlags & windowIgnoresMouseClicks) != 0) | ||||
| exstyle |= WS_EX_TRANSPARENT; | exstyle |= WS_EX_TRANSPARENT; | ||||
| if ((styleFlags & juce_windowIsSemiTransparentFlag) != 0 | |||||
| if ((styleFlags & windowIsSemiTransparent) != 0 | |||||
| && Desktop::canUseSemiTransparentWindows()) | && Desktop::canUseSemiTransparentWindows()) | ||||
| exstyle |= WS_EX_LAYERED; | exstyle |= WS_EX_LAYERED; | ||||
| @@ -34,7 +34,9 @@ | |||||
| #include "../../../juce_Config.h" | #include "../../../juce_Config.h" | ||||
| #define STRICT | |||||
| #ifndef STRICT | |||||
| #define STRICT 1 | |||||
| #endif | |||||
| #define WIN32_LEAN_AND_MEAN | #define WIN32_LEAN_AND_MEAN | ||||
| // don't want to get told about microsoft's mistakes.. | // don't want to get told about microsoft's mistakes.. | ||||
| @@ -121,7 +121,7 @@ public: | |||||
| StringArray lines; | StringArray lines; | ||||
| lines.addLines (c->getComponentProperty (T("items"), false)); | lines.addLines (c->getComponentProperty (T("items"), false)); | ||||
| int id = 1; | |||||
| int itemId = 1; | |||||
| for (int i = 0; i < lines.size(); ++i) | for (int i = 0; i < lines.size(); ++i) | ||||
| { | { | ||||
| @@ -129,7 +129,7 @@ public: | |||||
| s << memberVariableName << "->addSeparator();\n"; | s << memberVariableName << "->addSeparator();\n"; | ||||
| else | else | ||||
| s << memberVariableName << "->addItem (" | s << memberVariableName << "->addItem (" | ||||
| << quotedString (lines[i]) << ", " << id++ << ");\n"; | |||||
| << quotedString (lines[i]) << ", " << itemId++ << ");\n"; | |||||
| } | } | ||||
| if (needsCallback (component)) | if (needsCallback (component)) | ||||
| @@ -169,14 +169,14 @@ public: | |||||
| lines.addLines (c->getComponentProperty (T("items"), false)); | lines.addLines (c->getComponentProperty (T("items"), false)); | ||||
| c->clear(); | c->clear(); | ||||
| int id = 1; | |||||
| int itemId = 1; | |||||
| for (int i = 0; i < lines.size(); ++i) | for (int i = 0; i < lines.size(); ++i) | ||||
| { | { | ||||
| if (lines[i].trim().isEmpty()) | if (lines[i].trim().isEmpty()) | ||||
| c->addSeparator(); | c->addSeparator(); | ||||
| else | else | ||||
| c->addItem (lines[i], id++); | |||||
| c->addItem (lines[i], itemId++); | |||||
| } | } | ||||
| } | } | ||||
| @@ -224,15 +224,15 @@ int64 ComponentTypeHandler::getComponentId (Component* comp) | |||||
| if (comp == 0) | if (comp == 0) | ||||
| return 0; | return 0; | ||||
| int64 id = comp->getComponentProperty (T("jucerCompId"), false).getHexValue64(); | |||||
| int64 compId = comp->getComponentProperty (T("jucerCompId"), false).getHexValue64(); | |||||
| if (id == 0) | |||||
| if (compId == 0) | |||||
| { | { | ||||
| id = Random::getSystemRandom().nextInt64(); | |||||
| setComponentId (comp, id); | |||||
| compId = Random::getSystemRandom().nextInt64(); | |||||
| setComponentId (comp, compId); | |||||
| } | } | ||||
| return id; | |||||
| return compId; | |||||
| } | } | ||||
| void ComponentTypeHandler::setComponentId (Component* comp, const int64 newID) | void ComponentTypeHandler::setComponentId (Component* comp, const int64 newID) | ||||
| @@ -463,18 +463,18 @@ Component* ComponentLayout::getComponentRelativePosTarget (Component* comp, int | |||||
| if (pe != 0) | if (pe != 0) | ||||
| { | { | ||||
| int64 id; | |||||
| int64 compId; | |||||
| if (whichDimension == 0) | if (whichDimension == 0) | ||||
| id = pe->getPosition().relativeToX; | |||||
| compId = pe->getPosition().relativeToX; | |||||
| else if (whichDimension == 1) | else if (whichDimension == 1) | ||||
| id = pe->getPosition().relativeToY; | |||||
| compId = pe->getPosition().relativeToY; | |||||
| else if (whichDimension == 2) | else if (whichDimension == 2) | ||||
| id = pe->getPosition().relativeToW; | |||||
| compId = pe->getPosition().relativeToW; | |||||
| else | else | ||||
| id = pe->getPosition().relativeToH; | |||||
| compId = pe->getPosition().relativeToH; | |||||
| return findComponentWithId (id); | |||||
| return findComponentWithcompId (id); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| @@ -495,7 +495,7 @@ void ComponentLayout::setComponentRelativeTarget (Component* comp, int whichDime | |||||
| if (compToBeRelativeTo != getComponentRelativePosTarget (comp, whichDimension) | if (compToBeRelativeTo != getComponentRelativePosTarget (comp, whichDimension) | ||||
| && (compToBeRelativeTo == 0 || ! dependsOnComponentForRelativePos (compToBeRelativeTo, comp))) | && (compToBeRelativeTo == 0 || ! dependsOnComponentForRelativePos (compToBeRelativeTo, comp))) | ||||
| { | { | ||||
| const int64 id = ComponentTypeHandler::getComponentId (compToBeRelativeTo); | |||||
| const int64 compId = ComponentTypeHandler::getComponentId (compToBeRelativeTo); | |||||
| Rectangle oldBounds (comp->getBounds()); | Rectangle oldBounds (comp->getBounds()); | ||||
| RelativePositionedRectangle pos; | RelativePositionedRectangle pos; | ||||
| @@ -511,13 +511,13 @@ void ComponentLayout::setComponentRelativeTarget (Component* comp, int whichDime | |||||
| } | } | ||||
| if (whichDimension == 0) | if (whichDimension == 0) | ||||
| pos.relativeToX = id; | |||||
| pos.relativeToX = compId; | |||||
| else if (whichDimension == 1) | else if (whichDimension == 1) | ||||
| pos.relativeToY = id; | |||||
| pos.relativeToY = compId; | |||||
| else if (whichDimension == 2) | else if (whichDimension == 2) | ||||
| pos.relativeToW = id; | |||||
| pos.relativeToW = compId; | |||||
| else if (whichDimension == 3) | else if (whichDimension == 3) | ||||
| pos.relativeToH = id; | |||||
| pos.relativeToH = compId; | |||||
| if (pe != 0) | if (pe != 0) | ||||
| { | { | ||||
| @@ -42,6 +42,38 @@ | |||||
| #include "stream_decoder.h" | #include "stream_decoder.h" | ||||
| #include "stream_encoder.h" | #include "stream_encoder.h" | ||||
| #ifdef _MSC_VER | |||||
| /* OPT: an MSVC built-in would be better */ | |||||
| static _inline FLAC__uint32 local_swap32_(FLAC__uint32 x) | |||||
| { | |||||
| x = ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF); | |||||
| return (x>>16) | (x<<16); | |||||
| } | |||||
| #endif | |||||
| #if defined(_MSC_VER) && defined(_X86_) | |||||
| /* OPT: an MSVC built-in would be better */ | |||||
| static void local_swap32_block_(FLAC__uint32 *start, FLAC__uint32 len) | |||||
| { | |||||
| __asm { | |||||
| mov edx, start | |||||
| mov ecx, len | |||||
| test ecx, ecx | |||||
| loop1: | |||||
| jz done1 | |||||
| mov eax, [edx] | |||||
| bswap eax | |||||
| mov [edx], eax | |||||
| add edx, 4 | |||||
| dec ecx | |||||
| jmp short loop1 | |||||
| done1: | |||||
| } | |||||
| } | |||||
| #endif | |||||
| /** \mainpage | /** \mainpage | ||||
| * | * | ||||
| * \section intro Introduction | * \section intro Introduction | ||||
| @@ -152,32 +152,6 @@ struct FLAC__BitReader { | |||||
| FLAC__CPUInfo cpu_info; | FLAC__CPUInfo cpu_info; | ||||
| }; | }; | ||||
| #if defined(_MSC_VER) && defined(_X86_) | |||||
| /* OPT: an MSVC built-in would be better */ | |||||
| static _inline FLAC__uint32 local_swap32_(FLAC__uint32 x) | |||||
| { | |||||
| x = ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF); | |||||
| return (x>>16) | (x<<16); | |||||
| } | |||||
| static void local_swap32_block_(FLAC__uint32 *start, FLAC__uint32 len) | |||||
| { | |||||
| __asm { | |||||
| mov edx, start | |||||
| mov ecx, len | |||||
| test ecx, ecx | |||||
| loop1: | |||||
| jz done1 | |||||
| mov eax, [edx] | |||||
| bswap eax | |||||
| mov [edx], eax | |||||
| add edx, 4 | |||||
| dec ecx | |||||
| jmp short loop1 | |||||
| done1: | |||||
| } | |||||
| } | |||||
| #endif | |||||
| static FLaC__INLINE void crc16_update_word_(FLAC__BitReader *br, brword word) | static FLaC__INLINE void crc16_update_word_(FLAC__BitReader *br, brword word) | ||||
| { | { | ||||
| register unsigned crc = br->read_crc16; | register unsigned crc = br->read_crc16; | ||||
| @@ -110,15 +110,6 @@ struct FLAC__BitWriter { | |||||
| unsigned bits; /* # of used bits in accum */ | unsigned bits; /* # of used bits in accum */ | ||||
| }; | }; | ||||
| #ifdef _MSC_VER | |||||
| /* OPT: an MSVC built-in would be better */ | |||||
| static _inline FLAC__uint32 local_swap32_(FLAC__uint32 x) | |||||
| { | |||||
| x = ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF); | |||||
| return (x>>16) | (x<<16); | |||||
| } | |||||
| #endif | |||||
| /* * WATCHOUT: The current implementation only grows the buffer. */ | /* * WATCHOUT: The current implementation only grows the buffer. */ | ||||
| static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add) | static FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, unsigned bits_to_add) | ||||
| { | { | ||||
| @@ -105,7 +105,7 @@ static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' }; | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| static void set_defaults_(FLAC__StreamDecoder *decoder); | |||||
| static void set_defaults_dec(FLAC__StreamDecoder *decoder); | |||||
| static FILE *get_binary_stdin_(void); | static FILE *get_binary_stdin_(void); | ||||
| static FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigned channels); | static FLAC__bool allocate_output_(FLAC__StreamDecoder *decoder, unsigned size, unsigned channels); | ||||
| static FLAC__bool has_id_filtered_(FLAC__StreamDecoder *decoder, FLAC__byte *id); | static FLAC__bool has_id_filtered_(FLAC__StreamDecoder *decoder, FLAC__byte *id); | ||||
| @@ -138,9 +138,9 @@ static FLAC__bool seek_to_absolute_sample_(FLAC__StreamDecoder *decoder, FLAC__u | |||||
| #if FLAC__HAS_OGG | #if FLAC__HAS_OGG | ||||
| static FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint64 stream_length, FLAC__uint64 target_sample); | static FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint64 stream_length, FLAC__uint64 target_sample); | ||||
| #endif | #endif | ||||
| static FLAC__StreamDecoderReadStatus file_read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); | |||||
| static FLAC__StreamDecoderSeekStatus file_seek_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamDecoderReadStatus file_read_callback_dec (const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); | |||||
| static FLAC__StreamDecoderSeekStatus file_seek_callback_dec (const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamDecoderTellStatus file_tell_callback_dec (const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamDecoderLengthStatus file_length_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data); | static FLAC__StreamDecoderLengthStatus file_length_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data); | ||||
| static FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_data); | static FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_data); | ||||
| @@ -333,7 +333,7 @@ FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void) | |||||
| decoder->private_->file = 0; | decoder->private_->file = 0; | ||||
| set_defaults_(decoder); | |||||
| set_defaults_dec(decoder); | |||||
| decoder->protected_->state = FLAC__STREAM_DECODER_UNINITIALIZED; | decoder->protected_->state = FLAC__STREAM_DECODER_UNINITIALIZED; | ||||
| @@ -370,7 +370,7 @@ FLAC_API void FLAC__stream_decoder_delete(FLAC__StreamDecoder *decoder) | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| static FLAC__StreamDecoderInitStatus init_stream_internal_( | |||||
| static FLAC__StreamDecoderInitStatus init_stream_internal_dec( | |||||
| FLAC__StreamDecoder *decoder, | FLAC__StreamDecoder *decoder, | ||||
| FLAC__StreamDecoderReadCallback read_callback, | FLAC__StreamDecoderReadCallback read_callback, | ||||
| FLAC__StreamDecoderSeekCallback seek_callback, | FLAC__StreamDecoderSeekCallback seek_callback, | ||||
| @@ -495,7 +495,7 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_stream( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_stream_internal_( | |||||
| return init_stream_internal_dec( | |||||
| decoder, | decoder, | ||||
| read_callback, | read_callback, | ||||
| seek_callback, | seek_callback, | ||||
| @@ -523,7 +523,7 @@ FLAC_API FLAC__StreamDecoderInitStatus FLAC__stream_decoder_init_ogg_stream( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_stream_internal_( | |||||
| return init_stream_internal_dec( | |||||
| decoder, | decoder, | ||||
| read_callback, | read_callback, | ||||
| seek_callback, | seek_callback, | ||||
| @@ -552,10 +552,10 @@ static FLAC__StreamDecoderInitStatus init_FILE_internal_( | |||||
| FLAC__ASSERT(0 != file); | FLAC__ASSERT(0 != file); | ||||
| if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED) | if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED) | ||||
| return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED; | |||||
| return (FLAC__StreamDecoderInitStatus) (decoder->protected_->state = (FLAC__StreamDecoderState) FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED); | |||||
| if(0 == write_callback || 0 == error_callback) | if(0 == write_callback || 0 == error_callback) | ||||
| return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS; | |||||
| return (FLAC__StreamDecoderInitStatus) (decoder->protected_->state = (FLAC__StreamDecoderState) FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS); | |||||
| /* | /* | ||||
| * To make sure that our file does not go unclosed after an error, we | * To make sure that our file does not go unclosed after an error, we | ||||
| @@ -567,11 +567,11 @@ static FLAC__StreamDecoderInitStatus init_FILE_internal_( | |||||
| decoder->private_->file = file; | decoder->private_->file = file; | ||||
| return init_stream_internal_( | |||||
| return init_stream_internal_dec( | |||||
| decoder, | decoder, | ||||
| file_read_callback_, | |||||
| decoder->private_->file == stdin? 0: file_seek_callback_, | |||||
| decoder->private_->file == stdin? 0: file_tell_callback_, | |||||
| file_read_callback_dec, | |||||
| decoder->private_->file == stdin? 0: file_seek_callback_dec, | |||||
| decoder->private_->file == stdin? 0: file_tell_callback_dec, | |||||
| decoder->private_->file == stdin? 0: file_length_callback_, | decoder->private_->file == stdin? 0: file_length_callback_, | ||||
| file_eof_callback_, | file_eof_callback_, | ||||
| write_callback, | write_callback, | ||||
| @@ -626,10 +626,10 @@ static FLAC__StreamDecoderInitStatus init_file_internal_( | |||||
| * in FLAC__stream_decoder_init_FILE() before the FILE* is assigned. | * in FLAC__stream_decoder_init_FILE() before the FILE* is assigned. | ||||
| */ | */ | ||||
| if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED) | if(decoder->protected_->state != FLAC__STREAM_DECODER_UNINITIALIZED) | ||||
| return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED; | |||||
| return (FLAC__StreamDecoderInitStatus) (decoder->protected_->state = (FLAC__StreamDecoderState) FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED); | |||||
| if(0 == write_callback || 0 == error_callback) | if(0 == write_callback || 0 == error_callback) | ||||
| return decoder->protected_->state = FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS; | |||||
| return (FLAC__StreamDecoderInitStatus) (decoder->protected_->state = (FLAC__StreamDecoderState) FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS); | |||||
| file = filename? fopen(filename, "rb") : stdin; | file = filename? fopen(filename, "rb") : stdin; | ||||
| @@ -722,7 +722,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_finish(FLAC__StreamDecoder *decoder) | |||||
| } | } | ||||
| decoder->private_->is_seeking = false; | decoder->private_->is_seeking = false; | ||||
| set_defaults_(decoder); | |||||
| set_defaults_dec(decoder); | |||||
| decoder->protected_->state = FLAC__STREAM_DECODER_UNINITIALIZED; | decoder->protected_->state = FLAC__STREAM_DECODER_UNINITIALIZED; | ||||
| @@ -1254,7 +1254,7 @@ unsigned FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecod | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| void set_defaults_(FLAC__StreamDecoder *decoder) | |||||
| void set_defaults_dec(FLAC__StreamDecoder *decoder) | |||||
| { | { | ||||
| #if FLAC__HAS_OGG | #if FLAC__HAS_OGG | ||||
| decoder->private_->is_ogg = false; | decoder->private_->is_ogg = false; | ||||
| @@ -1369,12 +1369,12 @@ FLAC__bool has_id_filtered_(FLAC__StreamDecoder *decoder, FLAC__byte *id) | |||||
| FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder) | FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder) | ||||
| { | { | ||||
| FLAC__uint32 x; | FLAC__uint32 x; | ||||
| unsigned i, id; | |||||
| unsigned i, id_; | |||||
| FLAC__bool first = true; | FLAC__bool first = true; | ||||
| FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input)); | FLAC__ASSERT(FLAC__bitreader_is_consumed_byte_aligned(decoder->private_->input)); | ||||
| for(i = id = 0; i < 4; ) { | |||||
| for(i = id_ = 0; i < 4; ) { | |||||
| if(decoder->private_->cached) { | if(decoder->private_->cached) { | ||||
| x = (FLAC__uint32)decoder->private_->lookahead; | x = (FLAC__uint32)decoder->private_->lookahead; | ||||
| decoder->private_->cached = false; | decoder->private_->cached = false; | ||||
| @@ -1386,19 +1386,19 @@ FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder) | |||||
| if(x == FLAC__STREAM_SYNC_STRING[i]) { | if(x == FLAC__STREAM_SYNC_STRING[i]) { | ||||
| first = true; | first = true; | ||||
| i++; | i++; | ||||
| id = 0; | |||||
| id_ = 0; | |||||
| continue; | continue; | ||||
| } | } | ||||
| if(x == ID3V2_TAG_[id]) { | |||||
| id++; | |||||
| if(x == ID3V2_TAG_[id_]) { | |||||
| id_++; | |||||
| i = 0; | i = 0; | ||||
| if(id == 3) { | |||||
| if(id_ == 3) { | |||||
| if(!skip_id3v2_tag_(decoder)) | if(!skip_id3v2_tag_(decoder)) | ||||
| return false; /* skip_id3v2_tag_ sets the state for us */ | return false; /* skip_id3v2_tag_ sets the state for us */ | ||||
| } | } | ||||
| continue; | continue; | ||||
| } | } | ||||
| id = 0; | |||||
| id_ = 0; | |||||
| if(x == 0xff) { /* MAGIC NUMBER for the first 8 frame sync bits */ | if(x == 0xff) { /* MAGIC NUMBER for the first 8 frame sync bits */ | ||||
| decoder->private_->header_warmup[0] = (FLAC__byte)x; | decoder->private_->header_warmup[0] = (FLAC__byte)x; | ||||
| if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, 8)) | if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, 8)) | ||||
| @@ -1859,7 +1859,7 @@ FLAC__bool read_metadata_picture_(FLAC__StreamDecoder *decoder, FLAC__StreamMeta | |||||
| /* read type */ | /* read type */ | ||||
| if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_TYPE_LEN)) | if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_TYPE_LEN)) | ||||
| return false; /* read_callback_ sets the state for us */ | return false; /* read_callback_ sets the state for us */ | ||||
| obj->type = x; | |||||
| obj->type = (FLAC__StreamMetadata_Picture_Type) x; | |||||
| /* read MIME type */ | /* read MIME type */ | ||||
| if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN)) | if(!FLAC__bitreader_read_raw_uint32(decoder->private_->input, &x, FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN)) | ||||
| @@ -3323,7 +3323,7 @@ FLAC__bool seek_to_absolute_sample_ogg_(FLAC__StreamDecoder *decoder, FLAC__uint | |||||
| } | } | ||||
| #endif | #endif | ||||
| FLAC__StreamDecoderReadStatus file_read_callback_(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) | |||||
| FLAC__StreamDecoderReadStatus file_read_callback_dec(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) | |||||
| { | { | ||||
| (void)client_data; | (void)client_data; | ||||
| @@ -3340,7 +3340,7 @@ FLAC__StreamDecoderReadStatus file_read_callback_(const FLAC__StreamDecoder *dec | |||||
| return FLAC__STREAM_DECODER_READ_STATUS_ABORT; /* abort to avoid a deadlock */ | return FLAC__STREAM_DECODER_READ_STATUS_ABORT; /* abort to avoid a deadlock */ | ||||
| } | } | ||||
| FLAC__StreamDecoderSeekStatus file_seek_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) | |||||
| FLAC__StreamDecoderSeekStatus file_seek_callback_dec(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) | |||||
| { | { | ||||
| (void)client_data; | (void)client_data; | ||||
| @@ -3352,7 +3352,7 @@ FLAC__StreamDecoderSeekStatus file_seek_callback_(const FLAC__StreamDecoder *dec | |||||
| return FLAC__STREAM_DECODER_SEEK_STATUS_OK; | return FLAC__STREAM_DECODER_SEEK_STATUS_OK; | ||||
| } | } | ||||
| FLAC__StreamDecoderTellStatus file_tell_callback_(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) | |||||
| FLAC__StreamDecoderTellStatus file_tell_callback_dec(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) | |||||
| { | { | ||||
| off_t pos; | off_t pos; | ||||
| (void)client_data; | (void)client_data; | ||||
| @@ -150,7 +150,7 @@ static struct CompressionLevels { | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| static void set_defaults_(FLAC__StreamEncoder *encoder); | |||||
| static void set_defaults_enc(FLAC__StreamEncoder *encoder); | |||||
| static void free_(FLAC__StreamEncoder *encoder); | static void free_(FLAC__StreamEncoder *encoder); | ||||
| static FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize); | static FLAC__bool resize_buffers_(FLAC__StreamEncoder *encoder, unsigned new_blocksize); | ||||
| static FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC__bool is_last_block); | static FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, unsigned samples, FLAC__bool is_last_block); | ||||
| @@ -319,9 +319,9 @@ static FLAC__StreamDecoderWriteStatus verify_write_callback_(const FLAC__StreamD | |||||
| static void verify_metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); | static void verify_metadata_callback_(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); | ||||
| static void verify_error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); | static void verify_error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); | ||||
| static FLAC__StreamEncoderReadStatus file_read_callback_(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data); | |||||
| static FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamEncoderTellStatus file_tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamEncoderReadStatus file_read_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data); | |||||
| static FLAC__StreamEncoderSeekStatus file_seek_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamEncoderTellStatus file_tell_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data); | |||||
| static FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data); | static FLAC__StreamEncoderWriteStatus file_write_callback_(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, void *client_data); | ||||
| static FILE *get_binary_stdout_(void); | static FILE *get_binary_stdout_(void); | ||||
| @@ -557,7 +557,7 @@ FLAC_API FLAC__StreamEncoder *FLAC__stream_encoder_new(void) | |||||
| encoder->private_->file = 0; | encoder->private_->file = 0; | ||||
| set_defaults_(encoder); | |||||
| set_defaults_enc(encoder); | |||||
| encoder->private_->is_being_deleted = false; | encoder->private_->is_being_deleted = false; | ||||
| @@ -633,7 +633,7 @@ FLAC_API void FLAC__stream_encoder_delete(FLAC__StreamEncoder *encoder) | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| static FLAC__StreamEncoderInitStatus init_stream_internal_( | |||||
| static FLAC__StreamEncoderInitStatus init_stream_internal_enc( | |||||
| FLAC__StreamEncoder *encoder, | FLAC__StreamEncoder *encoder, | ||||
| FLAC__StreamEncoderReadCallback read_callback, | FLAC__StreamEncoderReadCallback read_callback, | ||||
| FLAC__StreamEncoderWriteCallback write_callback, | FLAC__StreamEncoderWriteCallback write_callback, | ||||
| @@ -1150,7 +1150,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_stream( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_stream_internal_( | |||||
| return init_stream_internal_enc( | |||||
| encoder, | encoder, | ||||
| /*read_callback=*/0, | /*read_callback=*/0, | ||||
| write_callback, | write_callback, | ||||
| @@ -1172,7 +1172,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_stream( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_stream_internal_( | |||||
| return init_stream_internal_enc( | |||||
| encoder, | encoder, | ||||
| read_callback, | read_callback, | ||||
| write_callback, | write_callback, | ||||
| @@ -1184,7 +1184,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_stream( | |||||
| ); | ); | ||||
| } | } | ||||
| static FLAC__StreamEncoderInitStatus init_FILE_internal_( | |||||
| static FLAC__StreamEncoderInitStatus init_FILE_internal_enc( | |||||
| FLAC__StreamEncoder *encoder, | FLAC__StreamEncoder *encoder, | ||||
| FILE *file, | FILE *file, | ||||
| FLAC__StreamEncoderProgressCallback progress_callback, | FLAC__StreamEncoderProgressCallback progress_callback, | ||||
| @@ -1221,12 +1221,12 @@ static FLAC__StreamEncoderInitStatus init_FILE_internal_( | |||||
| encoder->private_->samples_written = 0; | encoder->private_->samples_written = 0; | ||||
| encoder->private_->frames_written = 0; | encoder->private_->frames_written = 0; | ||||
| init_status = init_stream_internal_( | |||||
| init_status = init_stream_internal_enc( | |||||
| encoder, | encoder, | ||||
| encoder->private_->file == stdout? 0 : is_ogg? file_read_callback_ : 0, | |||||
| encoder->private_->file == stdout? 0 : is_ogg? file_read_callback_enc : 0, | |||||
| file_write_callback_, | file_write_callback_, | ||||
| encoder->private_->file == stdout? 0 : file_seek_callback_, | |||||
| encoder->private_->file == stdout? 0 : file_tell_callback_, | |||||
| encoder->private_->file == stdout? 0 : file_seek_callback_enc, | |||||
| encoder->private_->file == stdout? 0 : file_tell_callback_enc, | |||||
| /*metadata_callback=*/0, | /*metadata_callback=*/0, | ||||
| client_data, | client_data, | ||||
| is_ogg | is_ogg | ||||
| @@ -1253,7 +1253,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_FILE( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_FILE_internal_(encoder, file, progress_callback, client_data, /*is_ogg=*/false); | |||||
| return init_FILE_internal_enc(encoder, file, progress_callback, client_data, /*is_ogg=*/false); | |||||
| } | } | ||||
| FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE( | FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE( | ||||
| @@ -1263,10 +1263,10 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_FILE( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_FILE_internal_(encoder, file, progress_callback, client_data, /*is_ogg=*/true); | |||||
| return init_FILE_internal_enc(encoder, file, progress_callback, client_data, /*is_ogg=*/true); | |||||
| } | } | ||||
| static FLAC__StreamEncoderInitStatus init_file_internal_( | |||||
| static FLAC__StreamEncoderInitStatus init_file_internal_enc( | |||||
| FLAC__StreamEncoder *encoder, | FLAC__StreamEncoder *encoder, | ||||
| const char *filename, | const char *filename, | ||||
| FLAC__StreamEncoderProgressCallback progress_callback, | FLAC__StreamEncoderProgressCallback progress_callback, | ||||
| @@ -1293,7 +1293,7 @@ static FLAC__StreamEncoderInitStatus init_file_internal_( | |||||
| return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR; | return FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR; | ||||
| } | } | ||||
| return init_FILE_internal_(encoder, file, progress_callback, client_data, is_ogg); | |||||
| return init_FILE_internal_enc(encoder, file, progress_callback, client_data, is_ogg); | |||||
| } | } | ||||
| FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_file( | FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_file( | ||||
| @@ -1303,7 +1303,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_file( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_file_internal_(encoder, filename, progress_callback, client_data, /*is_ogg=*/false); | |||||
| return init_file_internal_enc(encoder, filename, progress_callback, client_data, /*is_ogg=*/false); | |||||
| } | } | ||||
| FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_file( | FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_file( | ||||
| @@ -1313,7 +1313,7 @@ FLAC_API FLAC__StreamEncoderInitStatus FLAC__stream_encoder_init_ogg_file( | |||||
| void *client_data | void *client_data | ||||
| ) | ) | ||||
| { | { | ||||
| return init_file_internal_(encoder, filename, progress_callback, client_data, /*is_ogg=*/true); | |||||
| return init_file_internal_enc(encoder, filename, progress_callback, client_data, /*is_ogg=*/true); | |||||
| } | } | ||||
| FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder) | FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder) | ||||
| @@ -1376,7 +1376,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_finish(FLAC__StreamEncoder *encoder) | |||||
| #endif | #endif | ||||
| free_(encoder); | free_(encoder); | ||||
| set_defaults_(encoder); | |||||
| set_defaults_enc(encoder); | |||||
| if(!error) | if(!error) | ||||
| encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED; | encoder->protected_->state = FLAC__STREAM_ENCODER_UNINITIALIZED; | ||||
| @@ -2119,7 +2119,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder | |||||
| * | * | ||||
| ***********************************************************************/ | ***********************************************************************/ | ||||
| void set_defaults_(FLAC__StreamEncoder *encoder) | |||||
| void set_defaults_enc(FLAC__StreamEncoder *encoder) | |||||
| { | { | ||||
| FLAC__ASSERT(0 != encoder); | FLAC__ASSERT(0 != encoder); | ||||
| @@ -2450,7 +2450,7 @@ FLAC__StreamEncoderWriteStatus write_frame_(FLAC__StreamEncoder *encoder, const | |||||
| * Watch for the STREAMINFO block and first SEEKTABLE block to go by and store their offsets. | * Watch for the STREAMINFO block and first SEEKTABLE block to go by and store their offsets. | ||||
| */ | */ | ||||
| if(samples == 0) { | if(samples == 0) { | ||||
| FLAC__MetadataType type = (buffer[0] & 0x7f); | |||||
| FLAC__MetadataType type = (FLAC__MetadataType) (buffer[0] & 0x7f); | |||||
| if(type == FLAC__METADATA_TYPE_STREAMINFO) | if(type == FLAC__METADATA_TYPE_STREAMINFO) | ||||
| encoder->protected_->streaminfo_offset = output_position; | encoder->protected_->streaminfo_offset = output_position; | ||||
| else if(type == FLAC__METADATA_TYPE_SEEKTABLE && encoder->protected_->seektable_offset == 0) | else if(type == FLAC__METADATA_TYPE_SEEKTABLE && encoder->protected_->seektable_offset == 0) | ||||
| @@ -4256,7 +4256,7 @@ void verify_error_callback_(const FLAC__StreamDecoder *decoder, FLAC__StreamDeco | |||||
| encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR; | encoder->protected_->state = FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR; | ||||
| } | } | ||||
| FLAC__StreamEncoderReadStatus file_read_callback_(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) | |||||
| FLAC__StreamEncoderReadStatus file_read_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) | |||||
| { | { | ||||
| (void)client_data; | (void)client_data; | ||||
| @@ -4270,7 +4270,7 @@ FLAC__StreamEncoderReadStatus file_read_callback_(const FLAC__StreamEncoder *enc | |||||
| return FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE; | return FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE; | ||||
| } | } | ||||
| FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) | |||||
| FLAC__StreamEncoderSeekStatus file_seek_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) | |||||
| { | { | ||||
| (void)client_data; | (void)client_data; | ||||
| @@ -4280,7 +4280,7 @@ FLAC__StreamEncoderSeekStatus file_seek_callback_(const FLAC__StreamEncoder *enc | |||||
| return FLAC__STREAM_ENCODER_SEEK_STATUS_OK; | return FLAC__STREAM_ENCODER_SEEK_STATUS_OK; | ||||
| } | } | ||||
| FLAC__StreamEncoderTellStatus file_tell_callback_(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) | |||||
| FLAC__StreamEncoderTellStatus file_tell_callback_enc(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) | |||||
| { | { | ||||
| off_t offset; | off_t offset; | ||||
| @@ -41,7 +41,7 @@ static const unsigned int mask8B[]= | |||||
| void oggpack_writeinit(oggpack_buffer *b){ | void oggpack_writeinit(oggpack_buffer *b){ | ||||
| memset(b,0,sizeof(*b)); | memset(b,0,sizeof(*b)); | ||||
| b->ptr=b->buffer=_ogg_malloc(BUFFER_INCREMENT); | |||||
| b->ptr=b->buffer=(unsigned char*) _ogg_malloc(BUFFER_INCREMENT); | |||||
| b->buffer[0]='\0'; | b->buffer[0]='\0'; | ||||
| b->storage=BUFFER_INCREMENT; | b->storage=BUFFER_INCREMENT; | ||||
| } | } | ||||
| @@ -71,7 +71,7 @@ void oggpackB_writetrunc(oggpack_buffer *b,long bits){ | |||||
| /* Takes only up to 32 bits. */ | /* Takes only up to 32 bits. */ | ||||
| void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){ | void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){ | ||||
| if(b->endbyte+4>=b->storage){ | if(b->endbyte+4>=b->storage){ | ||||
| b->buffer=_ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT); | |||||
| b->buffer=(unsigned char*) _ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT); | |||||
| b->storage+=BUFFER_INCREMENT; | b->storage+=BUFFER_INCREMENT; | ||||
| b->ptr=b->buffer+b->endbyte; | b->ptr=b->buffer+b->endbyte; | ||||
| } | } | ||||
| @@ -105,7 +105,7 @@ void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){ | |||||
| /* Takes only up to 32 bits. */ | /* Takes only up to 32 bits. */ | ||||
| void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits){ | void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits){ | ||||
| if(b->endbyte+4>=b->storage){ | if(b->endbyte+4>=b->storage){ | ||||
| b->buffer=_ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT); | |||||
| b->buffer=(unsigned char*) _ogg_realloc(b->buffer,b->storage+BUFFER_INCREMENT); | |||||
| b->storage+=BUFFER_INCREMENT; | b->storage+=BUFFER_INCREMENT; | ||||
| b->ptr=b->buffer+b->endbyte; | b->ptr=b->buffer+b->endbyte; | ||||
| } | } | ||||
| @@ -169,7 +169,7 @@ static void oggpack_writecopy_helper(oggpack_buffer *b, | |||||
| /* aligned block copy */ | /* aligned block copy */ | ||||
| if(b->endbyte+bytes+1>=b->storage){ | if(b->endbyte+bytes+1>=b->storage){ | ||||
| b->storage=b->endbyte+bytes+BUFFER_INCREMENT; | b->storage=b->endbyte+bytes+BUFFER_INCREMENT; | ||||
| b->buffer=_ogg_realloc(b->buffer,b->storage); | |||||
| b->buffer=(unsigned char*) _ogg_realloc(b->buffer,b->storage); | |||||
| b->ptr=b->buffer+b->endbyte; | b->ptr=b->buffer+b->endbyte; | ||||
| } | } | ||||
| @@ -192,11 +192,11 @@ int ogg_stream_init(ogg_stream_state *os,int serialno){ | |||||
| if(os){ | if(os){ | ||||
| memset(os,0,sizeof(*os)); | memset(os,0,sizeof(*os)); | ||||
| os->body_storage=16*1024; | os->body_storage=16*1024; | ||||
| os->body_data=_ogg_malloc(os->body_storage*sizeof(*os->body_data)); | |||||
| os->body_data=(unsigned char*) _ogg_malloc(os->body_storage*sizeof(*os->body_data)); | |||||
| os->lacing_storage=1024; | os->lacing_storage=1024; | ||||
| os->lacing_vals=_ogg_malloc(os->lacing_storage*sizeof(*os->lacing_vals)); | |||||
| os->granule_vals=_ogg_malloc(os->lacing_storage*sizeof(*os->granule_vals)); | |||||
| os->lacing_vals=(int*) _ogg_malloc(os->lacing_storage*sizeof(*os->lacing_vals)); | |||||
| os->granule_vals=(ogg_int64_t*) _ogg_malloc(os->lacing_storage*sizeof(*os->granule_vals)); | |||||
| os->serialno=serialno; | os->serialno=serialno; | ||||
| @@ -231,15 +231,15 @@ int ogg_stream_destroy(ogg_stream_state *os){ | |||||
| static void _os_body_expand(ogg_stream_state *os,int needed){ | static void _os_body_expand(ogg_stream_state *os,int needed){ | ||||
| if(os->body_storage<=os->body_fill+needed){ | if(os->body_storage<=os->body_fill+needed){ | ||||
| os->body_storage+=(needed+1024); | os->body_storage+=(needed+1024); | ||||
| os->body_data=_ogg_realloc(os->body_data,os->body_storage*sizeof(*os->body_data)); | |||||
| os->body_data=(unsigned char*) _ogg_realloc(os->body_data,os->body_storage*sizeof(*os->body_data)); | |||||
| } | } | ||||
| } | } | ||||
| static void _os_lacing_expand(ogg_stream_state *os,int needed){ | static void _os_lacing_expand(ogg_stream_state *os,int needed){ | ||||
| if(os->lacing_storage<=os->lacing_fill+needed){ | if(os->lacing_storage<=os->lacing_fill+needed){ | ||||
| os->lacing_storage+=(needed+32); | os->lacing_storage+=(needed+32); | ||||
| os->lacing_vals=_ogg_realloc(os->lacing_vals,os->lacing_storage*sizeof(*os->lacing_vals)); | |||||
| os->granule_vals=_ogg_realloc(os->granule_vals,os->lacing_storage*sizeof(*os->granule_vals)); | |||||
| os->lacing_vals=(int*)_ogg_realloc(os->lacing_vals,os->lacing_storage*sizeof(*os->lacing_vals)); | |||||
| os->granule_vals=(ogg_int64_t*)_ogg_realloc(os->granule_vals,os->lacing_storage*sizeof(*os->granule_vals)); | |||||
| } | } | ||||
| } | } | ||||
| @@ -520,9 +520,9 @@ char *ogg_sync_buffer(ogg_sync_state *oy, long size){ | |||||
| long newsize=size+oy->fill+4096; /* an extra page to be nice */ | long newsize=size+oy->fill+4096; /* an extra page to be nice */ | ||||
| if(oy->data) | if(oy->data) | ||||
| oy->data=_ogg_realloc(oy->data,newsize); | |||||
| oy->data=(unsigned char*) _ogg_realloc(oy->data,newsize); | |||||
| else | else | ||||
| oy->data=_ogg_malloc(newsize); | |||||
| oy->data=(unsigned char*) _ogg_malloc(newsize); | |||||
| oy->storage=newsize; | oy->storage=newsize; | ||||
| } | } | ||||
| @@ -623,7 +623,7 @@ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){ | |||||
| oy->bodybytes=0; | oy->bodybytes=0; | ||||
| /* search for possible capture */ | /* search for possible capture */ | ||||
| next=memchr(page+1,'O',bytes-1); | |||||
| next=(unsigned char*)memchr(page+1,'O',bytes-1); | |||||
| if(!next) | if(!next) | ||||
| next=oy->data+oy->fill; | next=oy->data+oy->fill; | ||||
| @@ -34,7 +34,7 @@ int analysis_noisy=1; | |||||
| /* decides between modes, dispatches to the appropriate mapping. */ | /* decides between modes, dispatches to the appropriate mapping. */ | ||||
| int vorbis_analysis(vorbis_block *vb, ogg_packet *op){ | int vorbis_analysis(vorbis_block *vb, ogg_packet *op){ | ||||
| int ret,i; | int ret,i; | ||||
| vorbis_block_internal *vbi=vb->internal; | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal; | |||||
| vb->glue_bits=0; | vb->glue_bits=0; | ||||
| vb->time_bits=0; | vb->time_bits=0; | ||||
| @@ -92,7 +92,7 @@ typedef struct{ | |||||
| vorbis_info_residue *); | vorbis_info_residue *); | ||||
| void (*free_info) (vorbis_info_residue *); | void (*free_info) (vorbis_info_residue *); | ||||
| void (*free_look) (vorbis_look_residue *); | void (*free_look) (vorbis_look_residue *); | ||||
| long **(*class) (struct vorbis_block *,vorbis_look_residue *, | |||||
| long **(*classx) (struct vorbis_block *,vorbis_look_residue *, | |||||
| float **,int *,int); | float **,int *,int); | ||||
| int (*forward) (oggpack_buffer *,struct vorbis_block *, | int (*forward) (oggpack_buffer *,struct vorbis_block *, | ||||
| vorbis_look_residue *, | vorbis_look_residue *, | ||||
| @@ -31,7 +31,7 @@ | |||||
| /* compute bitrate tracking setup */ | /* compute bitrate tracking setup */ | ||||
| void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bm){ | void vorbis_bitrate_init(vorbis_info *vi,bitrate_manager_state *bm){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; | |||||
| bitrate_manager_info *bi=&ci->bi; | bitrate_manager_info *bi=&ci->bi; | ||||
| memset(bm,0,sizeof(*bm)); | memset(bm,0,sizeof(*bm)); | ||||
| @@ -67,7 +67,7 @@ void vorbis_bitrate_clear(bitrate_manager_state *bm){ | |||||
| int vorbis_bitrate_managed(vorbis_block *vb){ | int vorbis_bitrate_managed(vorbis_block *vb){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| private_state *b=vd->backend_state; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| bitrate_manager_state *bm=&b->bms; | bitrate_manager_state *bm=&b->bms; | ||||
| if(bm && bm->managed)return(1); | if(bm && bm->managed)return(1); | ||||
| @@ -76,12 +76,12 @@ int vorbis_bitrate_managed(vorbis_block *vb){ | |||||
| /* finish taking in the block we just processed */ | /* finish taking in the block we just processed */ | ||||
| int vorbis_bitrate_addblock(vorbis_block *vb){ | int vorbis_bitrate_addblock(vorbis_block *vb){ | ||||
| vorbis_block_internal *vbi=vb->internal; | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal*)vb->internal; | |||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| private_state *b=vd->backend_state; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| bitrate_manager_state *bm=&b->bms; | bitrate_manager_state *bm=&b->bms; | ||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| bitrate_manager_info *bi=&ci->bi; | bitrate_manager_info *bi=&ci->bi; | ||||
| int choice=rint(bm->avgfloat); | int choice=rint(bm->avgfloat); | ||||
| @@ -232,14 +232,14 @@ int vorbis_bitrate_addblock(vorbis_block *vb){ | |||||
| } | } | ||||
| int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,ogg_packet *op){ | int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,ogg_packet *op){ | ||||
| private_state *b=vd->backend_state; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| bitrate_manager_state *bm=&b->bms; | bitrate_manager_state *bm=&b->bms; | ||||
| vorbis_block *vb=bm->vb; | vorbis_block *vb=bm->vb; | ||||
| int choice=PACKETBLOBS/2; | int choice=PACKETBLOBS/2; | ||||
| if(!vb)return 0; | if(!vb)return 0; | ||||
| if(op){ | if(op){ | ||||
| vorbis_block_internal *vbi=vb->internal; | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal*)vb->internal; | |||||
| if(vorbis_bitrate_managed(vb)) | if(vorbis_bitrate_managed(vb)) | ||||
| choice=bm->choice; | choice=bm->choice; | ||||
| @@ -34,16 +34,6 @@ | |||||
| #include "registry.h" | #include "registry.h" | ||||
| #include "misc.h" | #include "misc.h" | ||||
| static int ilog2(unsigned int v){ | |||||
| int ret=0; | |||||
| if(v)--v; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| /* pcm accumulator examples (not exhaustive): | /* pcm accumulator examples (not exhaustive): | ||||
| <-------------- lW ----------------> | <-------------- lW ----------------> | ||||
| @@ -95,8 +85,8 @@ int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb){ | |||||
| vb->localalloc=0; | vb->localalloc=0; | ||||
| vb->localstore=NULL; | vb->localstore=NULL; | ||||
| if(v->analysisp){ | if(v->analysisp){ | ||||
| vorbis_block_internal *vbi= | |||||
| vb->internal=_ogg_calloc(1,sizeof(vorbis_block_internal)); | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal*) | |||||
| (vb->internal=(vorbis_block_internal*)_ogg_calloc(1,sizeof(vorbis_block_internal))); | |||||
| vbi->ampmax=-9999; | vbi->ampmax=-9999; | ||||
| for(i=0;i<PACKETBLOBS;i++){ | for(i=0;i<PACKETBLOBS;i++){ | ||||
| @@ -104,7 +94,7 @@ int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb){ | |||||
| vbi->packetblob[i]=&vb->opb; | vbi->packetblob[i]=&vb->opb; | ||||
| }else{ | }else{ | ||||
| vbi->packetblob[i]= | vbi->packetblob[i]= | ||||
| _ogg_calloc(1,sizeof(oggpack_buffer)); | |||||
| (oggpack_buffer*) _ogg_calloc(1,sizeof(oggpack_buffer)); | |||||
| } | } | ||||
| oggpack_writeinit(vbi->packetblob[i]); | oggpack_writeinit(vbi->packetblob[i]); | ||||
| } | } | ||||
| @@ -118,7 +108,7 @@ void *_vorbis_block_alloc(vorbis_block *vb,long bytes){ | |||||
| if(bytes+vb->localtop>vb->localalloc){ | if(bytes+vb->localtop>vb->localalloc){ | ||||
| /* can't just _ogg_realloc... there are outstanding pointers */ | /* can't just _ogg_realloc... there are outstanding pointers */ | ||||
| if(vb->localstore){ | if(vb->localstore){ | ||||
| struct alloc_chain *link=_ogg_malloc(sizeof(*link)); | |||||
| struct alloc_chain *link=(struct alloc_chain*)_ogg_malloc(sizeof(*link)); | |||||
| vb->totaluse+=vb->localtop; | vb->totaluse+=vb->localtop; | ||||
| link->next=vb->reap; | link->next=vb->reap; | ||||
| link->ptr=vb->localstore; | link->ptr=vb->localstore; | ||||
| @@ -161,7 +151,7 @@ void _vorbis_block_ripcord(vorbis_block *vb){ | |||||
| int vorbis_block_clear(vorbis_block *vb){ | int vorbis_block_clear(vorbis_block *vb){ | ||||
| int i; | int i; | ||||
| vorbis_block_internal *vbi=vb->internal; | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal*)vb->internal; | |||||
| _vorbis_block_ripcord(vb); | _vorbis_block_ripcord(vb); | ||||
| if(vb->localstore)_ogg_free(vb->localstore); | if(vb->localstore)_ogg_free(vb->localstore); | ||||
| @@ -183,7 +173,7 @@ int vorbis_block_clear(vorbis_block *vb){ | |||||
| static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | ||||
| int i; | int i; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| private_state *b=NULL; | private_state *b=NULL; | ||||
| int hs; | int hs; | ||||
| @@ -191,20 +181,20 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | |||||
| hs=ci->halfrate_flag; | hs=ci->halfrate_flag; | ||||
| memset(v,0,sizeof(*v)); | memset(v,0,sizeof(*v)); | ||||
| b=v->backend_state=_ogg_calloc(1,sizeof(*b)); | |||||
| b=(private_state*) (v->backend_state=(private_state*)_ogg_calloc(1,sizeof(*b))); | |||||
| v->vi=vi; | v->vi=vi; | ||||
| b->modebits=ilog2(ci->modes); | b->modebits=ilog2(ci->modes); | ||||
| b->transform[0]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[0])); | |||||
| b->transform[1]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[1])); | |||||
| b->transform[0]=(vorbis_look_transform**)_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[0])); | |||||
| b->transform[1]=(vorbis_look_transform**)_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[1])); | |||||
| /* MDCT is tranform 0 */ | /* MDCT is tranform 0 */ | ||||
| b->transform[0][0]=_ogg_calloc(1,sizeof(mdct_lookup)); | b->transform[0][0]=_ogg_calloc(1,sizeof(mdct_lookup)); | ||||
| b->transform[1][0]=_ogg_calloc(1,sizeof(mdct_lookup)); | b->transform[1][0]=_ogg_calloc(1,sizeof(mdct_lookup)); | ||||
| mdct_init(b->transform[0][0],ci->blocksizes[0]>>hs); | |||||
| mdct_init(b->transform[1][0],ci->blocksizes[1]>>hs); | |||||
| mdct_init((mdct_lookup*)b->transform[0][0],ci->blocksizes[0]>>hs); | |||||
| mdct_init((mdct_lookup*)b->transform[1][0],ci->blocksizes[1]>>hs); | |||||
| /* Vorbis I uses only window type 0 */ | /* Vorbis I uses only window type 0 */ | ||||
| b->window[0]=ilog2(ci->blocksizes[0])-6; | b->window[0]=ilog2(ci->blocksizes[0])-6; | ||||
| @@ -218,12 +208,12 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | |||||
| /* finish the codebooks */ | /* finish the codebooks */ | ||||
| if(!ci->fullbooks){ | if(!ci->fullbooks){ | ||||
| ci->fullbooks=_ogg_calloc(ci->books,sizeof(*ci->fullbooks)); | |||||
| ci->fullbooks=(codebook*) _ogg_calloc(ci->books,sizeof(*ci->fullbooks)); | |||||
| for(i=0;i<ci->books;i++) | for(i=0;i<ci->books;i++) | ||||
| vorbis_book_init_encode(ci->fullbooks+i,ci->book_param[i]); | vorbis_book_init_encode(ci->fullbooks+i,ci->book_param[i]); | ||||
| } | } | ||||
| b->psy=_ogg_calloc(ci->psys,sizeof(*b->psy)); | |||||
| b->psy=(vorbis_look_psy*)_ogg_calloc(ci->psys,sizeof(*b->psy)); | |||||
| for(i=0;i<ci->psys;i++){ | for(i=0;i<ci->psys;i++){ | ||||
| _vp_psy_init(b->psy+i, | _vp_psy_init(b->psy+i, | ||||
| ci->psy_param[i], | ci->psy_param[i], | ||||
| @@ -236,7 +226,7 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | |||||
| }else{ | }else{ | ||||
| /* finish the codebooks */ | /* finish the codebooks */ | ||||
| if(!ci->fullbooks){ | if(!ci->fullbooks){ | ||||
| ci->fullbooks=_ogg_calloc(ci->books,sizeof(*ci->fullbooks)); | |||||
| ci->fullbooks=(codebook*) _ogg_calloc(ci->books,sizeof(*ci->fullbooks)); | |||||
| for(i=0;i<ci->books;i++){ | for(i=0;i<ci->books;i++){ | ||||
| vorbis_book_init_decode(ci->fullbooks+i,ci->book_param[i]); | vorbis_book_init_decode(ci->fullbooks+i,ci->book_param[i]); | ||||
| /* decode codebooks are now standalone after init */ | /* decode codebooks are now standalone after init */ | ||||
| @@ -249,12 +239,12 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | |||||
| /* initialize the storage vectors. blocksize[1] is small for encode, | /* initialize the storage vectors. blocksize[1] is small for encode, | ||||
| but the correct size for decode */ | but the correct size for decode */ | ||||
| v->pcm_storage=ci->blocksizes[1]; | v->pcm_storage=ci->blocksizes[1]; | ||||
| v->pcm=_ogg_malloc(vi->channels*sizeof(*v->pcm)); | |||||
| v->pcmret=_ogg_malloc(vi->channels*sizeof(*v->pcmret)); | |||||
| v->pcm=(float**)_ogg_malloc(vi->channels*sizeof(*v->pcm)); | |||||
| v->pcmret=(float**)_ogg_malloc(vi->channels*sizeof(*v->pcmret)); | |||||
| { | { | ||||
| int i; | int i; | ||||
| for(i=0;i<vi->channels;i++) | for(i=0;i<vi->channels;i++) | ||||
| v->pcm[i]=_ogg_calloc(v->pcm_storage,sizeof(*v->pcm[i])); | |||||
| v->pcm[i]=(float*)_ogg_calloc(v->pcm_storage,sizeof(*v->pcm[i])); | |||||
| } | } | ||||
| /* all 1 (large block) or 0 (small block) */ | /* all 1 (large block) or 0 (small block) */ | ||||
| @@ -268,8 +258,8 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ | |||||
| v->pcm_current=v->centerW; | v->pcm_current=v->centerW; | ||||
| /* initialize all the backend lookups */ | /* initialize all the backend lookups */ | ||||
| b->flr=_ogg_calloc(ci->floors,sizeof(*b->flr)); | |||||
| b->residue=_ogg_calloc(ci->residues,sizeof(*b->residue)); | |||||
| b->flr=(vorbis_look_floor**)_ogg_calloc(ci->floors,sizeof(*b->flr)); | |||||
| b->residue=(vorbis_look_residue**)_ogg_calloc(ci->residues,sizeof(*b->residue)); | |||||
| for(i=0;i<ci->floors;i++) | for(i=0;i<ci->floors;i++) | ||||
| b->flr[i]=_floor_P[ci->floor_type[i]]-> | b->flr[i]=_floor_P[ci->floor_type[i]]-> | ||||
| @@ -287,11 +277,11 @@ int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi){ | |||||
| private_state *b=NULL; | private_state *b=NULL; | ||||
| if(_vds_shared_init(v,vi,1))return 1; | if(_vds_shared_init(v,vi,1))return 1; | ||||
| b=v->backend_state; | |||||
| b=(private_state*)v->backend_state; | |||||
| b->psy_g_look=_vp_global_look(vi); | b->psy_g_look=_vp_global_look(vi); | ||||
| /* Initialize the envelope state storage */ | /* Initialize the envelope state storage */ | ||||
| b->ve=_ogg_calloc(1,sizeof(*b->ve)); | |||||
| b->ve=(envelope_lookup*)_ogg_calloc(1,sizeof(*b->ve)); | |||||
| _ve_envelope_init(b->ve,vi); | _ve_envelope_init(b->ve,vi); | ||||
| vorbis_bitrate_init(vi,&b->bms); | vorbis_bitrate_init(vi,&b->bms); | ||||
| @@ -307,8 +297,8 @@ void vorbis_dsp_clear(vorbis_dsp_state *v){ | |||||
| int i; | int i; | ||||
| if(v){ | if(v){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=(vi?vi->codec_setup:NULL); | |||||
| private_state *b=v->backend_state; | |||||
| codec_setup_info *ci=(codec_setup_info*)(vi?vi->codec_setup:NULL); | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| if(b){ | if(b){ | ||||
| @@ -318,12 +308,12 @@ void vorbis_dsp_clear(vorbis_dsp_state *v){ | |||||
| } | } | ||||
| if(b->transform[0]){ | if(b->transform[0]){ | ||||
| mdct_clear(b->transform[0][0]); | |||||
| mdct_clear((mdct_lookup*) b->transform[0][0]); | |||||
| _ogg_free(b->transform[0][0]); | _ogg_free(b->transform[0][0]); | ||||
| _ogg_free(b->transform[0]); | _ogg_free(b->transform[0]); | ||||
| } | } | ||||
| if(b->transform[1]){ | if(b->transform[1]){ | ||||
| mdct_clear(b->transform[1][0]); | |||||
| mdct_clear((mdct_lookup*) b->transform[1][0]); | |||||
| _ogg_free(b->transform[1][0]); | _ogg_free(b->transform[1][0]); | ||||
| _ogg_free(b->transform[1]); | _ogg_free(b->transform[1]); | ||||
| } | } | ||||
| @@ -376,7 +366,7 @@ void vorbis_dsp_clear(vorbis_dsp_state *v){ | |||||
| float **vorbis_analysis_buffer(vorbis_dsp_state *v, int vals){ | float **vorbis_analysis_buffer(vorbis_dsp_state *v, int vals){ | ||||
| int i; | int i; | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| private_state *b=v->backend_state; | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| /* free header, header1, header2 */ | /* free header, header1, header2 */ | ||||
| if(b->header)_ogg_free(b->header);b->header=NULL; | if(b->header)_ogg_free(b->header);b->header=NULL; | ||||
| @@ -390,7 +380,7 @@ float **vorbis_analysis_buffer(vorbis_dsp_state *v, int vals){ | |||||
| v->pcm_storage=v->pcm_current+vals*2; | v->pcm_storage=v->pcm_current+vals*2; | ||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| v->pcm[i]=_ogg_realloc(v->pcm[i],v->pcm_storage*sizeof(*v->pcm[i])); | |||||
| v->pcm[i]=(float*)_ogg_realloc(v->pcm[i],v->pcm_storage*sizeof(*v->pcm[i])); | |||||
| } | } | ||||
| } | } | ||||
| @@ -403,8 +393,8 @@ float **vorbis_analysis_buffer(vorbis_dsp_state *v, int vals){ | |||||
| static void _preextrapolate_helper(vorbis_dsp_state *v){ | static void _preextrapolate_helper(vorbis_dsp_state *v){ | ||||
| int i; | int i; | ||||
| int order=32; | int order=32; | ||||
| float *lpc=alloca(order*sizeof(*lpc)); | |||||
| float *work=alloca(v->pcm_current*sizeof(*work)); | |||||
| float *lpc=(float*)alloca(order*sizeof(*lpc)); | |||||
| float *work=(float*)alloca(v->pcm_current*sizeof(*work)); | |||||
| long j; | long j; | ||||
| v->preextrapolate=1; | v->preextrapolate=1; | ||||
| @@ -435,12 +425,12 @@ static void _preextrapolate_helper(vorbis_dsp_state *v){ | |||||
| int vorbis_analysis_wrote(vorbis_dsp_state *v, int vals){ | int vorbis_analysis_wrote(vorbis_dsp_state *v, int vals){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| if(vals<=0){ | if(vals<=0){ | ||||
| int order=32; | int order=32; | ||||
| int i; | int i; | ||||
| float *lpc=alloca(order*sizeof(*lpc)); | |||||
| float *lpc=(float*) alloca(order*sizeof(*lpc)); | |||||
| /* if it wasn't done earlier (very short sample) */ | /* if it wasn't done earlier (very short sample) */ | ||||
| if(!v->preextrapolate) | if(!v->preextrapolate) | ||||
| @@ -500,8 +490,8 @@ int vorbis_analysis_wrote(vorbis_dsp_state *v, int vals){ | |||||
| int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb){ | int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb){ | ||||
| int i; | int i; | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| private_state *b=v->backend_state; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| vorbis_look_psy_global *g=b->psy_g_look; | vorbis_look_psy_global *g=b->psy_g_look; | ||||
| long beginW=v->centerW-ci->blocksizes[v->W]/2,centerNext; | long beginW=v->centerW-ci->blocksizes[v->W]/2,centerNext; | ||||
| vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal; | vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal; | ||||
| @@ -593,11 +583,11 @@ int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb){ | |||||
| g->ampmax=_vp_ampmax_decay(g->ampmax,v); | g->ampmax=_vp_ampmax_decay(g->ampmax,v); | ||||
| vbi->ampmax=g->ampmax; | vbi->ampmax=g->ampmax; | ||||
| vb->pcm=_vorbis_block_alloc(vb,sizeof(*vb->pcm)*vi->channels); | |||||
| vbi->pcmdelay=_vorbis_block_alloc(vb,sizeof(*vbi->pcmdelay)*vi->channels); | |||||
| vb->pcm=(float**)_vorbis_block_alloc(vb,sizeof(*vb->pcm)*vi->channels); | |||||
| vbi->pcmdelay=(float**)_vorbis_block_alloc(vb,sizeof(*vbi->pcmdelay)*vi->channels); | |||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| vbi->pcmdelay[i]= | vbi->pcmdelay[i]= | ||||
| _vorbis_block_alloc(vb,(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i])); | |||||
| (float*) _vorbis_block_alloc(vb,(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i])); | |||||
| memcpy(vbi->pcmdelay[i],v->pcm[i],(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i])); | memcpy(vbi->pcmdelay[i],v->pcm[i],(vb->pcmend+beginW)*sizeof(*vbi->pcmdelay[i])); | ||||
| vb->pcm[i]=vbi->pcmdelay[i]+beginW; | vb->pcm[i]=vbi->pcmdelay[i]+beginW; | ||||
| @@ -665,7 +655,7 @@ int vorbis_synthesis_restart(vorbis_dsp_state *v){ | |||||
| if(!v->backend_state)return -1; | if(!v->backend_state)return -1; | ||||
| if(!vi)return -1; | if(!vi)return -1; | ||||
| ci=vi->codec_setup; | |||||
| ci=(codec_setup_info*) vi->codec_setup; | |||||
| if(!ci)return -1; | if(!ci)return -1; | ||||
| hs=ci->halfrate_flag; | hs=ci->halfrate_flag; | ||||
| @@ -694,8 +684,8 @@ int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi){ | |||||
| int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ | int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| private_state *b=v->backend_state; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| int hs=ci->halfrate_flag; | int hs=ci->halfrate_flag; | ||||
| int i,j; | int i,j; | ||||
| @@ -907,7 +897,7 @@ int vorbis_synthesis_read(vorbis_dsp_state *v,int n){ | |||||
| this implicit buffer data not normally decoded. */ | this implicit buffer data not normally decoded. */ | ||||
| int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm){ | int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; | |||||
| int hs=ci->halfrate_flag; | int hs=ci->halfrate_flag; | ||||
| int n=ci->blocksizes[v->W]>>(hs+1); | int n=ci->blocksizes[v->W]>>(hs+1); | ||||
| @@ -982,9 +972,9 @@ int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm){ | |||||
| float *vorbis_window(vorbis_dsp_state *v,int W){ | float *vorbis_window(vorbis_dsp_state *v,int W){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| int hs=ci->halfrate_flag; | int hs=ci->halfrate_flag; | ||||
| private_state *b=v->backend_state; | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| if(b->window[W]-1<0)return NULL; | if(b->window[W]-1<0)return NULL; | ||||
| return _vorbis_window_get(b->window[W]-hs); | return _vorbis_window_get(b->window[W]-hs); | ||||
| @@ -57,10 +57,10 @@ int vorbis_staticbook_pack(const static_codebook *c,oggpack_buffer *opb){ | |||||
| oggpack_write(opb,c->lengthlist[0]-1,5); /* 1 to 32 */ | oggpack_write(opb,c->lengthlist[0]-1,5); /* 1 to 32 */ | ||||
| for(i=1;i<c->entries;i++){ | for(i=1;i<c->entries;i++){ | ||||
| long this=c->lengthlist[i]; | |||||
| long thisx=c->lengthlist[i]; | |||||
| long last=c->lengthlist[i-1]; | long last=c->lengthlist[i-1]; | ||||
| if(this>last){ | |||||
| for(j=last;j<this;j++){ | |||||
| if(thisx>last){ | |||||
| for(j=last;j<thisx;j++){ | |||||
| oggpack_write(opb,i-count,_ilog(c->entries-count)); | oggpack_write(opb,i-count,_ilog(c->entries-count)); | ||||
| count=i; | count=i; | ||||
| } | } | ||||
| @@ -167,7 +167,7 @@ int vorbis_staticbook_unpack(oggpack_buffer *opb,static_codebook *s){ | |||||
| switch((int)oggpack_read(opb,1)){ | switch((int)oggpack_read(opb,1)){ | ||||
| case 0: | case 0: | ||||
| /* unordered */ | /* unordered */ | ||||
| s->lengthlist=_ogg_malloc(sizeof(*s->lengthlist)*s->entries); | |||||
| s->lengthlist=(long*)_ogg_malloc(sizeof(*s->lengthlist)*s->entries); | |||||
| /* allocated but unused entries? */ | /* allocated but unused entries? */ | ||||
| if(oggpack_read(opb,1)){ | if(oggpack_read(opb,1)){ | ||||
| @@ -195,7 +195,7 @@ int vorbis_staticbook_unpack(oggpack_buffer *opb,static_codebook *s){ | |||||
| /* ordered */ | /* ordered */ | ||||
| { | { | ||||
| long length=oggpack_read(opb,5)+1; | long length=oggpack_read(opb,5)+1; | ||||
| s->lengthlist=_ogg_malloc(sizeof(*s->lengthlist)*s->entries); | |||||
| s->lengthlist=(long*)_ogg_malloc(sizeof(*s->lengthlist)*s->entries); | |||||
| for(i=0;i<s->entries;){ | for(i=0;i<s->entries;){ | ||||
| long num=oggpack_read(opb,_ilog(s->entries-i)); | long num=oggpack_read(opb,_ilog(s->entries-i)); | ||||
| @@ -237,7 +237,7 @@ int vorbis_staticbook_unpack(oggpack_buffer *opb,static_codebook *s){ | |||||
| } | } | ||||
| /* quantized values */ | /* quantized values */ | ||||
| s->quantlist=_ogg_malloc(sizeof(*s->quantlist)*quantvals); | |||||
| s->quantlist=(long*)_ogg_malloc(sizeof(*s->quantlist)*quantvals); | |||||
| for(i=0;i<quantvals;i++) | for(i=0;i<quantvals;i++) | ||||
| s->quantlist[i]=oggpack_read(opb,s->q_quant); | s->quantlist[i]=oggpack_read(opb,s->q_quant); | ||||
| @@ -302,13 +302,6 @@ int vorbis_book_encodev(codebook *book,int best,float *a,oggpack_buffer *b){ | |||||
| be. The first-stage decode table catches most words so that | be. The first-stage decode table catches most words so that | ||||
| bitreverse is not in the main execution path. */ | bitreverse is not in the main execution path. */ | ||||
| static ogg_uint32_t bitreverse(ogg_uint32_t x){ | |||||
| x= ((x>>16)&0x0000ffff) | ((x<<16)&0xffff0000); | |||||
| x= ((x>> 8)&0x00ff00ff) | ((x<< 8)&0xff00ff00); | |||||
| x= ((x>> 4)&0x0f0f0f0f) | ((x<< 4)&0xf0f0f0f0); | |||||
| x= ((x>> 2)&0x33333333) | ((x<< 2)&0xcccccccc); | |||||
| return((x>> 1)&0x55555555) | ((x<< 1)&0xaaaaaaaa); | |||||
| } | |||||
| STIN long decode_packed_entry_number(codebook *book, oggpack_buffer *b){ | STIN long decode_packed_entry_number(codebook *book, oggpack_buffer *b){ | ||||
| int read=book->dec_maxlength; | int read=book->dec_maxlength; | ||||
| @@ -383,8 +376,8 @@ long vorbis_book_decode(codebook *book, oggpack_buffer *b){ | |||||
| /* returns 0 on OK or -1 on eof *************************************/ | /* returns 0 on OK or -1 on eof *************************************/ | ||||
| long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){ | long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){ | ||||
| int step=n/book->dim; | int step=n/book->dim; | ||||
| long *entry = alloca(sizeof(*entry)*step); | |||||
| float **t = alloca(sizeof(*t)*step); | |||||
| long *entry = (long*)alloca(sizeof(*entry)*step); | |||||
| float **t = (float**)alloca(sizeof(*t)*step); | |||||
| int i,j,o; | int i,j,o; | ||||
| for (i = 0; i < step; i++) { | for (i = 0; i < step; i++) { | ||||
| @@ -58,6 +58,26 @@ typedef void vorbis_info_mapping; | |||||
| #include "psy.h" | #include "psy.h" | ||||
| #include "bitrate.h" | #include "bitrate.h" | ||||
| static int ilog(unsigned int v){ | |||||
| int ret=0; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static int ilog2(unsigned int v){ | |||||
| int ret=0; | |||||
| if(v)--v; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| typedef struct private_state { | typedef struct private_state { | ||||
| /* local lookup storage */ | /* local lookup storage */ | ||||
| envelope_lookup *ve; /* envelope lookup */ | envelope_lookup *ve; /* envelope lookup */ | ||||
| @@ -34,7 +34,7 @@ | |||||
| #include "misc.h" | #include "misc.h" | ||||
| void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi){ | void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy_global *gi=&ci->psy_g_param; | vorbis_info_psy_global *gi=&ci->psy_g_param; | ||||
| int ch=vi->channels; | int ch=vi->channels; | ||||
| int i,j; | int i,j; | ||||
| @@ -45,7 +45,7 @@ void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi){ | |||||
| e->ch=ch; | e->ch=ch; | ||||
| e->storage=128; | e->storage=128; | ||||
| e->cursor=ci->blocksizes[1]/2; | e->cursor=ci->blocksizes[1]/2; | ||||
| e->mdct_win=_ogg_calloc(n,sizeof(*e->mdct_win)); | |||||
| e->mdct_win=(float*)_ogg_calloc(n,sizeof(*e->mdct_win)); | |||||
| mdct_init(&e->mdct,n); | mdct_init(&e->mdct,n); | ||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| @@ -64,7 +64,7 @@ void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi){ | |||||
| for(j=0;j<VE_BANDS;j++){ | for(j=0;j<VE_BANDS;j++){ | ||||
| n=e->band[j].end; | n=e->band[j].end; | ||||
| e->band[j].window=_ogg_malloc(n*sizeof(*e->band[0].window)); | |||||
| e->band[j].window=(float*)_ogg_malloc(n*sizeof(*e->band[0].window)); | |||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| e->band[j].window[i]=sin((i+.5)/n*M_PI); | e->band[j].window[i]=sin((i+.5)/n*M_PI); | ||||
| e->band[j].total+=e->band[j].window[i]; | e->band[j].total+=e->band[j].window[i]; | ||||
| @@ -72,8 +72,8 @@ void _ve_envelope_init(envelope_lookup *e,vorbis_info *vi){ | |||||
| e->band[j].total=1./e->band[j].total; | e->band[j].total=1./e->band[j].total; | ||||
| } | } | ||||
| e->filter=_ogg_calloc(VE_BANDS*ch,sizeof(*e->filter)); | |||||
| e->mark=_ogg_calloc(e->storage,sizeof(*e->mark)); | |||||
| e->filter=(envelope_filter_state*)_ogg_calloc(VE_BANDS*ch,sizeof(*e->filter)); | |||||
| e->mark=(int*)_ogg_calloc(e->storage,sizeof(*e->mark)); | |||||
| } | } | ||||
| @@ -107,7 +107,7 @@ static int _ve_amp(envelope_lookup *ve, | |||||
| itself (for low power signals) */ | itself (for low power signals) */ | ||||
| float minV=ve->minenergy; | float minV=ve->minenergy; | ||||
| float *vec=alloca(n*sizeof(*vec)); | |||||
| float *vec=(float*) alloca(n*sizeof(*vec)); | |||||
| /* stretch is used to gradually lengthen the number of windows | /* stretch is used to gradually lengthen the number of windows | ||||
| considered prevoius-to-potential-trigger */ | considered prevoius-to-potential-trigger */ | ||||
| @@ -177,10 +177,10 @@ static int _ve_amp(envelope_lookup *ve, | |||||
| /* convert amplitude to delta */ | /* convert amplitude to delta */ | ||||
| { | { | ||||
| int p,this=filters[j].ampptr; | |||||
| int p,thisx=filters[j].ampptr; | |||||
| float postmax,postmin,premax=-99999.f,premin=99999.f; | float postmax,postmin,premax=-99999.f,premin=99999.f; | ||||
| p=this; | |||||
| p=thisx; | |||||
| p--; | p--; | ||||
| if(p<0)p+=VE_AMP; | if(p<0)p+=VE_AMP; | ||||
| postmax=max(acc,filters[j].ampbuf[p]); | postmax=max(acc,filters[j].ampbuf[p]); | ||||
| @@ -197,7 +197,7 @@ static int _ve_amp(envelope_lookup *ve, | |||||
| valmax=postmax-premax; | valmax=postmax-premax; | ||||
| /*filters[j].markers[pos]=valmax;*/ | /*filters[j].markers[pos]=valmax;*/ | ||||
| filters[j].ampbuf[this]=acc; | |||||
| filters[j].ampbuf[thisx]=acc; | |||||
| filters[j].ampptr++; | filters[j].ampptr++; | ||||
| if(filters[j].ampptr>=VE_AMP)filters[j].ampptr=0; | if(filters[j].ampptr>=VE_AMP)filters[j].ampptr=0; | ||||
| } | } | ||||
| @@ -220,7 +220,7 @@ static ogg_int64_t totalshift=-1024; | |||||
| long _ve_envelope_search(vorbis_dsp_state *v){ | long _ve_envelope_search(vorbis_dsp_state *v){ | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; | |||||
| vorbis_info_psy_global *gi=&ci->psy_g_param; | vorbis_info_psy_global *gi=&ci->psy_g_param; | ||||
| envelope_lookup *ve=((private_state *)(v->backend_state))->ve; | envelope_lookup *ve=((private_state *)(v->backend_state))->ve; | ||||
| long i,j; | long i,j; | ||||
| @@ -232,7 +232,7 @@ long _ve_envelope_search(vorbis_dsp_state *v){ | |||||
| /* make sure we have enough storage to match the PCM */ | /* make sure we have enough storage to match the PCM */ | ||||
| if(last+VE_WIN+VE_POST>ve->storage){ | if(last+VE_WIN+VE_POST>ve->storage){ | ||||
| ve->storage=last+VE_WIN+VE_POST; /* be sure */ | ve->storage=last+VE_WIN+VE_POST; /* be sure */ | ||||
| ve->mark=_ogg_realloc(ve->mark,ve->storage*sizeof(*ve->mark)); | |||||
| ve->mark=(int*)_ogg_realloc(ve->mark,ve->storage*sizeof(*ve->mark)); | |||||
| } | } | ||||
| for(j=first;j<last;j++){ | for(j=first;j<last;j++){ | ||||
| @@ -335,7 +335,7 @@ long _ve_envelope_search(vorbis_dsp_state *v){ | |||||
| int _ve_envelope_mark(vorbis_dsp_state *v){ | int _ve_envelope_mark(vorbis_dsp_state *v){ | ||||
| envelope_lookup *ve=((private_state *)(v->backend_state))->ve; | envelope_lookup *ve=((private_state *)(v->backend_state))->ve; | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| long centerW=v->centerW; | long centerW=v->centerW; | ||||
| long beginW=centerW-ci->blocksizes[v->W]/4; | long beginW=centerW-ci->blocksizes[v->W]/4; | ||||
| long endW=centerW+ci->blocksizes[v->W]/4; | long endW=centerW+ci->blocksizes[v->W]/4; | ||||
| @@ -76,10 +76,10 @@ static void floor0_free_look(vorbis_look_floor *i){ | |||||
| } | } | ||||
| static vorbis_info_floor *floor0_unpack (vorbis_info *vi,oggpack_buffer *opb){ | static vorbis_info_floor *floor0_unpack (vorbis_info *vi,oggpack_buffer *opb){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int j; | int j; | ||||
| vorbis_info_floor0 *info=_ogg_malloc(sizeof(*info)); | |||||
| vorbis_info_floor0 *info=(vorbis_info_floor0*)_ogg_malloc(sizeof(*info)); | |||||
| info->order=oggpack_read(opb,8); | info->order=oggpack_read(opb,8); | ||||
| info->rate=oggpack_read(opb,16); | info->rate=oggpack_read(opb,16); | ||||
| info->barkmap=oggpack_read(opb,16); | info->barkmap=oggpack_read(opb,16); | ||||
| @@ -117,7 +117,7 @@ static void floor0_map_lazy_init(vorbis_block *vb, | |||||
| if(!look->linearmap[vb->W]){ | if(!look->linearmap[vb->W]){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_floor0 *info=(vorbis_info_floor0 *)infoX; | vorbis_info_floor0 *info=(vorbis_info_floor0 *)infoX; | ||||
| int W=vb->W; | int W=vb->W; | ||||
| int n=ci->blocksizes[W]/2,j; | int n=ci->blocksizes[W]/2,j; | ||||
| @@ -133,7 +133,7 @@ static void floor0_map_lazy_init(vorbis_block *vb, | |||||
| the encoder may do what it wishes in filling them. They're | the encoder may do what it wishes in filling them. They're | ||||
| necessary in some mapping combinations to keep the scale spacing | necessary in some mapping combinations to keep the scale spacing | ||||
| accurate */ | accurate */ | ||||
| look->linearmap[W]=_ogg_malloc((n+1)*sizeof(**look->linearmap)); | |||||
| look->linearmap[W]=(int*)_ogg_malloc((n+1)*sizeof(**look->linearmap)); | |||||
| for(j=0;j<n;j++){ | for(j=0;j<n;j++){ | ||||
| int val=floor( toBARK((info->rate/2.f)/n*j) | int val=floor( toBARK((info->rate/2.f)/n*j) | ||||
| *scale); /* bark numbers represent band edges */ | *scale); /* bark numbers represent band edges */ | ||||
| @@ -147,13 +147,13 @@ static void floor0_map_lazy_init(vorbis_block *vb, | |||||
| static vorbis_look_floor *floor0_look(vorbis_dsp_state *vd, | static vorbis_look_floor *floor0_look(vorbis_dsp_state *vd, | ||||
| vorbis_info_floor *i){ | vorbis_info_floor *i){ | ||||
| vorbis_info_floor0 *info=(vorbis_info_floor0 *)i; | |||||
| vorbis_look_floor0 *look=_ogg_calloc(1,sizeof(*look)); | |||||
| vorbis_info_floor0 *info=(vorbis_info_floor0*)i; | |||||
| vorbis_look_floor0 *look=(vorbis_look_floor0*)_ogg_calloc(1,sizeof(*look)); | |||||
| look->m=info->order; | look->m=info->order; | ||||
| look->ln=info->barkmap; | look->ln=info->barkmap; | ||||
| look->vi=info; | look->vi=info; | ||||
| look->linearmap=_ogg_calloc(2,sizeof(*look->linearmap)); | |||||
| look->linearmap=(int**)_ogg_calloc(2,sizeof(*look->linearmap)); | |||||
| return look; | return look; | ||||
| } | } | ||||
| @@ -170,14 +170,14 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){ | |||||
| int booknum=oggpack_read(&vb->opb,_ilog(info->numbooks)); | int booknum=oggpack_read(&vb->opb,_ilog(info->numbooks)); | ||||
| if(booknum!=-1 && booknum<info->numbooks){ /* be paranoid */ | if(booknum!=-1 && booknum<info->numbooks){ /* be paranoid */ | ||||
| codec_setup_info *ci=vb->vd->vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info *)vb->vd->vi->codec_setup; | |||||
| codebook *b=ci->fullbooks+info->books[booknum]; | codebook *b=ci->fullbooks+info->books[booknum]; | ||||
| float last=0.f; | float last=0.f; | ||||
| /* the additional b->dim is a guard against any possible stack | /* the additional b->dim is a guard against any possible stack | ||||
| smash; b->dim is provably more than we can overflow the | smash; b->dim is provably more than we can overflow the | ||||
| vector */ | vector */ | ||||
| float *lsp=_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+b->dim+1)); | |||||
| float *lsp=(float*)_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+b->dim+1)); | |||||
| for(j=0;j<look->m;j+=b->dim) | for(j=0;j<look->m;j+=b->dim) | ||||
| if(vorbis_book_decodev_set(b,lsp+j,&vb->opb,b->dim)==-1)goto eop; | if(vorbis_book_decodev_set(b,lsp+j,&vb->opb,b->dim)==-1)goto eop; | ||||
| @@ -87,25 +87,6 @@ static void floor1_free_look(vorbis_look_floor *i){ | |||||
| } | } | ||||
| } | } | ||||
| static int ilog(unsigned int v){ | |||||
| int ret=0; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static int ilog2(unsigned int v){ | |||||
| int ret=0; | |||||
| if(v)--v; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ | static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ | ||||
| vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; | vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; | ||||
| int j,k; | int j,k; | ||||
| @@ -144,10 +125,10 @@ static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ | |||||
| static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){ | static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int j,k,count=0,maxclass=-1,rangebits; | int j,k,count=0,maxclass=-1,rangebits; | ||||
| vorbis_info_floor1 *info=_ogg_calloc(1,sizeof(*info)); | |||||
| vorbis_info_floor1 *info=(vorbis_info_floor1*)_ogg_calloc(1,sizeof(*info)); | |||||
| /* read partitions */ | /* read partitions */ | ||||
| info->partitions=oggpack_read(opb,5); /* only 0 to 31 legal */ | info->partitions=oggpack_read(opb,5); /* only 0 to 31 legal */ | ||||
| for(j=0;j<info->partitions;j++){ | for(j=0;j<info->partitions;j++){ | ||||
| @@ -201,8 +182,8 @@ static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd, | |||||
| vorbis_info_floor *in){ | vorbis_info_floor *in){ | ||||
| int *sortpointer[VIF_POSIT+2]; | int *sortpointer[VIF_POSIT+2]; | ||||
| vorbis_info_floor1 *info=(vorbis_info_floor1 *)in; | |||||
| vorbis_look_floor1 *look=_ogg_calloc(1,sizeof(*look)); | |||||
| vorbis_info_floor1 *info=(vorbis_info_floor1*)in; | |||||
| vorbis_look_floor1 *look=(vorbis_look_floor1*)_ogg_calloc(1,sizeof(*look)); | |||||
| int i,j,n=0; | int i,j,n=0; | ||||
| look->vi=info; | look->vi=info; | ||||
| @@ -593,10 +574,11 @@ static int post_Y(int *A,int *B,int pos){ | |||||
| return (A[pos]+B[pos])>>1; | return (A[pos]+B[pos])>>1; | ||||
| } | } | ||||
| int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look, | |||||
| int *floor1_fit(vorbis_block *vb,void *look_, | |||||
| const float *logmdct, /* in */ | const float *logmdct, /* in */ | ||||
| const float *logmask){ | const float *logmask){ | ||||
| long i,j; | long i,j; | ||||
| vorbis_look_floor1 *look = (vorbis_look_floor1*) look_; | |||||
| vorbis_info_floor1 *info=look->vi; | vorbis_info_floor1 *info=look->vi; | ||||
| long n=look->n; | long n=look->n; | ||||
| long posts=look->posts; | long posts=look->posts; | ||||
| @@ -705,7 +687,7 @@ int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look, | |||||
| } | } | ||||
| } | } | ||||
| output=_vorbis_block_alloc(vb,sizeof(*output)*posts); | |||||
| output=(int*)_vorbis_block_alloc(vb,sizeof(*output)*posts); | |||||
| output[0]=post_Y(fit_valueA,fit_valueB,0); | output[0]=post_Y(fit_valueA,fit_valueB,0); | ||||
| output[1]=post_Y(fit_valueA,fit_valueB,1); | output[1]=post_Y(fit_valueA,fit_valueB,1); | ||||
| @@ -736,16 +718,17 @@ int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look, | |||||
| } | } | ||||
| int *floor1_interpolate_fit(vorbis_block *vb,vorbis_look_floor1 *look, | |||||
| int *floor1_interpolate_fit(vorbis_block *vb,void *look_, | |||||
| int *A,int *B, | int *A,int *B, | ||||
| int del){ | int del){ | ||||
| long i; | long i; | ||||
| vorbis_look_floor1* look = (vorbis_look_floor1*) look_; | |||||
| long posts=look->posts; | long posts=look->posts; | ||||
| int *output=NULL; | int *output=NULL; | ||||
| if(A && B){ | if(A && B){ | ||||
| output=_vorbis_block_alloc(vb,sizeof(*output)*posts); | |||||
| output=(int*)_vorbis_block_alloc(vb,sizeof(*output)*posts); | |||||
| for(i=0;i<posts;i++){ | for(i=0;i<posts;i++){ | ||||
| output[i]=((65536-del)*(A[i]&0x7fff)+del*(B[i]&0x7fff)+32768)>>16; | output[i]=((65536-del)*(A[i]&0x7fff)+del*(B[i]&0x7fff)+32768)>>16; | ||||
| @@ -758,13 +741,14 @@ int *floor1_interpolate_fit(vorbis_block *vb,vorbis_look_floor1 *look, | |||||
| int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | ||||
| vorbis_look_floor1 *look, | |||||
| void*look_, | |||||
| int *post,int *ilogmask){ | int *post,int *ilogmask){ | ||||
| long i,j; | long i,j; | ||||
| vorbis_look_floor1 *look = (vorbis_look_floor1 *) look_; | |||||
| vorbis_info_floor1 *info=look->vi; | vorbis_info_floor1 *info=look->vi; | ||||
| long posts=look->posts; | long posts=look->posts; | ||||
| codec_setup_info *ci=vb->vd->vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vb->vd->vi->codec_setup; | |||||
| int out[VIF_POSIT+2]; | int out[VIF_POSIT+2]; | ||||
| static_codebook **sbooks=ci->book_param; | static_codebook **sbooks=ci->book_param; | ||||
| codebook *books=ci->fullbooks; | codebook *books=ci->fullbooks; | ||||
| @@ -851,9 +835,9 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | |||||
| /* partition by partition */ | /* partition by partition */ | ||||
| for(i=0,j=2;i<info->partitions;i++){ | for(i=0,j=2;i<info->partitions;i++){ | ||||
| int class=info->partitionclass[i]; | |||||
| int cdim=info->class_dim[class]; | |||||
| int csubbits=info->class_subs[class]; | |||||
| int classx=info->partitionclass[i]; | |||||
| int cdim=info->class_dim[classx]; | |||||
| int csubbits=info->class_subs[classx]; | |||||
| int csub=1<<csubbits; | int csub=1<<csubbits; | ||||
| int bookas[8]={0,0,0,0,0,0,0,0}; | int bookas[8]={0,0,0,0,0,0,0,0}; | ||||
| int cval=0; | int cval=0; | ||||
| @@ -864,11 +848,11 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | |||||
| if(csubbits){ | if(csubbits){ | ||||
| int maxval[8]; | int maxval[8]; | ||||
| for(k=0;k<csub;k++){ | for(k=0;k<csub;k++){ | ||||
| int booknum=info->class_subbook[class][k]; | |||||
| int booknum=info->class_subbook[classx][k]; | |||||
| if(booknum<0){ | if(booknum<0){ | ||||
| maxval[k]=1; | maxval[k]=1; | ||||
| }else{ | }else{ | ||||
| maxval[k]=sbooks[info->class_subbook[class][k]]->entries; | |||||
| maxval[k]=sbooks[info->class_subbook[classx][k]]->entries; | |||||
| } | } | ||||
| } | } | ||||
| for(k=0;k<cdim;k++){ | for(k=0;k<cdim;k++){ | ||||
| @@ -884,7 +868,7 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | |||||
| } | } | ||||
| /* write it */ | /* write it */ | ||||
| look->phrasebits+= | look->phrasebits+= | ||||
| vorbis_book_encode(books+info->class_book[class],cval,opb); | |||||
| vorbis_book_encode(books+info->class_book[classx],cval,opb); | |||||
| #ifdef TRAIN_FLOOR1 | #ifdef TRAIN_FLOOR1 | ||||
| { | { | ||||
| @@ -901,7 +885,7 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | |||||
| /* write post values */ | /* write post values */ | ||||
| for(k=0;k<cdim;k++){ | for(k=0;k<cdim;k++){ | ||||
| int book=info->class_subbook[class][bookas[k]]; | |||||
| int book=info->class_subbook[classx][bookas[k]]; | |||||
| if(book>=0){ | if(book>=0){ | ||||
| /* hack to allow training with 'bad' books */ | /* hack to allow training with 'bad' books */ | ||||
| if(out[j+k]<(books+book)->entries) | if(out[j+k]<(books+book)->entries) | ||||
| @@ -961,35 +945,35 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | |||||
| static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ | static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ | ||||
| vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | ||||
| vorbis_info_floor1 *info=look->vi; | vorbis_info_floor1 *info=look->vi; | ||||
| codec_setup_info *ci=vb->vd->vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vb->vd->vi->codec_setup; | |||||
| int i,j,k; | int i,j,k; | ||||
| codebook *books=ci->fullbooks; | codebook *books=ci->fullbooks; | ||||
| /* unpack wrapped/predicted values from stream */ | /* unpack wrapped/predicted values from stream */ | ||||
| if(oggpack_read(&vb->opb,1)==1){ | if(oggpack_read(&vb->opb,1)==1){ | ||||
| int *fit_value=_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value)); | |||||
| int *fit_value=(int*)_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value)); | |||||
| fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); | fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); | ||||
| fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); | fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); | ||||
| /* partition by partition */ | /* partition by partition */ | ||||
| for(i=0,j=2;i<info->partitions;i++){ | for(i=0,j=2;i<info->partitions;i++){ | ||||
| int class=info->partitionclass[i]; | |||||
| int cdim=info->class_dim[class]; | |||||
| int csubbits=info->class_subs[class]; | |||||
| int classx=info->partitionclass[i]; | |||||
| int cdim=info->class_dim[classx]; | |||||
| int csubbits=info->class_subs[classx]; | |||||
| int csub=1<<csubbits; | int csub=1<<csubbits; | ||||
| int cval=0; | int cval=0; | ||||
| /* decode the partition's first stage cascade value */ | /* decode the partition's first stage cascade value */ | ||||
| if(csubbits){ | if(csubbits){ | ||||
| cval=vorbis_book_decode(books+info->class_book[class],&vb->opb); | |||||
| cval=vorbis_book_decode(books+info->class_book[classx],&vb->opb); | |||||
| if(cval==-1)goto eop; | if(cval==-1)goto eop; | ||||
| } | } | ||||
| for(k=0;k<cdim;k++){ | for(k=0;k<cdim;k++){ | ||||
| int book=info->class_subbook[class][cval&(csub-1)]; | |||||
| int book=info->class_subbook[classx][cval&(csub-1)]; | |||||
| cval>>=csubbits; | cval>>=csubbits; | ||||
| if(book>=0){ | if(book>=0){ | ||||
| if((fit_value[j+k]=vorbis_book_decode(books+book,&vb->opb))==-1) | if((fit_value[j+k]=vorbis_book_decode(books+book,&vb->opb))==-1) | ||||
| @@ -1049,7 +1033,7 @@ static int floor1_inverse2(vorbis_block *vb,vorbis_look_floor *in,void *memo, | |||||
| vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | vorbis_look_floor1 *look=(vorbis_look_floor1 *)in; | ||||
| vorbis_info_floor1 *info=look->vi; | vorbis_info_floor1 *info=look->vi; | ||||
| codec_setup_info *ci=vb->vd->vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vb->vd->vi->codec_setup; | |||||
| int n=ci->blocksizes[vb->W]/2; | int n=ci->blocksizes[vb->W]/2; | ||||
| int j; | int j; | ||||
| @@ -34,16 +34,6 @@ | |||||
| #include "misc.h" | #include "misc.h" | ||||
| #include "os.h" | #include "os.h" | ||||
| /* helpers */ | |||||
| static int ilog2(unsigned int v){ | |||||
| int ret=0; | |||||
| if(v)--v; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static void _v_writestring(oggpack_buffer *o,char *s, int bytes){ | static void _v_writestring(oggpack_buffer *o,char *s, int bytes){ | ||||
| @@ -63,19 +53,19 @@ void vorbis_comment_init(vorbis_comment *vc){ | |||||
| } | } | ||||
| void vorbis_comment_add(vorbis_comment *vc,char *comment){ | void vorbis_comment_add(vorbis_comment *vc,char *comment){ | ||||
| vc->user_comments=_ogg_realloc(vc->user_comments, | |||||
| vc->user_comments=(char**)_ogg_realloc(vc->user_comments, | |||||
| (vc->comments+2)*sizeof(*vc->user_comments)); | (vc->comments+2)*sizeof(*vc->user_comments)); | ||||
| vc->comment_lengths=_ogg_realloc(vc->comment_lengths, | |||||
| vc->comment_lengths=(int*)_ogg_realloc(vc->comment_lengths, | |||||
| (vc->comments+2)*sizeof(*vc->comment_lengths)); | (vc->comments+2)*sizeof(*vc->comment_lengths)); | ||||
| vc->comment_lengths[vc->comments]=strlen(comment); | vc->comment_lengths[vc->comments]=strlen(comment); | ||||
| vc->user_comments[vc->comments]=_ogg_malloc(vc->comment_lengths[vc->comments]+1); | |||||
| vc->user_comments[vc->comments]=(char*)_ogg_malloc(vc->comment_lengths[vc->comments]+1); | |||||
| strcpy(vc->user_comments[vc->comments], comment); | strcpy(vc->user_comments[vc->comments], comment); | ||||
| vc->comments++; | vc->comments++; | ||||
| vc->user_comments[vc->comments]=NULL; | vc->user_comments[vc->comments]=NULL; | ||||
| } | } | ||||
| void vorbis_comment_add_tag(vorbis_comment *vc, char *tag, char *contents){ | void vorbis_comment_add_tag(vorbis_comment *vc, char *tag, char *contents){ | ||||
| char *comment=alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */ | |||||
| char *comment=(char*)alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */ | |||||
| strcpy(comment, tag); | strcpy(comment, tag); | ||||
| strcat(comment, "="); | strcat(comment, "="); | ||||
| strcat(comment, contents); | strcat(comment, contents); | ||||
| @@ -98,7 +88,7 @@ char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count){ | |||||
| long i; | long i; | ||||
| int found = 0; | int found = 0; | ||||
| int taglen = strlen(tag)+1; /* +1 for the = we append */ | int taglen = strlen(tag)+1; /* +1 for the = we append */ | ||||
| char *fulltag = alloca(taglen+ 1); | |||||
| char *fulltag = (char*)alloca(taglen+ 1); | |||||
| strcpy(fulltag, tag); | strcpy(fulltag, tag); | ||||
| strcat(fulltag, "="); | strcat(fulltag, "="); | ||||
| @@ -118,7 +108,7 @@ char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count){ | |||||
| int vorbis_comment_query_count(vorbis_comment *vc, char *tag){ | int vorbis_comment_query_count(vorbis_comment *vc, char *tag){ | ||||
| int i,count=0; | int i,count=0; | ||||
| int taglen = strlen(tag)+1; /* +1 for the = we append */ | int taglen = strlen(tag)+1; /* +1 for the = we append */ | ||||
| char *fulltag = alloca(taglen+1); | |||||
| char *fulltag = (char*)alloca(taglen+1); | |||||
| strcpy(fulltag,tag); | strcpy(fulltag,tag); | ||||
| strcat(fulltag, "="); | strcat(fulltag, "="); | ||||
| @@ -145,7 +135,7 @@ void vorbis_comment_clear(vorbis_comment *vc){ | |||||
| /* blocksize 0 is guaranteed to be short, 1 is guarantted to be long. | /* blocksize 0 is guaranteed to be short, 1 is guarantted to be long. | ||||
| They may be equal, but short will never ge greater than long */ | They may be equal, but short will never ge greater than long */ | ||||
| int vorbis_info_blocksize(vorbis_info *vi,int zo){ | int vorbis_info_blocksize(vorbis_info *vi,int zo){ | ||||
| codec_setup_info *ci = vi->codec_setup; | |||||
| codec_setup_info *ci = (codec_setup_info*)vi->codec_setup; | |||||
| return ci ? ci->blocksizes[zo] : -1; | return ci ? ci->blocksizes[zo] : -1; | ||||
| } | } | ||||
| @@ -156,7 +146,7 @@ void vorbis_info_init(vorbis_info *vi){ | |||||
| } | } | ||||
| void vorbis_info_clear(vorbis_info *vi){ | void vorbis_info_clear(vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int i; | int i; | ||||
| if(ci){ | if(ci){ | ||||
| @@ -196,7 +186,7 @@ void vorbis_info_clear(vorbis_info *vi){ | |||||
| /* Header packing/unpacking ********************************************/ | /* Header packing/unpacking ********************************************/ | ||||
| static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){ | static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| if(!ci)return(OV_EFAULT); | if(!ci)return(OV_EFAULT); | ||||
| vi->version=oggpack_read(opb,32); | vi->version=oggpack_read(opb,32); | ||||
| @@ -229,18 +219,18 @@ static int _vorbis_unpack_comment(vorbis_comment *vc,oggpack_buffer *opb){ | |||||
| int i; | int i; | ||||
| int vendorlen=oggpack_read(opb,32); | int vendorlen=oggpack_read(opb,32); | ||||
| if(vendorlen<0)goto err_out; | if(vendorlen<0)goto err_out; | ||||
| vc->vendor=_ogg_calloc(vendorlen+1,1); | |||||
| vc->vendor=(char*)_ogg_calloc(vendorlen+1,1); | |||||
| _v_readstring(opb,vc->vendor,vendorlen); | _v_readstring(opb,vc->vendor,vendorlen); | ||||
| vc->comments=oggpack_read(opb,32); | vc->comments=oggpack_read(opb,32); | ||||
| if(vc->comments<0)goto err_out; | if(vc->comments<0)goto err_out; | ||||
| vc->user_comments=_ogg_calloc(vc->comments+1,sizeof(*vc->user_comments)); | |||||
| vc->comment_lengths=_ogg_calloc(vc->comments+1, sizeof(*vc->comment_lengths)); | |||||
| vc->user_comments=(char**)_ogg_calloc(vc->comments+1,sizeof(*vc->user_comments)); | |||||
| vc->comment_lengths=(int*)_ogg_calloc(vc->comments+1, sizeof(*vc->comment_lengths)); | |||||
| for(i=0;i<vc->comments;i++){ | for(i=0;i<vc->comments;i++){ | ||||
| int len=oggpack_read(opb,32); | int len=oggpack_read(opb,32); | ||||
| if(len<0)goto err_out; | if(len<0)goto err_out; | ||||
| vc->comment_lengths[i]=len; | vc->comment_lengths[i]=len; | ||||
| vc->user_comments[i]=_ogg_calloc(len+1,1); | |||||
| vc->user_comments[i]=(char*)_ogg_calloc(len+1,1); | |||||
| _v_readstring(opb,vc->user_comments[i],len); | _v_readstring(opb,vc->user_comments[i],len); | ||||
| } | } | ||||
| if(oggpack_read(opb,1)!=1)goto err_out; /* EOP check */ | if(oggpack_read(opb,1)!=1)goto err_out; /* EOP check */ | ||||
| @@ -254,7 +244,7 @@ static int _vorbis_unpack_comment(vorbis_comment *vc,oggpack_buffer *opb){ | |||||
| /* all of the real encoding details are here. The modes, books, | /* all of the real encoding details are here. The modes, books, | ||||
| everything */ | everything */ | ||||
| static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ | static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int i; | int i; | ||||
| if(!ci)return(OV_EFAULT); | if(!ci)return(OV_EFAULT); | ||||
| @@ -262,7 +252,7 @@ static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ | |||||
| ci->books=oggpack_read(opb,8)+1; | ci->books=oggpack_read(opb,8)+1; | ||||
| /*ci->book_param=_ogg_calloc(ci->books,sizeof(*ci->book_param));*/ | /*ci->book_param=_ogg_calloc(ci->books,sizeof(*ci->book_param));*/ | ||||
| for(i=0;i<ci->books;i++){ | for(i=0;i<ci->books;i++){ | ||||
| ci->book_param[i]=_ogg_calloc(1,sizeof(*ci->book_param[i])); | |||||
| ci->book_param[i]=(static_codebook*)_ogg_calloc(1,sizeof(*ci->book_param[i])); | |||||
| if(vorbis_staticbook_unpack(opb,ci->book_param[i]))goto err_out; | if(vorbis_staticbook_unpack(opb,ci->book_param[i]))goto err_out; | ||||
| } | } | ||||
| @@ -312,7 +302,7 @@ static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ | |||||
| ci->modes=oggpack_read(opb,6)+1; | ci->modes=oggpack_read(opb,6)+1; | ||||
| /*vi->mode_param=_ogg_calloc(vi->modes,sizeof(void *));*/ | /*vi->mode_param=_ogg_calloc(vi->modes,sizeof(void *));*/ | ||||
| for(i=0;i<ci->modes;i++){ | for(i=0;i<ci->modes;i++){ | ||||
| ci->mode_param[i]=_ogg_calloc(1,sizeof(*ci->mode_param[i])); | |||||
| ci->mode_param[i]=(vorbis_info_mode*)_ogg_calloc(1,sizeof(*ci->mode_param[i])); | |||||
| ci->mode_param[i]->blockflag=oggpack_read(opb,1); | ci->mode_param[i]->blockflag=oggpack_read(opb,1); | ||||
| ci->mode_param[i]->windowtype=oggpack_read(opb,16); | ci->mode_param[i]->windowtype=oggpack_read(opb,16); | ||||
| ci->mode_param[i]->transformtype=oggpack_read(opb,16); | ci->mode_param[i]->transformtype=oggpack_read(opb,16); | ||||
| @@ -395,7 +385,7 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op) | |||||
| /* pack side **********************************************************/ | /* pack side **********************************************************/ | ||||
| static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){ | static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| if(!ci)return(OV_EFAULT); | if(!ci)return(OV_EFAULT); | ||||
| /* preamble */ | /* preamble */ | ||||
| @@ -450,7 +440,7 @@ static int _vorbis_pack_comment(oggpack_buffer *opb,vorbis_comment *vc){ | |||||
| } | } | ||||
| static int _vorbis_pack_books(oggpack_buffer *opb,vorbis_info *vi){ | static int _vorbis_pack_books(oggpack_buffer *opb,vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int i; | int i; | ||||
| if(!ci)return(OV_EFAULT); | if(!ci)return(OV_EFAULT); | ||||
| @@ -513,7 +503,7 @@ int vorbis_commentheader_out(vorbis_comment *vc, | |||||
| oggpack_writeinit(&opb); | oggpack_writeinit(&opb); | ||||
| if(_vorbis_pack_comment(&opb,vc)) return OV_EIMPL; | if(_vorbis_pack_comment(&opb,vc)) return OV_EIMPL; | ||||
| op->packet = _ogg_malloc(oggpack_bytes(&opb)); | |||||
| op->packet = (unsigned char*) _ogg_malloc(oggpack_bytes(&opb)); | |||||
| memcpy(op->packet, opb.buffer, oggpack_bytes(&opb)); | memcpy(op->packet, opb.buffer, oggpack_bytes(&opb)); | ||||
| op->bytes=oggpack_bytes(&opb); | op->bytes=oggpack_bytes(&opb); | ||||
| @@ -533,7 +523,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, | |||||
| int ret=OV_EIMPL; | int ret=OV_EIMPL; | ||||
| vorbis_info *vi=v->vi; | vorbis_info *vi=v->vi; | ||||
| oggpack_buffer opb; | oggpack_buffer opb; | ||||
| private_state *b=v->backend_state; | |||||
| private_state *b=(private_state*)v->backend_state; | |||||
| if(!b){ | if(!b){ | ||||
| ret=OV_EFAULT; | ret=OV_EFAULT; | ||||
| @@ -547,7 +537,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, | |||||
| /* build the packet */ | /* build the packet */ | ||||
| if(b->header)_ogg_free(b->header); | if(b->header)_ogg_free(b->header); | ||||
| b->header=_ogg_malloc(oggpack_bytes(&opb)); | |||||
| b->header=(unsigned char*) _ogg_malloc(oggpack_bytes(&opb)); | |||||
| memcpy(b->header,opb.buffer,oggpack_bytes(&opb)); | memcpy(b->header,opb.buffer,oggpack_bytes(&opb)); | ||||
| op->packet=b->header; | op->packet=b->header; | ||||
| op->bytes=oggpack_bytes(&opb); | op->bytes=oggpack_bytes(&opb); | ||||
| @@ -562,7 +552,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, | |||||
| if(_vorbis_pack_comment(&opb,vc))goto err_out; | if(_vorbis_pack_comment(&opb,vc))goto err_out; | ||||
| if(b->header1)_ogg_free(b->header1); | if(b->header1)_ogg_free(b->header1); | ||||
| b->header1=_ogg_malloc(oggpack_bytes(&opb)); | |||||
| b->header1=(unsigned char*) _ogg_malloc(oggpack_bytes(&opb)); | |||||
| memcpy(b->header1,opb.buffer,oggpack_bytes(&opb)); | memcpy(b->header1,opb.buffer,oggpack_bytes(&opb)); | ||||
| op_comm->packet=b->header1; | op_comm->packet=b->header1; | ||||
| op_comm->bytes=oggpack_bytes(&opb); | op_comm->bytes=oggpack_bytes(&opb); | ||||
| @@ -577,7 +567,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, | |||||
| if(_vorbis_pack_books(&opb,vi))goto err_out; | if(_vorbis_pack_books(&opb,vi))goto err_out; | ||||
| if(b->header2)_ogg_free(b->header2); | if(b->header2)_ogg_free(b->header2); | ||||
| b->header2=_ogg_malloc(oggpack_bytes(&opb)); | |||||
| b->header2=(unsigned char*) _ogg_malloc(oggpack_bytes(&opb)); | |||||
| memcpy(b->header2,opb.buffer,oggpack_bytes(&opb)); | memcpy(b->header2,opb.buffer,oggpack_bytes(&opb)); | ||||
| op_code->packet=b->header2; | op_code->packet=b->header2; | ||||
| op_code->bytes=oggpack_bytes(&opb); | op_code->bytes=oggpack_bytes(&opb); | ||||
| @@ -62,8 +62,8 @@ Carsten Bormann | |||||
| Output: m lpc coefficients, excitation energy */ | Output: m lpc coefficients, excitation energy */ | ||||
| float vorbis_lpc_from_data(float *data,float *lpci,int n,int m){ | float vorbis_lpc_from_data(float *data,float *lpci,int n,int m){ | ||||
| double *aut=alloca(sizeof(*aut)*(m+1)); | |||||
| double *lpc=alloca(sizeof(*lpc)*(m)); | |||||
| double *aut=(double*)alloca(sizeof(*aut)*(m+1)); | |||||
| double *lpc=(double*)alloca(sizeof(*lpc)*(m)); | |||||
| double error; | double error; | ||||
| int i,j; | int i,j; | ||||
| @@ -126,7 +126,7 @@ void vorbis_lpc_predict(float *coeff,float *prime,int m, | |||||
| long i,j,o,p; | long i,j,o,p; | ||||
| float y; | float y; | ||||
| float *work=alloca(sizeof(*work)*(m+n)); | |||||
| float *work=(float*)alloca(sizeof(*work)*(m+n)); | |||||
| if(!prime) | if(!prime) | ||||
| for(i=0;i<m;i++) | for(i=0;i<m;i++) | ||||
| @@ -313,11 +313,11 @@ static int comp(const void *a,const void *b){ | |||||
| static int Laguerre_With_Deflation(float *a,int ord,float *r){ | static int Laguerre_With_Deflation(float *a,int ord,float *r){ | ||||
| int i,m; | int i,m; | ||||
| double lastdelta=0.f; | double lastdelta=0.f; | ||||
| double *defl=alloca(sizeof(*defl)*(ord+1)); | |||||
| double *defl=(double*)alloca(sizeof(*defl)*(ord+1)); | |||||
| for(i=0;i<=ord;i++)defl[i]=a[i]; | for(i=0;i<=ord;i++)defl[i]=a[i]; | ||||
| for(m=ord;m>0;m--){ | for(m=ord;m>0;m--){ | ||||
| double new=0.f,delta; | |||||
| double newx=0.f,delta; | |||||
| /* iterate a root */ | /* iterate a root */ | ||||
| while(1){ | while(1){ | ||||
| @@ -325,9 +325,9 @@ static int Laguerre_With_Deflation(float *a,int ord,float *r){ | |||||
| /* eval the polynomial and its first two derivatives */ | /* eval the polynomial and its first two derivatives */ | ||||
| for(i=m;i>0;i--){ | for(i=m;i>0;i--){ | ||||
| ppp = new*ppp + pp; | |||||
| pp = new*pp + p; | |||||
| p = new*p + defl[i-1]; | |||||
| ppp = newx*ppp + pp; | |||||
| pp = newx*pp + p; | |||||
| p = newx*p + defl[i-1]; | |||||
| } | } | ||||
| /* Laguerre's method */ | /* Laguerre's method */ | ||||
| @@ -344,20 +344,20 @@ static int Laguerre_With_Deflation(float *a,int ord,float *r){ | |||||
| } | } | ||||
| delta = m*p/denom; | delta = m*p/denom; | ||||
| new -= delta; | |||||
| newx -= delta; | |||||
| if(delta<0.f)delta*=-1; | if(delta<0.f)delta*=-1; | ||||
| if(fabs(delta/new)<10e-12)break; | |||||
| if(fabs(delta/newx)<10e-12)break; | |||||
| lastdelta=delta; | lastdelta=delta; | ||||
| } | } | ||||
| r[m-1]=new; | |||||
| r[m-1]=newx; | |||||
| /* forward deflation */ | /* forward deflation */ | ||||
| for(i=m;i>0;i--) | for(i=m;i>0;i--) | ||||
| defl[i-1]+=new*defl[i]; | |||||
| defl[i-1]+=newx*defl[i]; | |||||
| defl++; | defl++; | ||||
| } | } | ||||
| @@ -369,7 +369,7 @@ static int Laguerre_With_Deflation(float *a,int ord,float *r){ | |||||
| static int Newton_Raphson(float *a,int ord,float *r){ | static int Newton_Raphson(float *a,int ord,float *r){ | ||||
| int i, k, count=0; | int i, k, count=0; | ||||
| double error=1.f; | double error=1.f; | ||||
| double *root=alloca(ord*sizeof(*root)); | |||||
| double *root=(double*)alloca(ord*sizeof(*root)); | |||||
| for(i=0; i<ord;i++) root[i] = r[i]; | for(i=0; i<ord;i++) root[i] = r[i]; | ||||
| @@ -408,10 +408,10 @@ static int Newton_Raphson(float *a,int ord,float *r){ | |||||
| int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m){ | int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m){ | ||||
| int order2=(m+1)>>1; | int order2=(m+1)>>1; | ||||
| int g1_order,g2_order; | int g1_order,g2_order; | ||||
| float *g1=alloca(sizeof(*g1)*(order2+1)); | |||||
| float *g2=alloca(sizeof(*g2)*(order2+1)); | |||||
| float *g1r=alloca(sizeof(*g1r)*(order2+1)); | |||||
| float *g2r=alloca(sizeof(*g2r)*(order2+1)); | |||||
| float *g1=(float*)alloca(sizeof(*g1)*(order2+1)); | |||||
| float *g2=(float*)alloca(sizeof(*g2)*(order2+1)); | |||||
| float *g1r=(float*)alloca(sizeof(*g1r)*(order2+1)); | |||||
| float *g2r=(float*)alloca(sizeof(*g2r)*(order2+1)); | |||||
| int i; | int i; | ||||
| /* even and odd are slightly different base cases */ | /* even and odd are slightly different base cases */ | ||||
| @@ -48,16 +48,6 @@ static void mapping0_free_info(vorbis_info_mapping *i){ | |||||
| } | } | ||||
| } | } | ||||
| static int ilog(unsigned int v){ | |||||
| int ret=0; | |||||
| if(v)--v; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm, | static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm, | ||||
| oggpack_buffer *opb){ | oggpack_buffer *opb){ | ||||
| int i; | int i; | ||||
| @@ -104,8 +94,8 @@ static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm, | |||||
| /* also responsible for range checking */ | /* also responsible for range checking */ | ||||
| static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb){ | static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb){ | ||||
| int i; | int i; | ||||
| vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info)); | |||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| vorbis_info_mapping0 *info=(vorbis_info_mapping0*)_ogg_calloc(1,sizeof(*info)); | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| memset(info,0,sizeof(*info)); | memset(info,0,sizeof(*info)); | ||||
| if(oggpack_read(opb,1)) | if(oggpack_read(opb,1)) | ||||
| @@ -232,37 +222,37 @@ static float FLOOR1_fromdB_LOOKUP[256]={ | |||||
| #endif | #endif | ||||
| extern int *floor1_fit(vorbis_block *vb,vorbis_look_floor *look, | |||||
| extern int *floor1_fit(vorbis_block *vb,void *look, | |||||
| const float *logmdct, /* in */ | const float *logmdct, /* in */ | ||||
| const float *logmask); | const float *logmask); | ||||
| extern int *floor1_interpolate_fit(vorbis_block *vb,vorbis_look_floor *look, | |||||
| extern int *floor1_interpolate_fit(vorbis_block *vb,void *look, | |||||
| int *A,int *B, | int *A,int *B, | ||||
| int del); | int del); | ||||
| extern int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | extern int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, | ||||
| vorbis_look_floor *look, | |||||
| void*look, | |||||
| int *post,int *ilogmask); | int *post,int *ilogmask); | ||||
| static int mapping0_forward(vorbis_block *vb){ | static int mapping0_forward(vorbis_block *vb){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| private_state *b=vb->vd->backend_state; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| private_state *b=(private_state*)vb->vd->backend_state; | |||||
| vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal; | vorbis_block_internal *vbi=(vorbis_block_internal *)vb->internal; | ||||
| int n=vb->pcmend; | int n=vb->pcmend; | ||||
| int i,j,k; | int i,j,k; | ||||
| int *nonzero = alloca(sizeof(*nonzero)*vi->channels); | |||||
| float **gmdct = _vorbis_block_alloc(vb,vi->channels*sizeof(*gmdct)); | |||||
| int **ilogmaskch= _vorbis_block_alloc(vb,vi->channels*sizeof(*ilogmaskch)); | |||||
| int ***floor_posts = _vorbis_block_alloc(vb,vi->channels*sizeof(*floor_posts)); | |||||
| int *nonzero = (int*) alloca(sizeof(*nonzero)*vi->channels); | |||||
| float **gmdct = (float**) _vorbis_block_alloc(vb,vi->channels*sizeof(*gmdct)); | |||||
| int **ilogmaskch= (int**) _vorbis_block_alloc(vb,vi->channels*sizeof(*ilogmaskch)); | |||||
| int ***floor_posts = (int***) _vorbis_block_alloc(vb,vi->channels*sizeof(*floor_posts)); | |||||
| float global_ampmax=vbi->ampmax; | float global_ampmax=vbi->ampmax; | ||||
| float *local_ampmax=alloca(sizeof(*local_ampmax)*vi->channels); | |||||
| float *local_ampmax=(float*)alloca(sizeof(*local_ampmax)*vi->channels); | |||||
| int blocktype=vbi->blocktype; | int blocktype=vbi->blocktype; | ||||
| int modenumber=vb->W; | int modenumber=vb->W; | ||||
| vorbis_info_mapping0 *info=ci->map_param[modenumber]; | |||||
| vorbis_info_mapping0 *info=(vorbis_info_mapping0*)ci->map_param[modenumber]; | |||||
| vorbis_look_psy *psy_look= | vorbis_look_psy *psy_look= | ||||
| b->psy+blocktype+(vb->W?2:0); | b->psy+blocktype+(vb->W?2:0); | ||||
| @@ -275,7 +265,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| float *pcm =vb->pcm[i]; | float *pcm =vb->pcm[i]; | ||||
| float *logfft =pcm; | float *logfft =pcm; | ||||
| gmdct[i]=_vorbis_block_alloc(vb,n/2*sizeof(**gmdct)); | |||||
| gmdct[i]=(float*)_vorbis_block_alloc(vb,n/2*sizeof(**gmdct)); | |||||
| scale_dB=todB(&scale) + .345; /* + .345 is a hack; the original | scale_dB=todB(&scale) + .345; /* + .345 is a hack; the original | ||||
| todB estimation used on IEEE 754 | todB estimation used on IEEE 754 | ||||
| @@ -313,7 +303,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| /* transform the PCM data */ | /* transform the PCM data */ | ||||
| /* only MDCT right now.... */ | /* only MDCT right now.... */ | ||||
| mdct_forward(b->transform[vb->W][0],pcm,gmdct[i]); | |||||
| mdct_forward((mdct_lookup*) b->transform[vb->W][0],pcm,gmdct[i]); | |||||
| /* FFT yields more accurate tonal estimation (not phase sensitive) */ | /* FFT yields more accurate tonal estimation (not phase sensitive) */ | ||||
| drft_forward(&b->fft_look[vb->W],pcm); | drft_forward(&b->fft_look[vb->W],pcm); | ||||
| @@ -368,8 +358,8 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| } | } | ||||
| { | { | ||||
| float *noise = _vorbis_block_alloc(vb,n/2*sizeof(*noise)); | |||||
| float *tone = _vorbis_block_alloc(vb,n/2*sizeof(*tone)); | |||||
| float *noise = (float*) _vorbis_block_alloc(vb,n/2*sizeof(*noise)); | |||||
| float *tone = (float*) _vorbis_block_alloc(vb,n/2*sizeof(*tone)); | |||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| /* the encoder setup assumes that all the modes used by any | /* the encoder setup assumes that all the modes used by any | ||||
| @@ -386,7 +376,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| vb->mode=modenumber; | vb->mode=modenumber; | ||||
| floor_posts[i]=_vorbis_block_alloc(vb,PACKETBLOBS*sizeof(**floor_posts)); | |||||
| floor_posts[i]=(int**) _vorbis_block_alloc(vb,PACKETBLOBS*sizeof(**floor_posts)); | |||||
| memset(floor_posts[i],0,sizeof(**floor_posts)*PACKETBLOBS); | memset(floor_posts[i],0,sizeof(**floor_posts)*PACKETBLOBS); | ||||
| for(j=0;j<n/2;j++) | for(j=0;j<n/2;j++) | ||||
| @@ -585,10 +575,10 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| /* iterate over the many masking curve fits we've created */ | /* iterate over the many masking curve fits we've created */ | ||||
| { | { | ||||
| float **res_bundle=alloca(sizeof(*res_bundle)*vi->channels); | |||||
| float **couple_bundle=alloca(sizeof(*couple_bundle)*vi->channels); | |||||
| int *zerobundle=alloca(sizeof(*zerobundle)*vi->channels); | |||||
| int **sortindex=alloca(sizeof(*sortindex)*vi->channels); | |||||
| float **res_bundle=(float**) alloca(sizeof(*res_bundle)*vi->channels); | |||||
| float **couple_bundle=(float**) alloca(sizeof(*couple_bundle)*vi->channels); | |||||
| int *zerobundle=(int*) alloca(sizeof(*zerobundle)*vi->channels); | |||||
| int **sortindex=(int**) alloca(sizeof(*sortindex)*vi->channels); | |||||
| float **mag_memo; | float **mag_memo; | ||||
| int **mag_sort; | int **mag_sort; | ||||
| @@ -614,7 +604,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| if(psy_look->vi->normal_channel_p){ | if(psy_look->vi->normal_channel_p){ | ||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| float *mdct =gmdct[i]; | float *mdct =gmdct[i]; | ||||
| sortindex[i]=alloca(sizeof(**sortindex)*n/2); | |||||
| sortindex[i]=(int*) alloca(sizeof(**sortindex)*n/2); | |||||
| _vp_noise_normalize_sort(psy_look,mdct,sortindex[i]); | _vp_noise_normalize_sort(psy_look,mdct,sortindex[i]); | ||||
| } | } | ||||
| } | } | ||||
| @@ -641,7 +631,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| float *mdct =gmdct[i]; | float *mdct =gmdct[i]; | ||||
| float *res =vb->pcm[i]; | float *res =vb->pcm[i]; | ||||
| int *ilogmask=ilogmaskch[i]= | int *ilogmask=ilogmaskch[i]= | ||||
| _vorbis_block_alloc(vb,n/2*sizeof(**gmdct)); | |||||
| (int*) _vorbis_block_alloc(vb,n/2*sizeof(**gmdct)); | |||||
| nonzero[i]=floor1_encode(opb,vb,b->flr[info->floorsubmap[submap]], | nonzero[i]=floor1_encode(opb,vb,b->flr[info->floorsubmap[submap]], | ||||
| floor_posts[i][k], | floor_posts[i][k], | ||||
| @@ -713,7 +703,7 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| } | } | ||||
| classifications=_residue_P[ci->residue_type[resnum]]-> | classifications=_residue_P[ci->residue_type[resnum]]-> | ||||
| class(vb,b->residue[resnum],couple_bundle,zerobundle,ch_in_bundle); | |||||
| classx(vb,b->residue[resnum],couple_bundle,zerobundle,ch_in_bundle); | |||||
| _residue_P[ci->residue_type[resnum]]-> | _residue_P[ci->residue_type[resnum]]-> | ||||
| forward(opb,vb,b->residue[resnum], | forward(opb,vb,b->residue[resnum], | ||||
| @@ -735,18 +725,18 @@ static int mapping0_forward(vorbis_block *vb){ | |||||
| static int mapping0_inverse(vorbis_block *vb,vorbis_info_mapping *l){ | static int mapping0_inverse(vorbis_block *vb,vorbis_info_mapping *l){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| private_state *b=vd->backend_state; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| vorbis_info_mapping0 *info=(vorbis_info_mapping0 *)l; | vorbis_info_mapping0 *info=(vorbis_info_mapping0 *)l; | ||||
| int i,j; | int i,j; | ||||
| long n=vb->pcmend=ci->blocksizes[vb->W]; | long n=vb->pcmend=ci->blocksizes[vb->W]; | ||||
| float **pcmbundle=alloca(sizeof(*pcmbundle)*vi->channels); | |||||
| int *zerobundle=alloca(sizeof(*zerobundle)*vi->channels); | |||||
| float **pcmbundle=(float**) alloca(sizeof(*pcmbundle)*vi->channels); | |||||
| int *zerobundle=(int*) alloca(sizeof(*zerobundle)*vi->channels); | |||||
| int *nonzero =alloca(sizeof(*nonzero)*vi->channels); | |||||
| void **floormemo=alloca(sizeof(*floormemo)*vi->channels); | |||||
| int *nonzero =(int*) alloca(sizeof(*nonzero)*vi->channels); | |||||
| void **floormemo=(void**) alloca(sizeof(*floormemo)*vi->channels); | |||||
| /* recover the spectral envelope; store it in the PCM vector for now */ | /* recover the spectral envelope; store it in the PCM vector for now */ | ||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| @@ -828,7 +818,7 @@ static int mapping0_inverse(vorbis_block *vb,vorbis_info_mapping *l){ | |||||
| /* only MDCT right now.... */ | /* only MDCT right now.... */ | ||||
| for(i=0;i<vi->channels;i++){ | for(i=0;i<vi->channels;i++){ | ||||
| float *pcm=vb->pcm[i]; | float *pcm=vb->pcm[i]; | ||||
| mdct_backward(b->transform[vb->W][0],pcm,pcm); | |||||
| mdct_backward((mdct_lookup*) b->transform[vb->W][0],pcm,pcm); | |||||
| } | } | ||||
| /* all done! */ | /* all done! */ | ||||
| @@ -53,8 +53,8 @@ | |||||
| some window function algebra. */ | some window function algebra. */ | ||||
| void mdct_init(mdct_lookup *lookup,int n){ | void mdct_init(mdct_lookup *lookup,int n){ | ||||
| int *bitrev=_ogg_malloc(sizeof(*bitrev)*(n/4)); | |||||
| DATA_TYPE *T=_ogg_malloc(sizeof(*T)*(n+n/4)); | |||||
| int *bitrev=(int*) _ogg_malloc(sizeof(*bitrev)*(n/4)); | |||||
| DATA_TYPE *T=(DATA_TYPE*) _ogg_malloc(sizeof(*T)*(n+n/4)); | |||||
| int i; | int i; | ||||
| int n2=n>>1; | int n2=n>>1; | ||||
| @@ -498,7 +498,7 @@ void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out){ | |||||
| int n2=n>>1; | int n2=n>>1; | ||||
| int n4=n>>2; | int n4=n>>2; | ||||
| int n8=n>>3; | int n8=n>>3; | ||||
| DATA_TYPE *w=alloca(n*sizeof(*w)); /* forward needs working space */ | |||||
| DATA_TYPE *w=(DATA_TYPE*) alloca(n*sizeof(*w)); /* forward needs working space */ | |||||
| DATA_TYPE *w2=w+n2; | DATA_TYPE *w2=w+n2; | ||||
| /* rotate */ | /* rotate */ | ||||
| @@ -37,9 +37,9 @@ static double stereo_threshholds[]={0.0, .5, 1.0, 1.5, 2.5, 4.5, 8.5, 16.5, 9e10 | |||||
| static double stereo_threshholds_limited[]={0.0, .5, 1.0, 1.5, 2.0, 2.5, 4.5, 8.5, 9e10}; | static double stereo_threshholds_limited[]={0.0, .5, 1.0, 1.5, 2.0, 2.5, 4.5, 8.5, 9e10}; | ||||
| vorbis_look_psy_global *_vp_global_look(vorbis_info *vi){ | vorbis_look_psy_global *_vp_global_look(vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy_global *gi=&ci->psy_g_param; | vorbis_info_psy_global *gi=&ci->psy_g_param; | ||||
| vorbis_look_psy_global *look=_ogg_calloc(1,sizeof(*look)); | |||||
| vorbis_look_psy_global *look=(vorbis_look_psy_global*)_ogg_calloc(1,sizeof(*look)); | |||||
| look->channels=vi->channels; | look->channels=vi->channels; | ||||
| @@ -92,9 +92,9 @@ static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n, | |||||
| float ath[EHMER_MAX]; | float ath[EHMER_MAX]; | ||||
| float workc[P_BANDS][P_LEVELS][EHMER_MAX]; | float workc[P_BANDS][P_LEVELS][EHMER_MAX]; | ||||
| float athc[P_LEVELS][EHMER_MAX]; | float athc[P_LEVELS][EHMER_MAX]; | ||||
| float *brute_buffer=alloca(n*sizeof(*brute_buffer)); | |||||
| float *brute_buffer=(float*) alloca(n*sizeof(*brute_buffer)); | |||||
| float ***ret=_ogg_malloc(sizeof(*ret)*P_BANDS); | |||||
| float ***ret=(float***) _ogg_malloc(sizeof(*ret)*P_BANDS); | |||||
| memset(workc,0,sizeof(workc)); | memset(workc,0,sizeof(workc)); | ||||
| @@ -161,7 +161,7 @@ static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n, | |||||
| for(i=0;i<P_BANDS;i++){ | for(i=0;i<P_BANDS;i++){ | ||||
| int hi_curve,lo_curve,bin; | int hi_curve,lo_curve,bin; | ||||
| ret[i]=_ogg_malloc(sizeof(**ret)*P_LEVELS); | |||||
| ret[i]=(float**)_ogg_malloc(sizeof(**ret)*P_LEVELS); | |||||
| /* low frequency curves are measured with greater resolution than | /* low frequency curves are measured with greater resolution than | ||||
| the MDCT/FFT will actually give us; we want the curve applied | the MDCT/FFT will actually give us; we want the curve applied | ||||
| @@ -181,7 +181,7 @@ static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n, | |||||
| if(hi_curve>=P_BANDS)hi_curve=P_BANDS-1; | if(hi_curve>=P_BANDS)hi_curve=P_BANDS-1; | ||||
| for(m=0;m<P_LEVELS;m++){ | for(m=0;m<P_LEVELS;m++){ | ||||
| ret[i][m]=_ogg_malloc(sizeof(***ret)*(EHMER_MAX+2)); | |||||
| ret[i][m]=(float*)_ogg_malloc(sizeof(***ret)*(EHMER_MAX+2)); | |||||
| for(j=0;j<n;j++)brute_buffer[j]=999.; | for(j=0;j<n;j++)brute_buffer[j]=999.; | ||||
| @@ -279,10 +279,10 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi, | |||||
| p->firstoc=toOC(.25f*rate*.5/n)*(1<<(p->shiftoc+1))-gi->eighth_octave_lines; | p->firstoc=toOC(.25f*rate*.5/n)*(1<<(p->shiftoc+1))-gi->eighth_octave_lines; | ||||
| maxoc=toOC((n+.25f)*rate*.5/n)*(1<<(p->shiftoc+1))+.5f; | maxoc=toOC((n+.25f)*rate*.5/n)*(1<<(p->shiftoc+1))+.5f; | ||||
| p->total_octave_lines=maxoc-p->firstoc+1; | p->total_octave_lines=maxoc-p->firstoc+1; | ||||
| p->ath=_ogg_malloc(n*sizeof(*p->ath)); | |||||
| p->ath=(float*)_ogg_malloc(n*sizeof(*p->ath)); | |||||
| p->octave=_ogg_malloc(n*sizeof(*p->octave)); | |||||
| p->bark=_ogg_malloc(n*sizeof(*p->bark)); | |||||
| p->octave=(long*)_ogg_malloc(n*sizeof(*p->octave)); | |||||
| p->bark=(long*)_ogg_malloc(n*sizeof(*p->bark)); | |||||
| p->vi=vi; | p->vi=vi; | ||||
| p->n=n; | p->n=n; | ||||
| p->rate=rate; | p->rate=rate; | ||||
| @@ -327,9 +327,9 @@ void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi, | |||||
| vi->tone_centerboost,vi->tone_decay); | vi->tone_centerboost,vi->tone_decay); | ||||
| /* set up rolling noise median */ | /* set up rolling noise median */ | ||||
| p->noiseoffset=_ogg_malloc(P_NOISECURVES*sizeof(*p->noiseoffset)); | |||||
| p->noiseoffset=(float**)_ogg_malloc(P_NOISECURVES*sizeof(*p->noiseoffset)); | |||||
| for(i=0;i<P_NOISECURVES;i++) | for(i=0;i<P_NOISECURVES;i++) | ||||
| p->noiseoffset[i]=_ogg_malloc(n*sizeof(**p->noiseoffset)); | |||||
| p->noiseoffset[i]=(float*)_ogg_malloc(n*sizeof(**p->noiseoffset)); | |||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| float halfoc=toOC((i+.5)*rate/(2.*n))*2.; | float halfoc=toOC((i+.5)*rate/(2.*n))*2.; | ||||
| @@ -448,8 +448,8 @@ static void seed_loop(vorbis_look_psy *p, | |||||
| } | } | ||||
| static void seed_chase(float *seeds, int linesper, long n){ | static void seed_chase(float *seeds, int linesper, long n){ | ||||
| long *posstack=alloca(n*sizeof(*posstack)); | |||||
| float *ampstack=alloca(n*sizeof(*ampstack)); | |||||
| long *posstack=(long*)alloca(n*sizeof(*posstack)); | |||||
| float *ampstack=(float*)alloca(n*sizeof(*ampstack)); | |||||
| long stack=0; | long stack=0; | ||||
| long pos=0; | long pos=0; | ||||
| long i; | long i; | ||||
| @@ -546,11 +546,11 @@ static void bark_noise_hybridmp(int n,const long *b, | |||||
| const float offset, | const float offset, | ||||
| const int fixed){ | const int fixed){ | ||||
| float *N=alloca(n*sizeof(*N)); | |||||
| float *X=alloca(n*sizeof(*N)); | |||||
| float *XX=alloca(n*sizeof(*N)); | |||||
| float *Y=alloca(n*sizeof(*N)); | |||||
| float *XY=alloca(n*sizeof(*N)); | |||||
| float *N=(float*) alloca(n*sizeof(*N)); | |||||
| float *X=(float*) alloca(n*sizeof(*N)); | |||||
| float *XX=(float*) alloca(n*sizeof(*N)); | |||||
| float *Y=(float*) alloca(n*sizeof(*N)); | |||||
| float *XY=(float*) alloca(n*sizeof(*N)); | |||||
| float tN, tX, tXX, tY, tXY; | float tN, tX, tXX, tY, tXY; | ||||
| int i; | int i; | ||||
| @@ -783,7 +783,7 @@ void _vp_noisemask(vorbis_look_psy *p, | |||||
| float *logmask){ | float *logmask){ | ||||
| int i,n=p->n; | int i,n=p->n; | ||||
| float *work=alloca(n*sizeof(*work)); | |||||
| float *work=(float*) alloca(n*sizeof(*work)); | |||||
| bark_noise_hybridmp(n,p->bark,logmdct,logmask, | bark_noise_hybridmp(n,p->bark,logmdct,logmask, | ||||
| 140.,-1); | 140.,-1); | ||||
| @@ -834,7 +834,7 @@ void _vp_tonemask(vorbis_look_psy *p, | |||||
| int i,n=p->n; | int i,n=p->n; | ||||
| float *seed=alloca(sizeof(*seed)*p->total_octave_lines); | |||||
| float *seed=(float*) alloca(sizeof(*seed)*p->total_octave_lines); | |||||
| float att=local_specmax+p->vi->ath_adjatt; | float att=local_specmax+p->vi->ath_adjatt; | ||||
| for(i=0;i<p->total_octave_lines;i++)seed[i]=NEGINF; | for(i=0;i<p->total_octave_lines;i++)seed[i]=NEGINF; | ||||
| @@ -911,7 +911,7 @@ void _vp_offset_and_mix(vorbis_look_psy *p, | |||||
| float _vp_ampmax_decay(float amp,vorbis_dsp_state *vd){ | float _vp_ampmax_decay(float amp,vorbis_dsp_state *vd){ | ||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy_global *gi=&ci->psy_g_param; | vorbis_info_psy_global *gi=&ci->psy_g_param; | ||||
| int n=ci->blocksizes[vd->W]/2; | int n=ci->blocksizes[vd->W]/2; | ||||
| @@ -1001,13 +1001,13 @@ float **_vp_quantize_couple_memo(vorbis_block *vb, | |||||
| float **mdct){ | float **mdct){ | ||||
| int i,j,n=p->n; | int i,j,n=p->n; | ||||
| float **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret)); | |||||
| float **ret=(float**) _vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret)); | |||||
| int limit=g->coupling_pointlimit[p->vi->blockflag][PACKETBLOBS/2]; | int limit=g->coupling_pointlimit[p->vi->blockflag][PACKETBLOBS/2]; | ||||
| for(i=0;i<vi->coupling_steps;i++){ | for(i=0;i<vi->coupling_steps;i++){ | ||||
| float *mdctM=mdct[vi->coupling_mag[i]]; | float *mdctM=mdct[vi->coupling_mag[i]]; | ||||
| float *mdctA=mdct[vi->coupling_ang[i]]; | float *mdctA=mdct[vi->coupling_ang[i]]; | ||||
| ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret)); | |||||
| ret[i]=(float*) _vorbis_block_alloc(vb,n*sizeof(**ret)); | |||||
| for(j=0;j<limit;j++) | for(j=0;j<limit;j++) | ||||
| ret[i][j]=dipole_hypot(mdctM[j],mdctA[j]); | ret[i][j]=dipole_hypot(mdctM[j],mdctA[j]); | ||||
| for(;j<n;j++) | for(;j<n;j++) | ||||
| @@ -1032,12 +1032,12 @@ int **_vp_quantize_couple_sort(vorbis_block *vb, | |||||
| if(p->vi->normal_point_p){ | if(p->vi->normal_point_p){ | ||||
| int i,j,k,n=p->n; | int i,j,k,n=p->n; | ||||
| int **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret)); | |||||
| int **ret=(int**) _vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret)); | |||||
| int partition=p->vi->normal_partition; | int partition=p->vi->normal_partition; | ||||
| float **work=alloca(sizeof(*work)*partition); | |||||
| float **work=(float**) alloca(sizeof(*work)*partition); | |||||
| for(i=0;i<vi->coupling_steps;i++){ | for(i=0;i<vi->coupling_steps;i++){ | ||||
| ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret)); | |||||
| ret[i]=(int*) _vorbis_block_alloc(vb,n*sizeof(**ret)); | |||||
| for(j=0;j<n;j+=partition){ | for(j=0;j<n;j+=partition){ | ||||
| for(k=0;k<partition;k++)work[k]=mags[i]+k+j; | for(k=0;k<partition;k++)work[k]=mags[i]+k+j; | ||||
| @@ -1055,7 +1055,7 @@ void _vp_noise_normalize_sort(vorbis_look_psy *p, | |||||
| int i,j,n=p->n; | int i,j,n=p->n; | ||||
| vorbis_info_psy *vi=p->vi; | vorbis_info_psy *vi=p->vi; | ||||
| int partition=vi->normal_partition; | int partition=vi->normal_partition; | ||||
| float **work=alloca(sizeof(*work)*partition); | |||||
| float **work=(float**) alloca(sizeof(*work)*partition); | |||||
| int start=vi->normal_start; | int start=vi->normal_start; | ||||
| for(j=start;j<n;j+=partition){ | for(j=start;j<n;j+=partition){ | ||||
| @@ -151,15 +151,6 @@ void res0_free_look(vorbis_look_residue *i){ | |||||
| } | } | ||||
| } | } | ||||
| static int ilog(unsigned int v){ | |||||
| int ret=0; | |||||
| while(v){ | |||||
| ret++; | |||||
| v>>=1; | |||||
| } | |||||
| return(ret); | |||||
| } | |||||
| static int icount(unsigned int v){ | static int icount(unsigned int v){ | ||||
| int ret=0; | int ret=0; | ||||
| while(v){ | while(v){ | ||||
| @@ -202,8 +193,8 @@ void res0_pack(vorbis_info_residue *vr,oggpack_buffer *opb){ | |||||
| /* vorbis_info is for range checking */ | /* vorbis_info is for range checking */ | ||||
| vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){ | vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){ | ||||
| int j,acc=0; | int j,acc=0; | ||||
| vorbis_info_residue0 *info=_ogg_calloc(1,sizeof(*info)); | |||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| vorbis_info_residue0 *info=(vorbis_info_residue0*) _ogg_calloc(1,sizeof(*info)); | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| info->begin=oggpack_read(opb,24); | info->begin=oggpack_read(opb,24); | ||||
| info->end=oggpack_read(opb,24); | info->end=oggpack_read(opb,24); | ||||
| @@ -235,8 +226,8 @@ vorbis_info_residue *res0_unpack(vorbis_info *vi,oggpack_buffer *opb){ | |||||
| vorbis_look_residue *res0_look(vorbis_dsp_state *vd, | vorbis_look_residue *res0_look(vorbis_dsp_state *vd, | ||||
| vorbis_info_residue *vr){ | vorbis_info_residue *vr){ | ||||
| vorbis_info_residue0 *info=(vorbis_info_residue0 *)vr; | vorbis_info_residue0 *info=(vorbis_info_residue0 *)vr; | ||||
| vorbis_look_residue0 *look=_ogg_calloc(1,sizeof(*look)); | |||||
| codec_setup_info *ci=vd->vi->codec_setup; | |||||
| vorbis_look_residue0 *look=(vorbis_look_residue0 *)_ogg_calloc(1,sizeof(*look)); | |||||
| codec_setup_info *ci=(codec_setup_info*)vd->vi->codec_setup; | |||||
| int j,k,acc=0; | int j,k,acc=0; | ||||
| int dim; | int dim; | ||||
| @@ -248,13 +239,13 @@ vorbis_look_residue *res0_look(vorbis_dsp_state *vd, | |||||
| look->phrasebook=ci->fullbooks+info->groupbook; | look->phrasebook=ci->fullbooks+info->groupbook; | ||||
| dim=look->phrasebook->dim; | dim=look->phrasebook->dim; | ||||
| look->partbooks=_ogg_calloc(look->parts,sizeof(*look->partbooks)); | |||||
| look->partbooks=(codebook***)_ogg_calloc(look->parts,sizeof(*look->partbooks)); | |||||
| for(j=0;j<look->parts;j++){ | for(j=0;j<look->parts;j++){ | ||||
| int stages=ilog(info->secondstages[j]); | int stages=ilog(info->secondstages[j]); | ||||
| if(stages){ | if(stages){ | ||||
| if(stages>maxstage)maxstage=stages; | if(stages>maxstage)maxstage=stages; | ||||
| look->partbooks[j]=_ogg_calloc(stages,sizeof(*look->partbooks[j])); | |||||
| look->partbooks[j]=(codebook**) _ogg_calloc(stages,sizeof(*look->partbooks[j])); | |||||
| for(k=0;k<stages;k++) | for(k=0;k<stages;k++) | ||||
| if(info->secondstages[j]&(1<<k)){ | if(info->secondstages[j]&(1<<k)){ | ||||
| look->partbooks[j][k]=ci->fullbooks+info->booklist[acc++]; | look->partbooks[j][k]=ci->fullbooks+info->booklist[acc++]; | ||||
| @@ -268,11 +259,11 @@ vorbis_look_residue *res0_look(vorbis_dsp_state *vd, | |||||
| look->partvals=rint(pow((float)look->parts,(float)dim)); | look->partvals=rint(pow((float)look->parts,(float)dim)); | ||||
| look->stages=maxstage; | look->stages=maxstage; | ||||
| look->decodemap=_ogg_malloc(look->partvals*sizeof(*look->decodemap)); | |||||
| look->decodemap=(int**)_ogg_malloc(look->partvals*sizeof(*look->decodemap)); | |||||
| for(j=0;j<look->partvals;j++){ | for(j=0;j<look->partvals;j++){ | ||||
| long val=j; | long val=j; | ||||
| long mult=look->partvals/look->parts; | long mult=look->partvals/look->parts; | ||||
| look->decodemap[j]=_ogg_malloc(dim*sizeof(*look->decodemap[j])); | |||||
| look->decodemap[j]=(int*)_ogg_malloc(dim*sizeof(*look->decodemap[j])); | |||||
| for(k=0;k<dim;k++){ | for(k=0;k<dim;k++){ | ||||
| long deco=val/mult; | long deco=val/mult; | ||||
| val-=deco*mult; | val-=deco*mult; | ||||
| @@ -325,13 +316,13 @@ static int local_book_besterror(codebook *book,float *a){ | |||||
| best=-1; | best=-1; | ||||
| for(i=0;i<book->entries;i++){ | for(i=0;i<book->entries;i++){ | ||||
| if(c->lengthlist[i]>0){ | if(c->lengthlist[i]>0){ | ||||
| float this=0.f; | |||||
| float thisx=0.f; | |||||
| for(j=0;j<dim;j++){ | for(j=0;j<dim;j++){ | ||||
| float val=(e[j]-a[j]); | float val=(e[j]-a[j]); | ||||
| this+=val*val; | |||||
| thisx+=val*val; | |||||
| } | } | ||||
| if(best==-1 || this<bestf){ | |||||
| bestf=this; | |||||
| if(best==-1 || thisx<bestf){ | |||||
| bestf=thisx; | |||||
| best=i; | best=i; | ||||
| } | } | ||||
| } | } | ||||
| @@ -379,7 +370,7 @@ static long **_01class(vorbis_block *vb,vorbis_look_residue *vl, | |||||
| int n=info->end-info->begin; | int n=info->end-info->begin; | ||||
| int partvals=n/samples_per_partition; | int partvals=n/samples_per_partition; | ||||
| long **partword=_vorbis_block_alloc(vb,ch*sizeof(*partword)); | |||||
| long **partword=(long**)_vorbis_block_alloc(vb,ch*sizeof(*partword)); | |||||
| float scale=100./samples_per_partition; | float scale=100./samples_per_partition; | ||||
| /* we find the partition type for each partition of each | /* we find the partition type for each partition of each | ||||
| @@ -387,7 +378,7 @@ static long **_01class(vorbis_block *vb,vorbis_look_residue *vl, | |||||
| bit. For now, clarity */ | bit. For now, clarity */ | ||||
| for(i=0;i<ch;i++){ | for(i=0;i<ch;i++){ | ||||
| partword[i]=_vorbis_block_alloc(vb,n/samples_per_partition*sizeof(*partword[i])); | |||||
| partword[i]=(long*)_vorbis_block_alloc(vb,n/samples_per_partition*sizeof(*partword[i])); | |||||
| memset(partword[i],0,n/samples_per_partition*sizeof(*partword[i])); | memset(partword[i],0,n/samples_per_partition*sizeof(*partword[i])); | ||||
| } | } | ||||
| @@ -446,14 +437,14 @@ static long **_2class(vorbis_block *vb,vorbis_look_residue *vl,float **in, | |||||
| int n=info->end-info->begin; | int n=info->end-info->begin; | ||||
| int partvals=n/samples_per_partition; | int partvals=n/samples_per_partition; | ||||
| long **partword=_vorbis_block_alloc(vb,sizeof(*partword)); | |||||
| long **partword=(long**)_vorbis_block_alloc(vb,sizeof(*partword)); | |||||
| #if defined(TRAIN_RES) || defined (TRAIN_RESAUX) | #if defined(TRAIN_RES) || defined (TRAIN_RESAUX) | ||||
| FILE *of; | FILE *of; | ||||
| char buffer[80]; | char buffer[80]; | ||||
| #endif | #endif | ||||
| partword[0]=_vorbis_block_alloc(vb,n*ch/samples_per_partition*sizeof(*partword[0])); | |||||
| partword[0]=(long*)_vorbis_block_alloc(vb,n*ch/samples_per_partition*sizeof(*partword[0])); | |||||
| memset(partword[0],0,n*ch/samples_per_partition*sizeof(*partword[0])); | memset(partword[0],0,n*ch/samples_per_partition*sizeof(*partword[0])); | ||||
| for(i=0,l=info->begin/ch;i<partvals;i++){ | for(i=0,l=info->begin/ch;i<partvals;i++){ | ||||
| @@ -620,10 +611,10 @@ static int _01inverse(vorbis_block *vb,vorbis_look_residue *vl, | |||||
| int partvals=n/samples_per_partition; | int partvals=n/samples_per_partition; | ||||
| int partwords=(partvals+partitions_per_word-1)/partitions_per_word; | int partwords=(partvals+partitions_per_word-1)/partitions_per_word; | ||||
| int ***partword=alloca(ch*sizeof(*partword)); | |||||
| int ***partword=(int***)alloca(ch*sizeof(*partword)); | |||||
| for(j=0;j<ch;j++) | for(j=0;j<ch;j++) | ||||
| partword[j]=_vorbis_block_alloc(vb,partwords*sizeof(*partword[j])); | |||||
| partword[j]=(int**)_vorbis_block_alloc(vb,partwords*sizeof(*partword[j])); | |||||
| for(s=0;s<look->stages;s++){ | for(s=0;s<look->stages;s++){ | ||||
| @@ -796,7 +787,7 @@ int res2_forward(oggpack_buffer *opb, | |||||
| /* don't duplicate the code; use a working vector hack for now and | /* don't duplicate the code; use a working vector hack for now and | ||||
| reshape ourselves into a single channel res1 */ | reshape ourselves into a single channel res1 */ | ||||
| /* ugly; reallocs for each coupling pass :-( */ | /* ugly; reallocs for each coupling pass :-( */ | ||||
| float *work=_vorbis_block_alloc(vb,ch*n*sizeof(*work)); | |||||
| float *work=(float*)_vorbis_block_alloc(vb,ch*n*sizeof(*work)); | |||||
| for(i=0;i<ch;i++){ | for(i=0;i<ch;i++){ | ||||
| float *pcm=in[i]; | float *pcm=in[i]; | ||||
| if(nonzero[i])used++; | if(nonzero[i])used++; | ||||
| @@ -836,7 +827,7 @@ int res2_inverse(vorbis_block *vb,vorbis_look_residue *vl, | |||||
| int partvals=n/samples_per_partition; | int partvals=n/samples_per_partition; | ||||
| int partwords=(partvals+partitions_per_word-1)/partitions_per_word; | int partwords=(partvals+partitions_per_word-1)/partitions_per_word; | ||||
| int **partword=_vorbis_block_alloc(vb,partwords*sizeof(*partword)); | |||||
| int **partword=(int**)_vorbis_block_alloc(vb,partwords*sizeof(*partword)); | |||||
| for(i=0;i<ch;i++)if(nonzero[i])break; | for(i=0;i<ch;i++)if(nonzero[i])break; | ||||
| if(i==ch)return(0); /* no nonzero vectors */ | if(i==ch)return(0); /* no nonzero vectors */ | ||||
| @@ -76,7 +76,7 @@ float _float32_unpack(long val){ | |||||
| ogg_uint32_t *_make_words(long *l,long n,long sparsecount){ | ogg_uint32_t *_make_words(long *l,long n,long sparsecount){ | ||||
| long i,j,count=0; | long i,j,count=0; | ||||
| ogg_uint32_t marker[33]; | ogg_uint32_t marker[33]; | ||||
| ogg_uint32_t *r=_ogg_malloc((sparsecount?sparsecount:n)*sizeof(*r)); | |||||
| ogg_uint32_t *r=(ogg_uint32_t*)_ogg_malloc((sparsecount?sparsecount:n)*sizeof(*r)); | |||||
| memset(marker,0,sizeof(marker)); | memset(marker,0,sizeof(marker)); | ||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| @@ -189,7 +189,7 @@ float *_book_unquantize(const static_codebook *b,int n,int *sparsemap){ | |||||
| int quantvals; | int quantvals; | ||||
| float mindel=_float32_unpack(b->q_min); | float mindel=_float32_unpack(b->q_min); | ||||
| float delta=_float32_unpack(b->q_delta); | float delta=_float32_unpack(b->q_delta); | ||||
| float *r=_ogg_calloc(n*b->dim,sizeof(*r)); | |||||
| float *r=(float*)_ogg_calloc(n*b->dim,sizeof(*r)); | |||||
| /* maptype 1 and 2 both use a quantized value vector, but | /* maptype 1 and 2 both use a quantized value vector, but | ||||
| different sizes */ | different sizes */ | ||||
| @@ -304,14 +304,6 @@ int vorbis_book_init_encode(codebook *c,const static_codebook *s){ | |||||
| return(0); | return(0); | ||||
| } | } | ||||
| static ogg_uint32_t bitreverse(ogg_uint32_t x){ | |||||
| x= ((x>>16)&0x0000ffffUL) | ((x<<16)&0xffff0000UL); | |||||
| x= ((x>> 8)&0x00ff00ffUL) | ((x<< 8)&0xff00ff00UL); | |||||
| x= ((x>> 4)&0x0f0f0f0fUL) | ((x<< 4)&0xf0f0f0f0UL); | |||||
| x= ((x>> 2)&0x33333333UL) | ((x<< 2)&0xccccccccUL); | |||||
| return((x>> 1)&0x55555555UL) | ((x<< 1)&0xaaaaaaaaUL); | |||||
| } | |||||
| static int sort32a(const void *a,const void *b){ | static int sort32a(const void *a,const void *b){ | ||||
| return ( **(ogg_uint32_t **)a>**(ogg_uint32_t **)b)- | return ( **(ogg_uint32_t **)a>**(ogg_uint32_t **)b)- | ||||
| ( **(ogg_uint32_t **)a<**(ogg_uint32_t **)b); | ( **(ogg_uint32_t **)a<**(ogg_uint32_t **)b); | ||||
| @@ -345,7 +337,7 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ | |||||
| { | { | ||||
| /* perform sort */ | /* perform sort */ | ||||
| ogg_uint32_t *codes=_make_words(s->lengthlist,s->entries,c->used_entries); | ogg_uint32_t *codes=_make_words(s->lengthlist,s->entries,c->used_entries); | ||||
| ogg_uint32_t **codep=alloca(sizeof(*codep)*n); | |||||
| ogg_uint32_t **codep=(ogg_uint32_t**)alloca(sizeof(*codep)*n); | |||||
| if(codes==NULL)goto err_out; | if(codes==NULL)goto err_out; | ||||
| @@ -356,8 +348,8 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ | |||||
| qsort(codep,n,sizeof(*codep),sort32a); | qsort(codep,n,sizeof(*codep),sort32a); | ||||
| sortindex=alloca(n*sizeof(*sortindex)); | |||||
| c->codelist=_ogg_malloc(n*sizeof(*c->codelist)); | |||||
| sortindex=(int*)alloca(n*sizeof(*sortindex)); | |||||
| c->codelist=(ogg_uint32_t*)_ogg_malloc(n*sizeof(*c->codelist)); | |||||
| /* the index is a reverse index */ | /* the index is a reverse index */ | ||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| int position=codep[i]-codes; | int position=codep[i]-codes; | ||||
| @@ -370,13 +362,13 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ | |||||
| } | } | ||||
| c->valuelist=_book_unquantize(s,n,sortindex); | c->valuelist=_book_unquantize(s,n,sortindex); | ||||
| c->dec_index=_ogg_malloc(n*sizeof(*c->dec_index)); | |||||
| c->dec_index=(int*)_ogg_malloc(n*sizeof(*c->dec_index)); | |||||
| for(n=0,i=0;i<s->entries;i++) | for(n=0,i=0;i<s->entries;i++) | ||||
| if(s->lengthlist[i]>0) | if(s->lengthlist[i]>0) | ||||
| c->dec_index[sortindex[n++]]=i; | c->dec_index[sortindex[n++]]=i; | ||||
| c->dec_codelengths=_ogg_malloc(n*sizeof(*c->dec_codelengths)); | |||||
| c->dec_codelengths=(char*)_ogg_malloc(n*sizeof(*c->dec_codelengths)); | |||||
| for(n=0,i=0;i<s->entries;i++) | for(n=0,i=0;i<s->entries;i++) | ||||
| if(s->lengthlist[i]>0) | if(s->lengthlist[i]>0) | ||||
| c->dec_codelengths[sortindex[n++]]=s->lengthlist[i]; | c->dec_codelengths[sortindex[n++]]=s->lengthlist[i]; | ||||
| @@ -386,7 +378,7 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ | |||||
| if(c->dec_firsttablen>8)c->dec_firsttablen=8; | if(c->dec_firsttablen>8)c->dec_firsttablen=8; | ||||
| tabn=1<<c->dec_firsttablen; | tabn=1<<c->dec_firsttablen; | ||||
| c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable)); | |||||
| c->dec_firsttable=(ogg_uint32_t*)_ogg_calloc(tabn,sizeof(*c->dec_firsttable)); | |||||
| c->dec_maxlength=0; | c->dec_maxlength=0; | ||||
| for(i=0;i<n;i++){ | for(i=0;i<n;i++){ | ||||
| @@ -558,9 +550,9 @@ int _best(codebook *book, float *a, int step){ | |||||
| float *e=book->valuelist; | float *e=book->valuelist; | ||||
| for(i=0;i<book->entries;i++){ | for(i=0;i<book->entries;i++){ | ||||
| if(c->lengthlist[i]>0){ | if(c->lengthlist[i]>0){ | ||||
| float this=_dist(dim,e,a,step); | |||||
| if(besti==-1 || this<best){ | |||||
| best=this; | |||||
| float thisx=_dist(dim,e,a,step); | |||||
| if(besti==-1 || thisx<best){ | |||||
| best=thisx; | |||||
| besti=i; | besti=i; | ||||
| } | } | ||||
| } | } | ||||
| @@ -1244,8 +1244,8 @@ void drft_backward(drft_lookup *l,float *data){ | |||||
| void drft_init(drft_lookup *l,int n){ | void drft_init(drft_lookup *l,int n){ | ||||
| l->n=n; | l->n=n; | ||||
| l->trigcache=_ogg_calloc(3*n,sizeof(*l->trigcache)); | |||||
| l->splitcache=_ogg_calloc(32,sizeof(*l->splitcache)); | |||||
| l->trigcache=(float*)_ogg_calloc(3*n,sizeof(*l->trigcache)); | |||||
| l->splitcache=(int*)_ogg_calloc(32,sizeof(*l->splitcache)); | |||||
| fdrffti(n, l->trigcache, l->splitcache); | fdrffti(n, l->trigcache, l->splitcache); | ||||
| } | } | ||||
| @@ -28,9 +28,9 @@ | |||||
| int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){ | int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| private_state *b=vd->backend_state; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| oggpack_buffer *opb=&vb->opb; | oggpack_buffer *opb=&vb->opb; | ||||
| int type,mode,i; | int type,mode,i; | ||||
| @@ -69,9 +69,9 @@ int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){ | |||||
| /* alloc pcm passback storage */ | /* alloc pcm passback storage */ | ||||
| vb->pcmend=ci->blocksizes[vb->W]; | vb->pcmend=ci->blocksizes[vb->W]; | ||||
| vb->pcm=_vorbis_block_alloc(vb,sizeof(*vb->pcm)*vi->channels); | |||||
| vb->pcm=(float**)_vorbis_block_alloc(vb,sizeof(*vb->pcm)*vi->channels); | |||||
| for(i=0;i<vi->channels;i++) | for(i=0;i<vi->channels;i++) | ||||
| vb->pcm[i]=_vorbis_block_alloc(vb,vb->pcmend*sizeof(*vb->pcm[i])); | |||||
| vb->pcm[i]=(float*)_vorbis_block_alloc(vb,vb->pcmend*sizeof(*vb->pcm[i])); | |||||
| /* unpack_header enforces range checking */ | /* unpack_header enforces range checking */ | ||||
| type=ci->map_type[ci->mode_param[mode]->mapping]; | type=ci->map_type[ci->mode_param[mode]->mapping]; | ||||
| @@ -84,9 +84,9 @@ int vorbis_synthesis(vorbis_block *vb,ogg_packet *op){ | |||||
| Useful for sequential 'fast forward' */ | Useful for sequential 'fast forward' */ | ||||
| int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op){ | int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op){ | ||||
| vorbis_dsp_state *vd=vb->vd; | vorbis_dsp_state *vd=vb->vd; | ||||
| private_state *b=vd->backend_state; | |||||
| private_state *b=(private_state*)vd->backend_state; | |||||
| vorbis_info *vi=vd->vi; | vorbis_info *vi=vd->vi; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| oggpack_buffer *opb=&vb->opb; | oggpack_buffer *opb=&vb->opb; | ||||
| int mode; | int mode; | ||||
| @@ -128,7 +128,7 @@ int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op){ | |||||
| } | } | ||||
| long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){ | long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| oggpack_buffer opb; | oggpack_buffer opb; | ||||
| int mode; | int mode; | ||||
| @@ -157,7 +157,7 @@ long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){ | |||||
| int vorbis_synthesis_halfrate(vorbis_info *vi,int flag){ | int vorbis_synthesis_halfrate(vorbis_info *vi,int flag){ | ||||
| /* set / clear half-sample-rate mode */ | /* set / clear half-sample-rate mode */ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| /* right now, our MDCT can't handle < 64 sample windows. */ | /* right now, our MDCT can't handle < 64 sample windows. */ | ||||
| if(ci->blocksizes[0]<=64 && flag)return -1; | if(ci->blocksizes[0]<=64 && flag)return -1; | ||||
| @@ -166,7 +166,7 @@ int vorbis_synthesis_halfrate(vorbis_info *vi,int flag){ | |||||
| } | } | ||||
| int vorbis_synthesis_halfrate_p(vorbis_info *vi){ | int vorbis_synthesis_halfrate_p(vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| return ci->halfrate_flag; | return ci->halfrate_flag; | ||||
| } | } | ||||
| @@ -204,8 +204,8 @@ static void vorbis_encode_floor_setup(vorbis_info *vi,double s,int block, | |||||
| vorbis_info_floor1 *in, | vorbis_info_floor1 *in, | ||||
| int *x){ | int *x){ | ||||
| int i,k,is=s; | int i,k,is=s; | ||||
| vorbis_info_floor1 *f=_ogg_calloc(1,sizeof(*f)); | |||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| vorbis_info_floor1 *f=(vorbis_info_floor1*) _ogg_calloc(1,sizeof(*f)); | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| memcpy(f,in+x[is],sizeof(*f)); | memcpy(f,in+x[is],sizeof(*f)); | ||||
| /* fill in the lowpass field, even if it's temporary */ | /* fill in the lowpass field, even if it's temporary */ | ||||
| @@ -244,7 +244,7 @@ static void vorbis_encode_global_psych_setup(vorbis_info *vi,double s, | |||||
| double *x){ | double *x){ | ||||
| int i,is=s; | int i,is=s; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy_global *g=&ci->psy_g_param; | vorbis_info_psy_global *g=&ci->psy_g_param; | ||||
| memcpy(g,in+(int)x[is],sizeof(*g)); | memcpy(g,in+(int)x[is],sizeof(*g)); | ||||
| @@ -272,7 +272,7 @@ static void vorbis_encode_global_stereo(vorbis_info *vi, | |||||
| float s=hi->stereo_point_setting; | float s=hi->stereo_point_setting; | ||||
| int i,is=s; | int i,is=s; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy_global *g=&ci->psy_g_param; | vorbis_info_psy_global *g=&ci->psy_g_param; | ||||
| if(p){ | if(p){ | ||||
| @@ -320,7 +320,7 @@ static void vorbis_encode_psyset_setup(vorbis_info *vi,double s, | |||||
| int *nn_partition, | int *nn_partition, | ||||
| double *nn_thresh, | double *nn_thresh, | ||||
| int block){ | int block){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| int is=s; | int is=s; | ||||
| @@ -328,7 +328,7 @@ static void vorbis_encode_psyset_setup(vorbis_info *vi,double s, | |||||
| if(block>=ci->psys) | if(block>=ci->psys) | ||||
| ci->psys=block+1; | ci->psys=block+1; | ||||
| if(!p){ | if(!p){ | ||||
| p=_ogg_calloc(1,sizeof(*p)); | |||||
| p=(vorbis_info_psy*)_ogg_calloc(1,sizeof(*p)); | |||||
| ci->psy_param[block]=p; | ci->psy_param[block]=p; | ||||
| } | } | ||||
| @@ -352,7 +352,7 @@ static void vorbis_encode_tonemask_setup(vorbis_info *vi,double s,int block, | |||||
| vp_adjblock *in){ | vp_adjblock *in){ | ||||
| int i,is=s; | int i,is=s; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| /* 0 and 2 are only used by bitmanagement, but there's no harm to always | /* 0 and 2 are only used by bitmanagement, but there's no harm to always | ||||
| @@ -375,7 +375,7 @@ static void vorbis_encode_compand_setup(vorbis_info *vi,double s,int block, | |||||
| compandblock *in, double *x){ | compandblock *in, double *x){ | ||||
| int i,is=s; | int i,is=s; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| ds=x[is]*(1.-ds)+x[is+1]*ds; | ds=x[is]*(1.-ds)+x[is+1]*ds; | ||||
| @@ -396,7 +396,7 @@ static void vorbis_encode_peak_setup(vorbis_info *vi,double s,int block, | |||||
| int *suppress){ | int *suppress){ | ||||
| int is=s; | int is=s; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| p->tone_abs_limit=suppress[is]*(1.-ds)+suppress[is+1]*ds; | p->tone_abs_limit=suppress[is]*(1.-ds)+suppress[is+1]*ds; | ||||
| @@ -411,7 +411,7 @@ static void vorbis_encode_noisebias_setup(vorbis_info *vi,double s,int block, | |||||
| double userbias){ | double userbias){ | ||||
| int i,is=s,j; | int i,is=s,j; | ||||
| double ds=s-is; | double ds=s-is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| p->noisemaxsupp=suppress[is]*(1.-ds)+suppress[is+1]*ds; | p->noisemaxsupp=suppress[is]*(1.-ds)+suppress[is+1]*ds; | ||||
| @@ -437,7 +437,7 @@ static void vorbis_encode_noisebias_setup(vorbis_info *vi,double s,int block, | |||||
| } | } | ||||
| static void vorbis_encode_ath_setup(vorbis_info *vi,int block){ | static void vorbis_encode_ath_setup(vorbis_info *vi,int block){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| vorbis_info_psy *p=ci->psy_param[block]; | vorbis_info_psy *p=ci->psy_param[block]; | ||||
| p->ath_adjatt=ci->hi.ath_floating_dB; | p->ath_adjatt=ci->hi.ath_floating_dB; | ||||
| @@ -457,7 +457,7 @@ static int book_dup_or_new(codec_setup_info *ci,static_codebook *book){ | |||||
| static void vorbis_encode_blocksize_setup(vorbis_info *vi,double s, | static void vorbis_encode_blocksize_setup(vorbis_info *vi,double s, | ||||
| int *shortb,int *longb){ | int *shortb,int *longb){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int is=s; | int is=s; | ||||
| int blockshort=shortb[is]; | int blockshort=shortb[is]; | ||||
| @@ -471,11 +471,11 @@ static void vorbis_encode_residue_setup(vorbis_info *vi, | |||||
| int number, int block, | int number, int block, | ||||
| vorbis_residue_template *res){ | vorbis_residue_template *res){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int i,n; | int i,n; | ||||
| vorbis_info_residue0 *r=ci->residue_param[number]= | |||||
| _ogg_malloc(sizeof(*r)); | |||||
| vorbis_info_residue0 *r=(vorbis_info_residue0*)(ci->residue_param[number]= | |||||
| (vorbis_info_residue0*)_ogg_malloc(sizeof(*r))); | |||||
| memcpy(r,res->res,sizeof(*r)); | memcpy(r,res->res,sizeof(*r)); | ||||
| if(ci->residues<=number)ci->residues=number+1; | if(ci->residues<=number)ci->residues=number+1; | ||||
| @@ -543,7 +543,7 @@ static void vorbis_encode_residue_setup(vorbis_info *vi, | |||||
| /* lowpass setup/pointlimit */ | /* lowpass setup/pointlimit */ | ||||
| { | { | ||||
| double freq=ci->hi.lowpass_kHz*1000.; | double freq=ci->hi.lowpass_kHz*1000.; | ||||
| vorbis_info_floor1 *f=ci->floor_param[block]; /* by convention */ | |||||
| vorbis_info_floor1 *f=(vorbis_info_floor1*)ci->floor_param[block]; /* by convention */ | |||||
| double nyq=vi->rate/2.; | double nyq=vi->rate/2.; | ||||
| long blocksize=ci->blocksizes[block]>>1; | long blocksize=ci->blocksizes[block]>>1; | ||||
| @@ -581,7 +581,7 @@ static void vorbis_encode_residue_setup(vorbis_info *vi, | |||||
| static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s, | static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s, | ||||
| vorbis_mapping_template *maps){ | vorbis_mapping_template *maps){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| int i,j,is=s,modes=2; | int i,j,is=s,modes=2; | ||||
| vorbis_info_mapping0 *map=maps[is].map; | vorbis_info_mapping0 *map=maps[is].map; | ||||
| vorbis_info_mode *mode=_mode_template; | vorbis_info_mode *mode=_mode_template; | ||||
| @@ -592,7 +592,7 @@ static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s, | |||||
| for(i=0;i<modes;i++){ | for(i=0;i<modes;i++){ | ||||
| ci->map_param[i]=_ogg_calloc(1,sizeof(*map)); | ci->map_param[i]=_ogg_calloc(1,sizeof(*map)); | ||||
| ci->mode_param[i]=_ogg_calloc(1,sizeof(*mode)); | |||||
| ci->mode_param[i]=(vorbis_info_mode*)_ogg_calloc(1,sizeof(*mode)); | |||||
| memcpy(ci->mode_param[i],mode+i,sizeof(*_mode_template)); | memcpy(ci->mode_param[i],mode+i,sizeof(*_mode_template)); | ||||
| if(i>=ci->modes)ci->modes=i+1; | if(i>=ci->modes)ci->modes=i+1; | ||||
| @@ -608,7 +608,7 @@ static void vorbis_encode_map_n_res_setup(vorbis_info *vi,double s, | |||||
| } | } | ||||
| static double setting_to_approx_bitrate(vorbis_info *vi){ | static double setting_to_approx_bitrate(vorbis_info *vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| ve_setup_data_template *setup=(ve_setup_data_template *)hi->setup; | ve_setup_data_template *setup=(ve_setup_data_template *)hi->setup; | ||||
| int is=hi->base_setting; | int is=hi->base_setting; | ||||
| @@ -626,7 +626,7 @@ static void get_setup_template(vorbis_info *vi, | |||||
| long ch,long srate, | long ch,long srate, | ||||
| double req,int q_or_bitrate){ | double req,int q_or_bitrate){ | ||||
| int i=0,j; | int i=0,j; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| if(q_or_bitrate)req/=ch; | if(q_or_bitrate)req/=ch; | ||||
| @@ -675,7 +675,7 @@ static void get_setup_template(vorbis_info *vi, | |||||
| /* the final setup call */ | /* the final setup call */ | ||||
| int vorbis_encode_setup_init(vorbis_info *vi){ | int vorbis_encode_setup_init(vorbis_info *vi){ | ||||
| int i0=0,singleblock=0; | int i0=0,singleblock=0; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| ve_setup_data_template *setup=NULL; | ve_setup_data_template *setup=NULL; | ||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| @@ -861,9 +861,9 @@ static int vorbis_encode_setup_setting(vorbis_info *vi, | |||||
| long channels, | long channels, | ||||
| long rate){ | long rate){ | ||||
| int ret=0,i,is; | int ret=0,i,is; | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| ve_setup_data_template *setup=hi->setup; | |||||
| ve_setup_data_template *setup=(ve_setup_data_template*) hi->setup; | |||||
| double ds; | double ds; | ||||
| ret=vorbis_encode_toplevel_setup(vi,channels,rate); | ret=vorbis_encode_toplevel_setup(vi,channels,rate); | ||||
| @@ -906,7 +906,7 @@ int vorbis_encode_setup_vbr(vorbis_info *vi, | |||||
| long channels, | long channels, | ||||
| long rate, | long rate, | ||||
| float quality){ | float quality){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*) vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| quality+=.0000001; | quality+=.0000001; | ||||
| @@ -946,7 +946,7 @@ int vorbis_encode_setup_managed(vorbis_info *vi, | |||||
| long nominal_bitrate, | long nominal_bitrate, | ||||
| long min_bitrate){ | long min_bitrate){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| double tnominal=nominal_bitrate; | double tnominal=nominal_bitrate; | ||||
| int ret=0; | int ret=0; | ||||
| @@ -1013,7 +1013,7 @@ int vorbis_encode_init(vorbis_info *vi, | |||||
| int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){ | int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){ | ||||
| if(vi){ | if(vi){ | ||||
| codec_setup_info *ci=vi->codec_setup; | |||||
| codec_setup_info *ci=(codec_setup_info*)vi->codec_setup; | |||||
| highlevel_encode_setup *hi=&ci->hi; | highlevel_encode_setup *hi=&ci->hi; | ||||
| int setp=(number&0xf); /* a read request has a low nibble of 0 */ | int setp=(number&0xf); /* a read request has a low nibble of 0 */ | ||||
| @@ -213,8 +213,8 @@ static int _bisect_forward_serialno(OggVorbis_File *vf, | |||||
| if(searched>=end || ret<0){ | if(searched>=end || ret<0){ | ||||
| vf->links=m+1; | vf->links=m+1; | ||||
| vf->offsets=_ogg_malloc((vf->links+1)*sizeof(*vf->offsets)); | |||||
| vf->serialnos=_ogg_malloc(vf->links*sizeof(*vf->serialnos)); | |||||
| vf->offsets=(ogg_int64_t*)_ogg_malloc((vf->links+1)*sizeof(*vf->offsets)); | |||||
| vf->serialnos=(long*)_ogg_malloc(vf->links*sizeof(*vf->serialnos)); | |||||
| vf->offsets[m+1]=searched; | vf->offsets[m+1]=searched; | ||||
| }else{ | }else{ | ||||
| ret=_bisect_forward_serialno(vf,next,vf->offset, | ret=_bisect_forward_serialno(vf,next,vf->offset, | ||||
| @@ -297,10 +297,10 @@ static void _prefetch_all_headers(OggVorbis_File *vf, ogg_int64_t dataoffset){ | |||||
| int i; | int i; | ||||
| ogg_int64_t ret; | ogg_int64_t ret; | ||||
| vf->vi=_ogg_realloc(vf->vi,vf->links*sizeof(*vf->vi)); | |||||
| vf->vc=_ogg_realloc(vf->vc,vf->links*sizeof(*vf->vc)); | |||||
| vf->dataoffsets=_ogg_malloc(vf->links*sizeof(*vf->dataoffsets)); | |||||
| vf->pcmlengths=_ogg_malloc(vf->links*2*sizeof(*vf->pcmlengths)); | |||||
| vf->vi=(vorbis_info*) _ogg_realloc(vf->vi,vf->links*sizeof(*vf->vi)); | |||||
| vf->vc=(vorbis_comment*) _ogg_realloc(vf->vc,vf->links*sizeof(*vf->vc)); | |||||
| vf->dataoffsets=(ogg_int64_t*) _ogg_malloc(vf->links*sizeof(*vf->dataoffsets)); | |||||
| vf->pcmlengths=(ogg_int64_t*) _ogg_malloc(vf->links*2*sizeof(*vf->pcmlengths)); | |||||
| for(i=0;i<vf->links;i++){ | for(i=0;i<vf->links;i++){ | ||||
| if(i==0){ | if(i==0){ | ||||
| @@ -661,8 +661,8 @@ static int _ov_open1(void *f,OggVorbis_File *vf,char *initial, | |||||
| /* No seeking yet; Set up a 'single' (current) logical bitstream | /* No seeking yet; Set up a 'single' (current) logical bitstream | ||||
| entry for partial open */ | entry for partial open */ | ||||
| vf->links=1; | vf->links=1; | ||||
| vf->vi=_ogg_calloc(vf->links,sizeof(*vf->vi)); | |||||
| vf->vc=_ogg_calloc(vf->links,sizeof(*vf->vc)); | |||||
| vf->vi=(vorbis_info*) _ogg_calloc(vf->links,sizeof(*vf->vi)); | |||||
| vf->vc=(vorbis_comment*) _ogg_calloc(vf->links,sizeof(*vf->vc)); | |||||
| ogg_stream_init(&vf->os,-1); /* fill in the serialno later */ | ogg_stream_init(&vf->os,-1); /* fill in the serialno later */ | ||||
| /* Try to fetch the headers, maintaining all the storage */ | /* Try to fetch the headers, maintaining all the storage */ | ||||
| @@ -1841,14 +1841,14 @@ int ov_crosslap(OggVorbis_File *vf1, OggVorbis_File *vf2){ | |||||
| hs1=ov_halfrate_p(vf1); | hs1=ov_halfrate_p(vf1); | ||||
| hs2=ov_halfrate_p(vf2); | hs2=ov_halfrate_p(vf2); | ||||
| lappcm=alloca(sizeof(*lappcm)*vi1->channels); | |||||
| lappcm=(float**) alloca(sizeof(*lappcm)*vi1->channels); | |||||
| n1=vorbis_info_blocksize(vi1,0)>>(1+hs1); | n1=vorbis_info_blocksize(vi1,0)>>(1+hs1); | ||||
| n2=vorbis_info_blocksize(vi2,0)>>(1+hs2); | n2=vorbis_info_blocksize(vi2,0)>>(1+hs2); | ||||
| w1=vorbis_window(&vf1->vd,0); | w1=vorbis_window(&vf1->vd,0); | ||||
| w2=vorbis_window(&vf2->vd,0); | w2=vorbis_window(&vf2->vd,0); | ||||
| for(i=0;i<vi1->channels;i++) | for(i=0;i<vi1->channels;i++) | ||||
| lappcm[i]=alloca(sizeof(**lappcm)*n1); | |||||
| lappcm[i]=(float*) alloca(sizeof(**lappcm)*n1); | |||||
| _ov_getlap(vf1,vi1,&vf1->vd,lappcm,n1); | _ov_getlap(vf1,vi1,&vf1->vd,lappcm,n1); | ||||
| @@ -1888,9 +1888,9 @@ static int _ov_64_seek_lap(OggVorbis_File *vf,ogg_int64_t pos, | |||||
| from this link gets dumped, this | from this link gets dumped, this | ||||
| window array continues to exist */ | window array continues to exist */ | ||||
| lappcm=alloca(sizeof(*lappcm)*ch1); | |||||
| lappcm=(float**) alloca(sizeof(*lappcm)*ch1); | |||||
| for(i=0;i<ch1;i++) | for(i=0;i<ch1;i++) | ||||
| lappcm[i]=alloca(sizeof(**lappcm)*n1); | |||||
| lappcm[i]=(float*) alloca(sizeof(**lappcm)*n1); | |||||
| _ov_getlap(vf,vi,&vf->vd,lappcm,n1); | _ov_getlap(vf,vi,&vf->vd,lappcm,n1); | ||||
| /* have lapping data; seek and prime the buffer */ | /* have lapping data; seek and prime the buffer */ | ||||
| @@ -1949,9 +1949,9 @@ static int _ov_d_seek_lap(OggVorbis_File *vf,double pos, | |||||
| from this link gets dumped, this | from this link gets dumped, this | ||||
| window array continues to exist */ | window array continues to exist */ | ||||
| lappcm=alloca(sizeof(*lappcm)*ch1); | |||||
| lappcm=(float**) alloca(sizeof(*lappcm)*ch1); | |||||
| for(i=0;i<ch1;i++) | for(i=0;i<ch1;i++) | ||||
| lappcm[i]=alloca(sizeof(**lappcm)*n1); | |||||
| lappcm[i]=(float*) alloca(sizeof(**lappcm)*n1); | |||||
| _ov_getlap(vf,vi,&vf->vd,lappcm,n1); | _ov_getlap(vf,vi,&vf->vd,lappcm,n1); | ||||
| /* have lapping data; seek and prime the buffer */ | /* have lapping data; seek and prime the buffer */ | ||||
| @@ -41,6 +41,16 @@ typedef struct { | |||||
| long body_len; | long body_len; | ||||
| } ogg_page; | } ogg_page; | ||||
| static ogg_uint32_t bitreverse(ogg_uint32_t x){ | |||||
| x= ((x>>16)&0x0000ffffUL) | ((x<<16)&0xffff0000UL); | |||||
| x= ((x>> 8)&0x00ff00ffUL) | ((x<< 8)&0xff00ff00UL); | |||||
| x= ((x>> 4)&0x0f0f0f0fUL) | ((x<< 4)&0xf0f0f0f0UL); | |||||
| x= ((x>> 2)&0x33333333UL) | ((x<< 2)&0xccccccccUL); | |||||
| return((x>> 1)&0x55555555UL) | ((x<< 1)&0xaaaaaaaaUL); | |||||
| } | |||||
| /* ogg_stream_state contains the current encode/decode state of a logical | /* ogg_stream_state contains the current encode/decode state of a logical | ||||
| Ogg bitstream **********************************************************/ | Ogg bitstream **********************************************************/ | ||||
| @@ -1287,4 +1287,6 @@ const FileSearchPath AudioUnitPluginFormat::getDefaultLocationsToSearch() | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| #undef log | |||||
| #endif | #endif | ||||
| @@ -3011,4 +3011,6 @@ const FileSearchPath VSTPluginFormat::getDefaultLocationsToSearch() | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| #undef log | |||||
| #endif | #endif | ||||
| @@ -42,8 +42,8 @@ BEGIN_JUCE_NAMESPACE | |||||
| class InternalMultiTimerCallback : public Timer | class InternalMultiTimerCallback : public Timer | ||||
| { | { | ||||
| public: | public: | ||||
| InternalMultiTimerCallback (const int id_, MultiTimer& owner_) | |||||
| : id (id_), | |||||
| InternalMultiTimerCallback (const int timerId_, MultiTimer& owner_) | |||||
| : timerId (timerId_), | |||||
| owner (owner_) | owner (owner_) | ||||
| { | { | ||||
| } | } | ||||
| @@ -54,10 +54,10 @@ public: | |||||
| void timerCallback() | void timerCallback() | ||||
| { | { | ||||
| owner.timerCallback (id); | |||||
| owner.timerCallback (timerId); | |||||
| } | } | ||||
| const int id; | |||||
| const int timerId; | |||||
| private: | private: | ||||
| MultiTimer& owner; | MultiTimer& owner; | ||||
| @@ -91,7 +91,7 @@ void MultiTimer::startTimer (const int timerId, const int intervalInMilliseconds | |||||
| { | { | ||||
| InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | ||||
| if (t->id == timerId) | |||||
| if (t->timerId == timerId) | |||||
| { | { | ||||
| t->startTimer (intervalInMilliseconds); | t->startTimer (intervalInMilliseconds); | ||||
| return; | return; | ||||
| @@ -111,7 +111,7 @@ void MultiTimer::stopTimer (const int timerId) throw() | |||||
| { | { | ||||
| InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | ||||
| if (t->id == timerId) | |||||
| if (t->timerId == timerId) | |||||
| t->stopTimer(); | t->stopTimer(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -123,7 +123,7 @@ bool MultiTimer::isTimerRunning (const int timerId) const throw() | |||||
| for (int i = timers.size(); --i >= 0;) | for (int i = timers.size(); --i >= 0;) | ||||
| { | { | ||||
| const InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | const InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | ||||
| if (t->id == timerId) | |||||
| if (t->timerId == timerId) | |||||
| return t->isTimerRunning(); | return t->isTimerRunning(); | ||||
| } | } | ||||
| @@ -137,7 +137,7 @@ int MultiTimer::getTimerInterval (const int timerId) const throw() | |||||
| for (int i = timers.size(); --i >= 0;) | for (int i = timers.size(); --i >= 0;) | ||||
| { | { | ||||
| const InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | const InternalMultiTimerCallback* const t = (InternalMultiTimerCallback*) timers.getUnchecked(i); | ||||
| if (t->id == timerId) | |||||
| if (t->timerId == timerId) | |||||
| return t->getTimerInterval(); | return t->getTimerInterval(); | ||||
| } | } | ||||
| @@ -114,7 +114,7 @@ void ComboBox::addItem (const String& newItemText, | |||||
| separatorPending = false; | separatorPending = false; | ||||
| ItemInfo* const item = new ItemInfo(); | ItemInfo* const item = new ItemInfo(); | ||||
| item->id = 0; | |||||
| item->itemId = 0; | |||||
| item->isEnabled = false; | item->isEnabled = false; | ||||
| item->isHeading = false; | item->isHeading = false; | ||||
| items.add (item); | items.add (item); | ||||
| @@ -122,7 +122,7 @@ void ComboBox::addItem (const String& newItemText, | |||||
| ItemInfo* const item = new ItemInfo(); | ItemInfo* const item = new ItemInfo(); | ||||
| item->name = newItemText; | item->name = newItemText; | ||||
| item->id = newItemId; | |||||
| item->itemId = newItemId; | |||||
| item->isEnabled = true; | item->isEnabled = true; | ||||
| item->isHeading = false; | item->isHeading = false; | ||||
| items.add (item); | items.add (item); | ||||
| @@ -146,7 +146,7 @@ void ComboBox::addSectionHeading (const String& headingName) throw() | |||||
| separatorPending = false; | separatorPending = false; | ||||
| ItemInfo* const item = new ItemInfo(); | ItemInfo* const item = new ItemInfo(); | ||||
| item->id = 0; | |||||
| item->itemId = 0; | |||||
| item->isEnabled = false; | item->isEnabled = false; | ||||
| item->isHeading = false; | item->isHeading = false; | ||||
| items.add (item); | items.add (item); | ||||
| @@ -154,7 +154,7 @@ void ComboBox::addSectionHeading (const String& headingName) throw() | |||||
| ItemInfo* const item = new ItemInfo(); | ItemInfo* const item = new ItemInfo(); | ||||
| item->name = headingName; | item->name = headingName; | ||||
| item->id = 0; | |||||
| item->itemId = 0; | |||||
| item->isEnabled = true; | item->isEnabled = true; | ||||
| item->isHeading = true; | item->isHeading = true; | ||||
| items.add (item); | items.add (item); | ||||
| @@ -191,14 +191,14 @@ void ComboBox::clear (const bool dontSendChangeMessage) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| ComboBox::ItemInfo* ComboBox::getItemForId (const int id) const throw() | |||||
| ComboBox::ItemInfo* ComboBox::getItemForId (const int itemId) const throw() | |||||
| { | { | ||||
| jassert (id != 0); | |||||
| jassert (itemId != 0); | |||||
| if (id != 0) | |||||
| if (itemId != 0) | |||||
| { | { | ||||
| for (int i = items.size(); --i >= 0;) | for (int i = items.size(); --i >= 0;) | ||||
| if (items.getUnchecked(i)->id == id) | |||||
| if (items.getUnchecked(i)->itemId == itemId) | |||||
| return items.getUnchecked(i); | return items.getUnchecked(i); | ||||
| } | } | ||||
| @@ -252,7 +252,7 @@ int ComboBox::getItemId (const int index) const throw() | |||||
| { | { | ||||
| ItemInfo* const item = getItemForIndex (index); | ItemInfo* const item = getItemForIndex (index); | ||||
| return (item != 0) ? item->id : 0; | |||||
| return (item != 0) ? item->itemId : 0; | |||||
| } | } | ||||
| @@ -310,7 +310,7 @@ int ComboBox::getSelectedId() const throw() | |||||
| const ItemInfo* const item = getItemForIndex (currentIndex); | const ItemInfo* const item = getItemForIndex (currentIndex); | ||||
| return (item != 0 && getText() == item->name) | return (item != 0 && getText() == item->name) | ||||
| ? item->id | |||||
| ? item->itemId | |||||
| : 0; | : 0; | ||||
| } | } | ||||
| @@ -352,7 +352,7 @@ void ComboBox::setText (const String& newText, | |||||
| if (item->isRealItem() | if (item->isRealItem() | ||||
| && item->name == newText) | && item->name == newText) | ||||
| { | { | ||||
| setSelectedId (item->id, dontSendChangeMessage); | |||||
| setSelectedId (item->itemId, dontSendChangeMessage); | |||||
| return; | return; | ||||
| } | } | ||||
| } | } | ||||
| @@ -555,7 +555,8 @@ void ComboBox::showPopup() | |||||
| else if (item->isHeading) | else if (item->isHeading) | ||||
| menu.addSectionHeader (item->name); | menu.addSectionHeader (item->name); | ||||
| else | else | ||||
| menu.addItem (item->id, item->name, item->isEnabled, item->id == currentId); | |||||
| menu.addItem (item->itemId, item->name, | |||||
| item->isEnabled, item->itemId == currentId); | |||||
| } | } | ||||
| if (items.size() == 0) | if (items.size() == 0) | ||||
| @@ -371,7 +371,7 @@ private: | |||||
| struct ItemInfo | struct ItemInfo | ||||
| { | { | ||||
| String name; | String name; | ||||
| int id; | |||||
| int itemId; | |||||
| bool isEnabled : 1, isHeading : 1; | bool isEnabled : 1, isHeading : 1; | ||||
| bool isSeparator() const throw(); | bool isSeparator() const throw(); | ||||
| @@ -389,7 +389,7 @@ private: | |||||
| void showPopup(); | void showPopup(); | ||||
| ItemInfo* getItemForId (const int id) const throw(); | |||||
| ItemInfo* getItemForId (const int itemId) const throw(); | |||||
| ItemInfo* getItemForIndex (const int index) const throw(); | ItemInfo* getItemForIndex (const int index) const throw(); | ||||
| ComboBox (const ComboBox&); | ComboBox (const ComboBox&); | ||||
| @@ -230,7 +230,7 @@ void TableHeaderComponent::setColumnWidth (const int columnId, const int newWidt | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int TableHeaderComponent::getIndexOfColumnId (const int id, const bool onlyCountVisibleColumns) const throw() | |||||
| int TableHeaderComponent::getIndexOfColumnId (const int columnId, const bool onlyCountVisibleColumns) const throw() | |||||
| { | { | ||||
| int n = 0; | int n = 0; | ||||
| @@ -238,7 +238,7 @@ int TableHeaderComponent::getIndexOfColumnId (const int id, const bool onlyCount | |||||
| { | { | ||||
| if ((! onlyCountVisibleColumns) || columns.getUnchecked(i)->isVisible()) | if ((! onlyCountVisibleColumns) || columns.getUnchecked(i)->isVisible()) | ||||
| { | { | ||||
| if (columns.getUnchecked(i)->id == id) | |||||
| if (columns.getUnchecked(i)->id == columnId) | |||||
| return n; | return n; | ||||
| ++n; | ++n; | ||||
| @@ -474,15 +474,15 @@ void TableHeaderComponent::restoreFromString (const String& storedVersion) | |||||
| { | { | ||||
| forEachXmlChildElement (*storedXml, col) | forEachXmlChildElement (*storedXml, col) | ||||
| { | { | ||||
| const int id = col->getIntAttribute (T("id")); | |||||
| const int tabId = col->getIntAttribute (T("id")); | |||||
| ColumnInfo* const ci = getInfoForId (id); | |||||
| ColumnInfo* const ci = getInfoForId (tabId); | |||||
| if (ci != 0) | if (ci != 0) | ||||
| { | { | ||||
| columns.move (columns.indexOf (ci), index); | columns.move (columns.indexOf (ci), index); | ||||
| ci->width = col->getIntAttribute (T("width")); | ci->width = col->getIntAttribute (T("width")); | ||||
| setColumnVisible (id, col->getBoolAttribute (T("visible"))); | |||||
| setColumnVisible (tabId, col->getBoolAttribute (T("visible"))); | |||||
| } | } | ||||
| ++index; | ++index; | ||||
| @@ -261,7 +261,7 @@ public: | |||||
| If onlyCountVisibleColumns is true, this will return the index amoungst the visible columns; | If onlyCountVisibleColumns is true, this will return the index amoungst the visible columns; | ||||
| otherwise it'll return the index amongst all the columns, including any hidden ones. | otherwise it'll return the index amongst all the columns, including any hidden ones. | ||||
| */ | */ | ||||
| int getIndexOfColumnId (const int id, const bool onlyCountVisibleColumns) const throw(); | |||||
| int getIndexOfColumnId (const int columnId, const bool onlyCountVisibleColumns) const throw(); | |||||
| /** Returns the ID of the column at a given index. | /** Returns the ID of the column at a given index. | ||||
| @@ -418,7 +418,7 @@ private: | |||||
| int columnIdBeingResized, columnIdBeingDragged, initialColumnWidth; | int columnIdBeingResized, columnIdBeingDragged, initialColumnWidth; | ||||
| int columnIdUnderMouse, draggingColumnOffset, draggingColumnOriginalIndex, lastDeliberateWidth; | int columnIdUnderMouse, draggingColumnOffset, draggingColumnOriginalIndex, lastDeliberateWidth; | ||||
| ColumnInfo* getInfoForId (const int id) const throw(); | |||||
| ColumnInfo* getInfoForId (const int columnId) const throw(); | |||||
| int visibleIndexToTotalIndex (const int visibleIndex) const throw(); | int visibleIndexToTotalIndex (const int visibleIndex) const throw(); | ||||
| void sendColumnsChanged(); | void sendColumnsChanged(); | ||||
| void handleAsyncUpdate(); | void handleAsyncUpdate(); | ||||
| @@ -45,7 +45,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "juce_ComboBox.h" | #include "juce_ComboBox.h" | ||||
| #include "../buttons/juce_TextButton.h" | #include "../buttons/juce_TextButton.h" | ||||
| const tchar* const toolbarDragDescriptor = T("_toolbarItem_"); // also in ToolbarItemComponent.cpp | |||||
| const tchar* const Toolbar::toolbarDragDescriptor = T("_toolbarItem_"); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -305,6 +305,9 @@ private: | |||||
| ToolbarItemStyle toolbarStyle; | ToolbarItemStyle toolbarStyle; | ||||
| ComponentAnimator animator; | ComponentAnimator animator; | ||||
| friend class ItemDragAndDropOverlayComponent; | |||||
| static const tchar* const toolbarDragDescriptor; | |||||
| void addItemInternal (ToolbarItemFactory& factory, const int itemId, const int insertIndex); | void addItemInternal (ToolbarItemFactory& factory, const int itemId, const int insertIndex); | ||||
| ToolbarItemComponent* getNextActiveComponent (int index, const int delta) const; | ToolbarItemComponent* getNextActiveComponent (int index, const int delta) const; | ||||
| @@ -40,8 +40,6 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../lookandfeel/juce_LookAndFeel.h" | #include "../lookandfeel/juce_LookAndFeel.h" | ||||
| #include "../layout/juce_StretchableObjectResizer.h" | #include "../layout/juce_StretchableObjectResizer.h" | ||||
| const tchar* const toolbarDragDescriptor = T("_toolbarItem_"); // also in Toolbar.cpp | |||||
| //============================================================================== | //============================================================================== | ||||
| ToolbarItemFactory::ToolbarItemFactory() | ToolbarItemFactory::ToolbarItemFactory() | ||||
| @@ -104,7 +102,7 @@ public: | |||||
| if (dnd != 0) | if (dnd != 0) | ||||
| { | { | ||||
| dnd->startDragging (toolbarDragDescriptor, getParentComponent(), 0, true); | |||||
| dnd->startDragging (Toolbar::toolbarDragDescriptor, getParentComponent(), 0, true); | |||||
| ToolbarItemComponent* const tc = dynamic_cast <ToolbarItemComponent*> (getParentComponent()); | ToolbarItemComponent* const tc = dynamic_cast <ToolbarItemComponent*> (getParentComponent()); | ||||
| @@ -37,10 +37,12 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../../graphics/imaging/juce_ImageCache.h" | #include "../../graphics/imaging/juce_ImageCache.h" | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, | |||||
| Time* creationTime, bool* isReadOnly) throw(); | |||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| void juce_findFileClose (void* handle); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| void juce_findFileClose (void* handle) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -104,8 +104,6 @@ static bool isUnboundedMouseModeOn = false; | |||||
| static bool isCursorVisibleUntilOffscreen; | static bool isCursorVisibleUntilOffscreen; | ||||
| //============================================================================== | //============================================================================== | ||||
| const int juce_windowIsSemiTransparentFlag = (1 << 31); // duplicated in native windowing code | |||||
| #define checkMessageManagerIsLocked jassert (MessageManager::getInstance()->currentThreadHasLockedMessageManager()); | #define checkMessageManagerIsLocked jassert (MessageManager::getInstance()->currentThreadHasLockedMessageManager()); | ||||
| static uint32 nextComponentUID = 0; | static uint32 nextComponentUID = 0; | ||||
| @@ -439,7 +437,7 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo) | |||||
| checkMessageManagerIsLocked | checkMessageManagerIsLocked | ||||
| if (! isOpaque()) | if (! isOpaque()) | ||||
| styleWanted |= juce_windowIsSemiTransparentFlag; | |||||
| styleWanted |= ComponentPeer::windowIsSemiTransparent; | |||||
| int currentStyleFlags = 0; | int currentStyleFlags = 0; | ||||
| @@ -43,7 +43,7 @@ extern void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, | |||||
| //============================================================================== | //============================================================================== | ||||
| static Desktop* instance = 0; | |||||
| static Desktop* juce_desktopInstance = 0; | |||||
| Desktop::Desktop() throw() | Desktop::Desktop() throw() | ||||
| : mouseListeners (2), | : mouseListeners (2), | ||||
| @@ -58,8 +58,8 @@ Desktop::Desktop() throw() | |||||
| Desktop::~Desktop() throw() | Desktop::~Desktop() throw() | ||||
| { | { | ||||
| jassert (instance == this); | |||||
| instance = 0; | |||||
| jassert (juce_desktopInstance == this); | |||||
| juce_desktopInstance = 0; | |||||
| // doh! If you don't delete all your windows before exiting, you're going to | // doh! If you don't delete all your windows before exiting, you're going to | ||||
| // be leaking memory! | // be leaking memory! | ||||
| @@ -68,10 +68,10 @@ Desktop::~Desktop() throw() | |||||
| Desktop& JUCE_CALLTYPE Desktop::getInstance() throw() | Desktop& JUCE_CALLTYPE Desktop::getInstance() throw() | ||||
| { | { | ||||
| if (instance == 0) | |||||
| instance = new Desktop(); | |||||
| if (juce_desktopInstance == 0) | |||||
| juce_desktopInstance = new Desktop(); | |||||
| return *instance; | |||||
| return *juce_desktopInstance; | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -438,8 +438,8 @@ QuickTimeMovieComponent::~QuickTimeMovieComponent() | |||||
| activeQTWindows.removeValue ((void*) this); | activeQTWindows.removeValue ((void*) this); | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| delete id; | |||||
| QTMovieCompInternal* const i = (QTMovieCompInternal*) internal; | |||||
| delete i; | |||||
| if (activeQTWindows.size() == 0 && isQTAvailable) | if (activeQTWindows.size() == 0 && isQTAvailable) | ||||
| { | { | ||||
| @@ -480,15 +480,15 @@ bool QuickTimeMovieComponent::loadMovie (InputStream* movieStream, | |||||
| controllerVisible = controllerVisible_; | controllerVisible = controllerVisible_; | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| GrafPtr savedPort; | GrafPtr savedPort; | ||||
| GetPort (&savedPort); | GetPort (&savedPort); | ||||
| bool result = false; | bool result = false; | ||||
| if (juce_OpenQuickTimeMovieFromStream (movieStream, id->movie, id->dataHandle)) | |||||
| if (juce_OpenQuickTimeMovieFromStream (movieStream, qmci->movie, qmci->dataHandle)) | |||||
| { | { | ||||
| id->controller = 0; | |||||
| qmci->controller = 0; | |||||
| void* window = getWindowHandle(); | void* window = getWindowHandle(); | ||||
| @@ -497,8 +497,8 @@ bool QuickTimeMovieComponent::loadMovie (InputStream* movieStream, | |||||
| assignMovieToWindow(); | assignMovieToWindow(); | ||||
| SetMovieActive (id->movie, true); | |||||
| SetMovieProgressProc (id->movie, (MovieProgressUPP) -1, 0); | |||||
| SetMovieActive (qmci->movie, true); | |||||
| SetMovieProgressProc (qmci->movie, (MovieProgressUPP) -1, 0); | |||||
| startTimer (1000 / 50); // this needs to be quite a high frequency for smooth playback | startTimer (1000 / 50); // this needs to be quite a high frequency for smooth playback | ||||
| result = true; | result = true; | ||||
| @@ -515,21 +515,21 @@ void QuickTimeMovieComponent::closeMovie() | |||||
| { | { | ||||
| stop(); | stop(); | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0) | |||||
| if (qmci->controller != 0) | |||||
| { | { | ||||
| DisposeMovieController (id->controller); | |||||
| id->controller = 0; | |||||
| DisposeMovieController (qmci->controller); | |||||
| qmci->controller = 0; | |||||
| } | } | ||||
| if (id->movie != 0) | |||||
| if (qmci->movie != 0) | |||||
| { | { | ||||
| DisposeMovie (id->movie); | |||||
| id->movie = 0; | |||||
| DisposeMovie (qmci->movie); | |||||
| qmci->movie = 0; | |||||
| } | } | ||||
| id->clearHandle(); | |||||
| qmci->clearHandle(); | |||||
| stopTimer(); | stopTimer(); | ||||
| movieFile = File::nonexistent; | movieFile = File::nonexistent; | ||||
| @@ -537,8 +537,8 @@ void QuickTimeMovieComponent::closeMovie() | |||||
| bool QuickTimeMovieComponent::isMovieOpen() const | bool QuickTimeMovieComponent::isMovieOpen() const | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| return id->movie != 0 && id->controller != 0; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| return qmci->movie != 0 && qmci->controller != 0; | |||||
| } | } | ||||
| const File QuickTimeMovieComponent::getCurrentMovieFile() const | const File QuickTimeMovieComponent::getCurrentMovieFile() const | ||||
| @@ -561,11 +561,11 @@ void QuickTimeMovieComponent::assignMovieToWindow() | |||||
| reentrant = true; | reentrant = true; | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0) | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (qmci->controller != 0) | |||||
| { | { | ||||
| DisposeMovieController (id->controller); | |||||
| id->controller = 0; | |||||
| DisposeMovieController (qmci->controller); | |||||
| qmci->controller = 0; | |||||
| } | } | ||||
| controllerAssignedToWindow = false; | controllerAssignedToWindow = false; | ||||
| @@ -578,7 +578,7 @@ void QuickTimeMovieComponent::assignMovieToWindow() | |||||
| GrafPtr savedPort; | GrafPtr savedPort; | ||||
| GetPort (&savedPort); | GetPort (&savedPort); | ||||
| SetMovieGWorld (id->movie, (CGrafPtr) port, 0); | |||||
| SetMovieGWorld (qmci->movie, (CGrafPtr) port, 0); | |||||
| MacSetPort (port); | MacSetPort (port); | ||||
| Rect r; | Rect r; | ||||
| @@ -586,25 +586,25 @@ void QuickTimeMovieComponent::assignMovieToWindow() | |||||
| r.left = 0; | r.left = 0; | ||||
| r.right = (short) jmax (1, getWidth()); | r.right = (short) jmax (1, getWidth()); | ||||
| r.bottom = (short) jmax (1, getHeight()); | r.bottom = (short) jmax (1, getHeight()); | ||||
| SetMovieBox (id->movie, &r); | |||||
| SetMovieBox (qmci->movie, &r); | |||||
| // create the movie controller | // create the movie controller | ||||
| id->controller = NewMovieController (id->movie, &r, | |||||
| controllerVisible ? mcTopLeftMovie | |||||
| : mcNotVisible); | |||||
| qmci->controller = NewMovieController (qmci->movie, &r, | |||||
| controllerVisible ? mcTopLeftMovie | |||||
| : mcNotVisible); | |||||
| if (id->controller != 0) | |||||
| if (qmci->controller != 0) | |||||
| { | { | ||||
| MCEnableEditing (id->controller, true); | |||||
| MCEnableEditing (qmci->controller, true); | |||||
| MCDoAction (id->controller, mcActionSetUseBadge, (void*) false); | |||||
| MCDoAction (id->controller, mcActionSetLoopIsPalindrome, (void*) false); | |||||
| MCDoAction (qmci->controller, mcActionSetUseBadge, (void*) false); | |||||
| MCDoAction (qmci->controller, mcActionSetLoopIsPalindrome, (void*) false); | |||||
| setLooping (looping); | setLooping (looping); | ||||
| MCDoAction (id->controller, mcActionSetFlags, | |||||
| MCDoAction (qmci->controller, mcActionSetFlags, | |||||
| (void*) (pointer_sized_int) (mcFlagSuppressMovieFrame | (controllerVisible ? 0 : (mcFlagSuppressStepButtons | mcFlagSuppressSpeakerButton)))); | (void*) (pointer_sized_int) (mcFlagSuppressMovieFrame | (controllerVisible ? 0 : (mcFlagSuppressStepButtons | mcFlagSuppressSpeakerButton)))); | ||||
| MCSetControllerBoundsRect (id->controller, &r); | |||||
| MCSetControllerBoundsRect (qmci->controller, &r); | |||||
| controllerAssignedToWindow = true; | controllerAssignedToWindow = true; | ||||
| @@ -615,7 +615,7 @@ void QuickTimeMovieComponent::assignMovieToWindow() | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| SetMovieGWorld (id->movie, 0, 0); | |||||
| SetMovieGWorld (qmci->movie, 0, 0); | |||||
| } | } | ||||
| reentrant = false; | reentrant = false; | ||||
| @@ -623,41 +623,41 @@ void QuickTimeMovieComponent::assignMovieToWindow() | |||||
| void QuickTimeMovieComponent::play() | void QuickTimeMovieComponent::play() | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| StartMovie (id->movie); | |||||
| if (qmci->movie != 0) | |||||
| StartMovie (qmci->movie); | |||||
| } | } | ||||
| void QuickTimeMovieComponent::stop() | void QuickTimeMovieComponent::stop() | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| StopMovie (id->movie); | |||||
| if (qmci->movie != 0) | |||||
| StopMovie (qmci->movie); | |||||
| } | } | ||||
| bool QuickTimeMovieComponent::isPlaying() const | bool QuickTimeMovieComponent::isPlaying() const | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| return id->movie != 0 && GetMovieRate (id->movie) != 0; | |||||
| return qmci->movie != 0 && GetMovieRate (qmci->movie) != 0; | |||||
| } | } | ||||
| void QuickTimeMovieComponent::setPosition (const double seconds) | void QuickTimeMovieComponent::setPosition (const double seconds) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0) | |||||
| if (qmci->controller != 0) | |||||
| { | { | ||||
| TimeRecord time; | TimeRecord time; | ||||
| time.base = GetMovieTimeBase (id->movie); | |||||
| time.base = GetMovieTimeBase (qmci->movie); | |||||
| time.scale = 100000; | time.scale = 100000; | ||||
| const uint64 t = (uint64) (100000.0 * seconds); | const uint64 t = (uint64) (100000.0 * seconds); | ||||
| time.value.lo = (UInt32) (t & 0xffffffff); | time.value.lo = (UInt32) (t & 0xffffffff); | ||||
| time.value.hi = (UInt32) (t >> 32); | time.value.hi = (UInt32) (t >> 32); | ||||
| SetMovieTime (id->movie, &time); | |||||
| SetMovieTime (qmci->movie, &time); | |||||
| timerCallback(); // to call MCIdle | timerCallback(); // to call MCIdle | ||||
| } | } | ||||
| else | else | ||||
| @@ -668,12 +668,12 @@ void QuickTimeMovieComponent::setPosition (const double seconds) | |||||
| double QuickTimeMovieComponent::getPosition() const | double QuickTimeMovieComponent::getPosition() const | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| if (qmci->movie != 0) | |||||
| { | { | ||||
| TimeRecord time; | TimeRecord time; | ||||
| GetMovieTime (id->movie, &time); | |||||
| GetMovieTime (qmci->movie, &time); | |||||
| return ((int64) (((uint64) time.value.hi << 32) | (uint64) time.value.lo)) | return ((int64) (((uint64) time.value.hi << 32) | (uint64) time.value.lo)) | ||||
| / (double) time.scale; | / (double) time.scale; | ||||
| @@ -684,29 +684,29 @@ double QuickTimeMovieComponent::getPosition() const | |||||
| void QuickTimeMovieComponent::setSpeed (const float newSpeed) | void QuickTimeMovieComponent::setSpeed (const float newSpeed) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| SetMovieRate (id->movie, (Fixed) (newSpeed * (Fixed) 0x00010000L)); | |||||
| if (qmci->movie != 0) | |||||
| SetMovieRate (qmci->movie, (Fixed) (newSpeed * (Fixed) 0x00010000L)); | |||||
| } | } | ||||
| double QuickTimeMovieComponent::getMovieDuration() const | double QuickTimeMovieComponent::getMovieDuration() const | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| return GetMovieDuration (id->movie) / (double) GetMovieTimeScale (id->movie); | |||||
| if (qmci->movie != 0) | |||||
| return GetMovieDuration (qmci->movie) / (double) GetMovieTimeScale (qmci->movie); | |||||
| return 0.0; | return 0.0; | ||||
| } | } | ||||
| void QuickTimeMovieComponent::setLooping (const bool shouldLoop) | void QuickTimeMovieComponent::setLooping (const bool shouldLoop) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| looping = shouldLoop; | looping = shouldLoop; | ||||
| if (id->controller != 0) | |||||
| MCDoAction (id->controller, mcActionSetLooping, (void*) shouldLoop); | |||||
| if (qmci->controller != 0) | |||||
| MCDoAction (qmci->controller, mcActionSetLooping, (void*) shouldLoop); | |||||
| } | } | ||||
| bool QuickTimeMovieComponent::isLooping() const | bool QuickTimeMovieComponent::isLooping() const | ||||
| @@ -716,18 +716,18 @@ bool QuickTimeMovieComponent::isLooping() const | |||||
| void QuickTimeMovieComponent::setMovieVolume (const float newVolume) | void QuickTimeMovieComponent::setMovieVolume (const float newVolume) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| SetMovieVolume (id->movie, jlimit ((short) 0, (short) 0x100, (short) (newVolume * 0x0100))); | |||||
| if (qmci->movie != 0) | |||||
| SetMovieVolume (qmci->movie, jlimit ((short) 0, (short) 0x100, (short) (newVolume * 0x0100))); | |||||
| } | } | ||||
| float QuickTimeMovieComponent::getMovieVolume() const | float QuickTimeMovieComponent::getMovieVolume() const | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| return jmax (0.0f, GetMovieVolume (id->movie) / (float) 0x0100); | |||||
| if (qmci->movie != 0) | |||||
| return jmax (0.0f, GetMovieVolume (qmci->movie) / (float) 0x0100); | |||||
| return 0.0f; | return 0.0f; | ||||
| } | } | ||||
| @@ -737,12 +737,12 @@ void QuickTimeMovieComponent::getMovieNormalSize (int& width, int& height) const | |||||
| width = 0; | width = 0; | ||||
| height = 0; | height = 0; | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie != 0) | |||||
| if (qmci->movie != 0) | |||||
| { | { | ||||
| Rect r; | Rect r; | ||||
| GetMovieNaturalBoundsRect (id->movie, &r); | |||||
| GetMovieNaturalBoundsRect (qmci->movie, &r); | |||||
| width = r.right - r.left; | width = r.right - r.left; | ||||
| height = r.bottom - r.top; | height = r.bottom - r.top; | ||||
| } | } | ||||
| @@ -750,9 +750,9 @@ void QuickTimeMovieComponent::getMovieNormalSize (int& width, int& height) const | |||||
| void QuickTimeMovieComponent::paint (Graphics& g) | void QuickTimeMovieComponent::paint (Graphics& g) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->movie == 0 || id->controller == 0) | |||||
| if (qmci->movie == 0 || qmci->controller == 0) | |||||
| { | { | ||||
| g.fillAll (Colours::black); | g.fillAll (Colours::black); | ||||
| return; | return; | ||||
| @@ -762,7 +762,7 @@ void QuickTimeMovieComponent::paint (Graphics& g) | |||||
| GetPort (&savedPort); | GetPort (&savedPort); | ||||
| MacSetPort (getPortForWindow (getWindowHandle())); | MacSetPort (getPortForWindow (getWindowHandle())); | ||||
| MCDraw (id->controller, (WindowRef) getWindowHandle()); | |||||
| MCDraw (qmci->controller, (WindowRef) getWindowHandle()); | |||||
| MacSetPort (savedPort); | MacSetPort (savedPort); | ||||
| @@ -793,9 +793,9 @@ void QuickTimeMovieComponent::moved() | |||||
| void QuickTimeMovieComponent::resized() | void QuickTimeMovieComponent::resized() | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0 && isShowing()) | |||||
| if (qmci->controller != 0 && isShowing()) | |||||
| { | { | ||||
| checkWindowAssociation(); | checkWindowAssociation(); | ||||
| @@ -806,7 +806,7 @@ void QuickTimeMovieComponent::resized() | |||||
| GrafPtr savedPort; | GrafPtr savedPort; | ||||
| GetPort (&savedPort); | GetPort (&savedPort); | ||||
| SetMovieGWorld (id->movie, (CGrafPtr) port, 0); | |||||
| SetMovieGWorld (qmci->movie, (CGrafPtr) port, 0); | |||||
| MacSetPort (port); | MacSetPort (port); | ||||
| lastPositionApplied = getMoviePos (this); | lastPositionApplied = getMoviePos (this); | ||||
| @@ -817,10 +817,10 @@ void QuickTimeMovieComponent::resized() | |||||
| r.right = (short) lastPositionApplied.getRight(); | r.right = (short) lastPositionApplied.getRight(); | ||||
| r.bottom = (short) lastPositionApplied.getBottom(); | r.bottom = (short) lastPositionApplied.getBottom(); | ||||
| if (MCGetVisible (id->controller)) | |||||
| MCSetControllerBoundsRect (id->controller, &r); | |||||
| if (MCGetVisible (qmci->controller)) | |||||
| MCSetControllerBoundsRect (qmci->controller, &r); | |||||
| else | else | ||||
| SetMovieBox (id->movie, &r); | |||||
| SetMovieBox (qmci->movie, &r); | |||||
| if (! isPlaying()) | if (! isPlaying()) | ||||
| timerCallback(); | timerCallback(); | ||||
| @@ -840,14 +840,14 @@ void QuickTimeMovieComponent::visibilityChanged() | |||||
| void QuickTimeMovieComponent::timerCallback() | void QuickTimeMovieComponent::timerCallback() | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0) | |||||
| if (qmci->controller != 0) | |||||
| { | { | ||||
| if (isTimerRunning()) | if (isTimerRunning()) | ||||
| startTimer (getTimerInterval()); | startTimer (getTimerInterval()); | ||||
| MCIdle (id->controller); | |||||
| MCIdle (qmci->controller); | |||||
| if (lastPositionApplied != getMoviePos (this)) | if (lastPositionApplied != getMoviePos (this)) | ||||
| resized(); | resized(); | ||||
| @@ -873,9 +873,9 @@ void QuickTimeMovieComponent::parentHierarchyChanged() | |||||
| void QuickTimeMovieComponent::handleMCEvent (void* ev) | void QuickTimeMovieComponent::handleMCEvent (void* ev) | ||||
| { | { | ||||
| QTMovieCompInternal* const id = (QTMovieCompInternal*) internal; | |||||
| QTMovieCompInternal* const qmci = (QTMovieCompInternal*) internal; | |||||
| if (id->controller != 0 && isShowing()) | |||||
| if (qmci->controller != 0 && isShowing()) | |||||
| { | { | ||||
| MacClickEventData* data = (MacClickEventData*) ev; | MacClickEventData* data = (MacClickEventData*) ev; | ||||
| @@ -883,14 +883,14 @@ void QuickTimeMovieComponent::handleMCEvent (void* ev) | |||||
| data->where.v -= getTopLevelComponent()->getScreenY(); | data->where.v -= getTopLevelComponent()->getScreenY(); | ||||
| Boolean b = false; | Boolean b = false; | ||||
| MCPtInController (id->controller, data->where, &b); | |||||
| MCPtInController (qmci->controller, data->where, &b); | |||||
| if (b) | if (b) | ||||
| { | { | ||||
| const int oldTimeBeforeWaitCursor = MessageManager::getInstance()->getTimeBeforeShowingWaitCursor(); | const int oldTimeBeforeWaitCursor = MessageManager::getInstance()->getTimeBeforeShowingWaitCursor(); | ||||
| MessageManager::getInstance()->setTimeBeforeShowingWaitCursor (0); | MessageManager::getInstance()->setTimeBeforeShowingWaitCursor (0); | ||||
| MCClick (id->controller, | |||||
| MCClick (qmci->controller, | |||||
| (WindowRef) getWindowHandle(), | (WindowRef) getWindowHandle(), | ||||
| data->where, | data->where, | ||||
| data->when, | data->when, | ||||
| @@ -78,9 +78,11 @@ public: | |||||
| close button on it. */ | close button on it. */ | ||||
| windowHasDropShadow = (1 << 8), /**< Indicates that the window should have a drop-shadow (this may | windowHasDropShadow = (1 << 8), /**< Indicates that the window should have a drop-shadow (this may | ||||
| not be possible on all platforms). */ | not be possible on all platforms). */ | ||||
| windowRepaintedExplictly = (1 << 9) /**< Not intended for public use - this tells a window not to | |||||
| windowRepaintedExplictly = (1 << 9), /**< Not intended for public use - this tells a window not to | |||||
| do its own repainting, but only to repaint when the | do its own repainting, but only to repaint when the | ||||
| performAnyPendingRepaintsNow() method is called. */ | performAnyPendingRepaintsNow() method is called. */ | ||||
| windowIsSemiTransparent = (1 << 31) /**< Not intended for public use - makes a window transparent. */ | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -266,8 +266,6 @@ void TopLevelWindow::recreateDesktopWindow() | |||||
| } | } | ||||
| } | } | ||||
| const int juce_windowIsSemiTransparentFlag = (1 << 31); // duplicated in native windowing code | |||||
| void TopLevelWindow::addToDesktop (int windowStyleFlags, void* nativeWindowToAttachTo) | void TopLevelWindow::addToDesktop (int windowStyleFlags, void* nativeWindowToAttachTo) | ||||
| { | { | ||||
| /* It's not recommended to change the desktop window flags directly for a TopLevelWindow, | /* It's not recommended to change the desktop window flags directly for a TopLevelWindow, | ||||
| @@ -279,8 +277,8 @@ void TopLevelWindow::addToDesktop (int windowStyleFlags, void* nativeWindowToAtt | |||||
| method, then add or remove whatever flags are necessary from this value before returning it. | method, then add or remove whatever flags are necessary from this value before returning it. | ||||
| */ | */ | ||||
| jassert ((windowStyleFlags & ~juce_windowIsSemiTransparentFlag) | |||||
| == (getDesktopWindowStyleFlags() & ~juce_windowIsSemiTransparentFlag)); | |||||
| jassert ((windowStyleFlags & ~ComponentPeer::windowIsSemiTransparent) | |||||
| == (getDesktopWindowStyleFlags() & ~ComponentPeer::windowIsSemiTransparent)); | |||||
| Component::addToDesktop (windowStyleFlags, nativeWindowToAttachTo); | Component::addToDesktop (windowStyleFlags, nativeWindowToAttachTo); | ||||
| @@ -46,6 +46,7 @@ static const Graphics::ResamplingQuality defaultQuality = Graphics::mediumResamp | |||||
| #define MINIMUM_COORD -0x3fffffff | #define MINIMUM_COORD -0x3fffffff | ||||
| #define MAXIMUM_COORD 0x3fffffff | #define MAXIMUM_COORD 0x3fffffff | ||||
| #undef ASSERT_COORDS_ARE_SENSIBLE_NUMBERS | |||||
| #define ASSERT_COORDS_ARE_SENSIBLE_NUMBERS(x, y, w, h) \ | #define ASSERT_COORDS_ARE_SENSIBLE_NUMBERS(x, y, w, h) \ | ||||
| jassert ((int) x >= MINIMUM_COORD \ | jassert ((int) x >= MINIMUM_COORD \ | ||||
| && (int) x <= MAXIMUM_COORD \ | && (int) x <= MAXIMUM_COORD \ | ||||
| @@ -52,6 +52,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| #define MINIMUM_COORD -0x3fffffff | #define MINIMUM_COORD -0x3fffffff | ||||
| #define MAXIMUM_COORD 0x3fffffff | #define MAXIMUM_COORD 0x3fffffff | ||||
| #undef ASSERT_COORDS_ARE_SENSIBLE_NUMBERS | |||||
| #define ASSERT_COORDS_ARE_SENSIBLE_NUMBERS(x, y, w, h) \ | #define ASSERT_COORDS_ARE_SENSIBLE_NUMBERS(x, y, w, h) \ | ||||
| jassert ((int) x >= MINIMUM_COORD \ | jassert ((int) x >= MINIMUM_COORD \ | ||||
| && (int) x <= MAXIMUM_COORD \ | && (int) x <= MAXIMUM_COORD \ | ||||
| @@ -43,11 +43,11 @@ BEGIN_JUCE_NAMESPACE | |||||
| jassert (x == x && y == y); | jassert (x == x && y == y); | ||||
| //============================================================================== | //============================================================================== | ||||
| static const float lineMarker = 100001.0f; | |||||
| static const float moveMarker = 100002.0f; | |||||
| static const float quadMarker = 100003.0f; | |||||
| static const float cubicMarker = 100004.0f; | |||||
| static const float closeSubPathMarker = 100005.0f; | |||||
| const float Path::lineMarker = 100001.0f; | |||||
| const float Path::moveMarker = 100002.0f; | |||||
| const float Path::quadMarker = 100003.0f; | |||||
| const float Path::cubicMarker = 100004.0f; | |||||
| const float Path::closeSubPathMarker = 100005.0f; | |||||
| static const int defaultGranularity = 32; | static const int defaultGranularity = 32; | ||||
| @@ -619,6 +619,12 @@ private: | |||||
| int numElements; | int numElements; | ||||
| float pathXMin, pathXMax, pathYMin, pathYMax; | float pathXMin, pathXMax, pathYMin, pathYMax; | ||||
| bool useNonZeroWinding; | bool useNonZeroWinding; | ||||
| static const float lineMarker; | |||||
| static const float moveMarker; | |||||
| static const float quadMarker; | |||||
| static const float cubicMarker; | |||||
| static const float closeSubPathMarker; | |||||
| }; | }; | ||||
| #endif // __JUCE_PATH_JUCEHEADER__ | #endif // __JUCE_PATH_JUCEHEADER__ | ||||
| @@ -40,14 +40,6 @@ BEGIN_JUCE_NAMESPACE | |||||
| #pragma optimize ("t", on) | #pragma optimize ("t", on) | ||||
| #endif | #endif | ||||
| //============================================================================== | |||||
| static const float lineMarker = 100001.0f; | |||||
| static const float moveMarker = 100002.0f; | |||||
| static const float quadMarker = 100003.0f; | |||||
| static const float cubicMarker = 100004.0f; | |||||
| static const float closePathMarker = 100005.0f; | |||||
| //============================================================================== | //============================================================================== | ||||
| PathFlatteningIterator::PathFlatteningIterator (const Path& path_, | PathFlatteningIterator::PathFlatteningIterator (const Path& path_, | ||||
| const AffineTransform& transform_, | const AffineTransform& transform_, | ||||
| @@ -98,7 +90,7 @@ bool PathFlatteningIterator::next() throw() | |||||
| { | { | ||||
| type = points [index++]; | type = points [index++]; | ||||
| if (type != closePathMarker) | |||||
| if (type != Path::closeSubPathMarker) | |||||
| { | { | ||||
| x2 = points [index++]; | x2 = points [index++]; | ||||
| y2 = points [index++]; | y2 = points [index++]; | ||||
| @@ -106,7 +98,7 @@ bool PathFlatteningIterator::next() throw() | |||||
| if (! isIdentityTransform) | if (! isIdentityTransform) | ||||
| transform.transformPoint (x2, y2); | transform.transformPoint (x2, y2); | ||||
| if (type == quadMarker) | |||||
| if (type == Path::quadMarker) | |||||
| { | { | ||||
| x3 = points [index++]; | x3 = points [index++]; | ||||
| y3 = points [index++]; | y3 = points [index++]; | ||||
| @@ -114,7 +106,7 @@ bool PathFlatteningIterator::next() throw() | |||||
| if (! isIdentityTransform) | if (! isIdentityTransform) | ||||
| transform.transformPoint (x3, y3); | transform.transformPoint (x3, y3); | ||||
| } | } | ||||
| else if (type == cubicMarker) | |||||
| else if (type == Path::cubicMarker) | |||||
| { | { | ||||
| x3 = points [index++]; | x3 = points [index++]; | ||||
| y3 = points [index++]; | y3 = points [index++]; | ||||
| @@ -134,17 +126,17 @@ bool PathFlatteningIterator::next() throw() | |||||
| { | { | ||||
| type = *--stackPos; | type = *--stackPos; | ||||
| if (type != closePathMarker) | |||||
| if (type != Path::closeSubPathMarker) | |||||
| { | { | ||||
| x2 = *--stackPos; | x2 = *--stackPos; | ||||
| y2 = *--stackPos; | y2 = *--stackPos; | ||||
| if (type == quadMarker) | |||||
| if (type == Path::quadMarker) | |||||
| { | { | ||||
| x3 = *--stackPos; | x3 = *--stackPos; | ||||
| y3 = *--stackPos; | y3 = *--stackPos; | ||||
| } | } | ||||
| else if (type == cubicMarker) | |||||
| else if (type == Path::cubicMarker) | |||||
| { | { | ||||
| x3 = *--stackPos; | x3 = *--stackPos; | ||||
| y3 = *--stackPos; | y3 = *--stackPos; | ||||
| @@ -154,19 +146,19 @@ bool PathFlatteningIterator::next() throw() | |||||
| } | } | ||||
| } | } | ||||
| if (type == lineMarker) | |||||
| if (type == Path::lineMarker) | |||||
| { | { | ||||
| ++subPathIndex; | ++subPathIndex; | ||||
| closesSubPath = (stackPos == stackBase) | closesSubPath = (stackPos == stackBase) | ||||
| && (index < path.numElements) | && (index < path.numElements) | ||||
| && (points [index] == closePathMarker) | |||||
| && (points [index] == Path::closeSubPathMarker) | |||||
| && x2 == subPathCloseX | && x2 == subPathCloseX | ||||
| && y2 == subPathCloseY; | && y2 == subPathCloseY; | ||||
| return true; | return true; | ||||
| } | } | ||||
| else if (type == quadMarker) | |||||
| else if (type == Path::quadMarker) | |||||
| { | { | ||||
| const int offset = (int) (stackPos - stackBase); | const int offset = (int) (stackPos - stackBase); | ||||
| @@ -195,28 +187,28 @@ bool PathFlatteningIterator::next() throw() | |||||
| *stackPos++ = x3; | *stackPos++ = x3; | ||||
| *stackPos++ = m2y; | *stackPos++ = m2y; | ||||
| *stackPos++ = m2x; | *stackPos++ = m2x; | ||||
| *stackPos++ = quadMarker; | |||||
| *stackPos++ = Path::quadMarker; | |||||
| *stackPos++ = m3y; | *stackPos++ = m3y; | ||||
| *stackPos++ = m3x; | *stackPos++ = m3x; | ||||
| *stackPos++ = m1y; | *stackPos++ = m1y; | ||||
| *stackPos++ = m1x; | *stackPos++ = m1x; | ||||
| *stackPos++ = quadMarker; | |||||
| *stackPos++ = Path::quadMarker; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| *stackPos++ = y3; | *stackPos++ = y3; | ||||
| *stackPos++ = x3; | *stackPos++ = x3; | ||||
| *stackPos++ = lineMarker; | |||||
| *stackPos++ = Path::lineMarker; | |||||
| *stackPos++ = m3y; | *stackPos++ = m3y; | ||||
| *stackPos++ = m3x; | *stackPos++ = m3x; | ||||
| *stackPos++ = lineMarker; | |||||
| *stackPos++ = Path::lineMarker; | |||||
| } | } | ||||
| jassert (stackPos < stackBase + stackSize); | jassert (stackPos < stackBase + stackSize); | ||||
| } | } | ||||
| else if (type == cubicMarker) | |||||
| else if (type == Path::cubicMarker) | |||||
| { | { | ||||
| const int offset = (int) (stackPos - stackBase); | const int offset = (int) (stackPos - stackBase); | ||||
| @@ -254,7 +246,7 @@ bool PathFlatteningIterator::next() throw() | |||||
| *stackPos++ = m3x; | *stackPos++ = m3x; | ||||
| *stackPos++ = m5y; | *stackPos++ = m5y; | ||||
| *stackPos++ = m5x; | *stackPos++ = m5x; | ||||
| *stackPos++ = cubicMarker; | |||||
| *stackPos++ = Path::cubicMarker; | |||||
| *stackPos++ = (m4y + m5y) * 0.5f; | *stackPos++ = (m4y + m5y) * 0.5f; | ||||
| *stackPos++ = (m4x + m5x) * 0.5f; | *stackPos++ = (m4x + m5x) * 0.5f; | ||||
| @@ -262,24 +254,24 @@ bool PathFlatteningIterator::next() throw() | |||||
| *stackPos++ = m4x; | *stackPos++ = m4x; | ||||
| *stackPos++ = m1y; | *stackPos++ = m1y; | ||||
| *stackPos++ = m1x; | *stackPos++ = m1x; | ||||
| *stackPos++ = cubicMarker; | |||||
| *stackPos++ = Path::cubicMarker; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| *stackPos++ = y4; | *stackPos++ = y4; | ||||
| *stackPos++ = x4; | *stackPos++ = x4; | ||||
| *stackPos++ = lineMarker; | |||||
| *stackPos++ = Path::lineMarker; | |||||
| *stackPos++ = m5y; | *stackPos++ = m5y; | ||||
| *stackPos++ = m5x; | *stackPos++ = m5x; | ||||
| *stackPos++ = lineMarker; | |||||
| *stackPos++ = Path::lineMarker; | |||||
| *stackPos++ = m4y; | *stackPos++ = m4y; | ||||
| *stackPos++ = m4x; | *stackPos++ = m4x; | ||||
| *stackPos++ = lineMarker; | |||||
| *stackPos++ = Path::lineMarker; | |||||
| } | } | ||||
| } | } | ||||
| else if (type == closePathMarker) | |||||
| else if (type == Path::closeSubPathMarker) | |||||
| { | { | ||||
| if (x2 != subPathCloseX || y2 != subPathCloseY) | if (x2 != subPathCloseX || y2 != subPathCloseY) | ||||
| { | { | ||||
| @@ -16,6 +16,9 @@ | |||||
| * Hence the magnitude should always fit in 10 or 14 bits respectively. | * Hence the magnitude should always fit in 10 or 14 bits respectively. | ||||
| */ | */ | ||||
| #ifndef _jchuff_h_ | |||||
| #define _jchuff_h_ | |||||
| #if BITS_IN_JSAMPLE == 8 | #if BITS_IN_JSAMPLE == 8 | ||||
| #define MAX_COEF_BITS 10 | #define MAX_COEF_BITS 10 | ||||
| #else | #else | ||||
| @@ -45,3 +48,5 @@ EXTERN(void) jpeg_make_c_derived_tbl | |||||
| /* Generate an optimal table definition given the specified counts */ | /* Generate an optimal table definition given the specified counts */ | ||||
| EXTERN(void) jpeg_gen_optimal_table | EXTERN(void) jpeg_gen_optimal_table | ||||
| JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[])); | JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[])); | ||||
| #endif | |||||
| @@ -13,73 +13,6 @@ | |||||
| #include "jpeglib.h" | #include "jpeglib.h" | ||||
| typedef enum { /* JPEG marker codes */ | |||||
| M_SOF0 = 0xc0, | |||||
| M_SOF1 = 0xc1, | |||||
| M_SOF2 = 0xc2, | |||||
| M_SOF3 = 0xc3, | |||||
| M_SOF5 = 0xc5, | |||||
| M_SOF6 = 0xc6, | |||||
| M_SOF7 = 0xc7, | |||||
| M_JPG = 0xc8, | |||||
| M_SOF9 = 0xc9, | |||||
| M_SOF10 = 0xca, | |||||
| M_SOF11 = 0xcb, | |||||
| M_SOF13 = 0xcd, | |||||
| M_SOF14 = 0xce, | |||||
| M_SOF15 = 0xcf, | |||||
| M_DHT = 0xc4, | |||||
| M_DAC = 0xcc, | |||||
| M_RST0 = 0xd0, | |||||
| M_RST1 = 0xd1, | |||||
| M_RST2 = 0xd2, | |||||
| M_RST3 = 0xd3, | |||||
| M_RST4 = 0xd4, | |||||
| M_RST5 = 0xd5, | |||||
| M_RST6 = 0xd6, | |||||
| M_RST7 = 0xd7, | |||||
| M_SOI = 0xd8, | |||||
| M_EOI = 0xd9, | |||||
| M_SOS = 0xda, | |||||
| M_DQT = 0xdb, | |||||
| M_DNL = 0xdc, | |||||
| M_DRI = 0xdd, | |||||
| M_DHP = 0xde, | |||||
| M_EXP = 0xdf, | |||||
| M_APP0 = 0xe0, | |||||
| M_APP1 = 0xe1, | |||||
| M_APP2 = 0xe2, | |||||
| M_APP3 = 0xe3, | |||||
| M_APP4 = 0xe4, | |||||
| M_APP5 = 0xe5, | |||||
| M_APP6 = 0xe6, | |||||
| M_APP7 = 0xe7, | |||||
| M_APP8 = 0xe8, | |||||
| M_APP9 = 0xe9, | |||||
| M_APP10 = 0xea, | |||||
| M_APP11 = 0xeb, | |||||
| M_APP12 = 0xec, | |||||
| M_APP13 = 0xed, | |||||
| M_APP14 = 0xee, | |||||
| M_APP15 = 0xef, | |||||
| M_JPG0 = 0xf0, | |||||
| M_JPG13 = 0xfd, | |||||
| M_COM = 0xfe, | |||||
| M_TEM = 0x01, | |||||
| M_ERROR = 0x100 | |||||
| } JPEG_MARKER; | |||||
| /* Private state */ | /* Private state */ | ||||
| @@ -198,11 +198,11 @@ start_pass_phuff (j_compress_ptr cinfo, boolean gather_statistics) | |||||
| #define emit_byte(entropy,val) \ | #define emit_byte(entropy,val) \ | ||||
| { *(entropy)->next_output_byte++ = (JOCTET) (val); \ | { *(entropy)->next_output_byte++ = (JOCTET) (val); \ | ||||
| if (--(entropy)->free_in_buffer == 0) \ | if (--(entropy)->free_in_buffer == 0) \ | ||||
| dump_buffer(entropy); } | |||||
| dump_buffer_p(entropy); } | |||||
| LOCAL(void) | LOCAL(void) | ||||
| dump_buffer (phuff_entropy_ptr entropy) | |||||
| dump_buffer_p (phuff_entropy_ptr entropy) | |||||
| /* Empty the output buffer; we do not support suspension in this module. */ | /* Empty the output buffer; we do not support suspension in this module. */ | ||||
| { | { | ||||
| struct jpeg_destination_mgr * dest = entropy->cinfo->dest; | struct jpeg_destination_mgr * dest = entropy->cinfo->dest; | ||||
| @@ -225,7 +225,7 @@ dump_buffer (phuff_entropy_ptr entropy) | |||||
| INLINE | INLINE | ||||
| LOCAL(void) | LOCAL(void) | ||||
| emit_bits (phuff_entropy_ptr entropy, unsigned int code, int size) | |||||
| emit_bits_p (phuff_entropy_ptr entropy, unsigned int code, int size) | |||||
| /* Emit some bits, unless we are in gather mode */ | /* Emit some bits, unless we are in gather mode */ | ||||
| { | { | ||||
| /* This routine is heavily used, so it's worth coding tightly. */ | /* This routine is heavily used, so it's worth coding tightly. */ | ||||
| @@ -264,9 +264,9 @@ emit_bits (phuff_entropy_ptr entropy, unsigned int code, int size) | |||||
| LOCAL(void) | LOCAL(void) | ||||
| flush_bits (phuff_entropy_ptr entropy) | |||||
| flush_bits_p (phuff_entropy_ptr entropy) | |||||
| { | { | ||||
| emit_bits(entropy, 0x7F, 7); /* fill any partial byte with ones */ | |||||
| emit_bits_p(entropy, 0x7F, 7); /* fill any partial byte with ones */ | |||||
| entropy->put_buffer = 0; /* and reset bit-buffer to empty */ | entropy->put_buffer = 0; /* and reset bit-buffer to empty */ | ||||
| entropy->put_bits = 0; | entropy->put_bits = 0; | ||||
| } | } | ||||
| @@ -284,7 +284,7 @@ emit_symbol (phuff_entropy_ptr entropy, int tbl_no, int symbol) | |||||
| entropy->count_ptrs[tbl_no][symbol]++; | entropy->count_ptrs[tbl_no][symbol]++; | ||||
| else { | else { | ||||
| c_derived_tbl * tbl = entropy->derived_tbls[tbl_no]; | c_derived_tbl * tbl = entropy->derived_tbls[tbl_no]; | ||||
| emit_bits(entropy, tbl->ehufco[symbol], tbl->ehufsi[symbol]); | |||||
| emit_bits_p(entropy, tbl->ehufco[symbol], tbl->ehufsi[symbol]); | |||||
| } | } | ||||
| } | } | ||||
| @@ -301,7 +301,7 @@ emit_buffered_bits (phuff_entropy_ptr entropy, char * bufstart, | |||||
| return; /* no real work */ | return; /* no real work */ | ||||
| while (nbits > 0) { | while (nbits > 0) { | ||||
| emit_bits(entropy, (unsigned int) (*bufstart), 1); | |||||
| emit_bits_p(entropy, (unsigned int) (*bufstart), 1); | |||||
| bufstart++; | bufstart++; | ||||
| nbits--; | nbits--; | ||||
| } | } | ||||
| @@ -328,7 +328,7 @@ emit_eobrun (phuff_entropy_ptr entropy) | |||||
| emit_symbol(entropy, entropy->ac_tbl_no, nbits << 4); | emit_symbol(entropy, entropy->ac_tbl_no, nbits << 4); | ||||
| if (nbits) | if (nbits) | ||||
| emit_bits(entropy, entropy->EOBRUN, nbits); | |||||
| emit_bits_p(entropy, entropy->EOBRUN, nbits); | |||||
| entropy->EOBRUN = 0; | entropy->EOBRUN = 0; | ||||
| @@ -344,14 +344,14 @@ emit_eobrun (phuff_entropy_ptr entropy) | |||||
| */ | */ | ||||
| LOCAL(void) | LOCAL(void) | ||||
| emit_restart (phuff_entropy_ptr entropy, int restart_num) | |||||
| emit_restart_p (phuff_entropy_ptr entropy, int restart_num) | |||||
| { | { | ||||
| int ci; | int ci; | ||||
| emit_eobrun(entropy); | emit_eobrun(entropy); | ||||
| if (! entropy->gather_statistics) { | if (! entropy->gather_statistics) { | ||||
| flush_bits(entropy); | |||||
| flush_bits_p(entropy); | |||||
| emit_byte(entropy, 0xFF); | emit_byte(entropy, 0xFF); | ||||
| emit_byte(entropy, JPEG_RST0 + restart_num); | emit_byte(entropy, JPEG_RST0 + restart_num); | ||||
| } | } | ||||
| @@ -391,7 +391,7 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit restart marker if needed */ | /* Emit restart marker if needed */ | ||||
| if (cinfo->restart_interval) | if (cinfo->restart_interval) | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| emit_restart(entropy, entropy->next_restart_num); | |||||
| emit_restart_p(entropy, entropy->next_restart_num); | |||||
| /* Encode the MCU data blocks */ | /* Encode the MCU data blocks */ | ||||
| for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | ||||
| @@ -435,7 +435,7 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit that number of bits of the value, if positive, */ | /* Emit that number of bits of the value, if positive, */ | ||||
| /* or the complement of its magnitude, if negative. */ | /* or the complement of its magnitude, if negative. */ | ||||
| if (nbits) /* emit_bits rejects calls with size 0 */ | if (nbits) /* emit_bits rejects calls with size 0 */ | ||||
| emit_bits(entropy, (unsigned int) temp2, nbits); | |||||
| emit_bits_p(entropy, (unsigned int) temp2, nbits); | |||||
| } | } | ||||
| cinfo->dest->next_output_byte = entropy->next_output_byte; | cinfo->dest->next_output_byte = entropy->next_output_byte; | ||||
| @@ -477,7 +477,7 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit restart marker if needed */ | /* Emit restart marker if needed */ | ||||
| if (cinfo->restart_interval) | if (cinfo->restart_interval) | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| emit_restart(entropy, entropy->next_restart_num); | |||||
| emit_restart_p(entropy, entropy->next_restart_num); | |||||
| /* Encode the MCU data block */ | /* Encode the MCU data block */ | ||||
| block = MCU_data[0]; | block = MCU_data[0]; | ||||
| @@ -533,7 +533,7 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit that number of bits of the value, if positive, */ | /* Emit that number of bits of the value, if positive, */ | ||||
| /* or the complement of its magnitude, if negative. */ | /* or the complement of its magnitude, if negative. */ | ||||
| emit_bits(entropy, (unsigned int) temp2, nbits); | |||||
| emit_bits_p(entropy, (unsigned int) temp2, nbits); | |||||
| r = 0; /* reset zero run length */ | r = 0; /* reset zero run length */ | ||||
| } | } | ||||
| @@ -582,7 +582,7 @@ encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit restart marker if needed */ | /* Emit restart marker if needed */ | ||||
| if (cinfo->restart_interval) | if (cinfo->restart_interval) | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| emit_restart(entropy, entropy->next_restart_num); | |||||
| emit_restart_p(entropy, entropy->next_restart_num); | |||||
| /* Encode the MCU data blocks */ | /* Encode the MCU data blocks */ | ||||
| for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | ||||
| @@ -590,7 +590,7 @@ encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* We simply emit the Al'th bit of the DC coefficient value. */ | /* We simply emit the Al'th bit of the DC coefficient value. */ | ||||
| temp = (*block)[0]; | temp = (*block)[0]; | ||||
| emit_bits(entropy, (unsigned int) (temp >> Al), 1); | |||||
| emit_bits_p(entropy, (unsigned int) (temp >> Al), 1); | |||||
| } | } | ||||
| cinfo->dest->next_output_byte = entropy->next_output_byte; | cinfo->dest->next_output_byte = entropy->next_output_byte; | ||||
| @@ -634,7 +634,7 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit restart marker if needed */ | /* Emit restart marker if needed */ | ||||
| if (cinfo->restart_interval) | if (cinfo->restart_interval) | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| emit_restart(entropy, entropy->next_restart_num); | |||||
| emit_restart_p(entropy, entropy->next_restart_num); | |||||
| /* Encode the MCU data block */ | /* Encode the MCU data block */ | ||||
| block = MCU_data[0]; | block = MCU_data[0]; | ||||
| @@ -701,7 +701,7 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Emit output bit for newly-nonzero coef */ | /* Emit output bit for newly-nonzero coef */ | ||||
| temp = ((*block)[jpeg_natural_order[k]] < 0) ? 0 : 1; | temp = ((*block)[jpeg_natural_order[k]] < 0) ? 0 : 1; | ||||
| emit_bits(entropy, (unsigned int) temp, 1); | |||||
| emit_bits_p(entropy, (unsigned int) temp, 1); | |||||
| /* Emit buffered correction bits that must be associated with this code */ | /* Emit buffered correction bits that must be associated with this code */ | ||||
| emit_buffered_bits(entropy, BR_buffer, BR); | emit_buffered_bits(entropy, BR_buffer, BR); | ||||
| @@ -752,7 +752,7 @@ finish_pass_phuff (j_compress_ptr cinfo) | |||||
| /* Flush out any buffered data */ | /* Flush out any buffered data */ | ||||
| emit_eobrun(entropy); | emit_eobrun(entropy); | ||||
| flush_bits(entropy); | |||||
| flush_bits_p(entropy); | |||||
| cinfo->dest->next_output_byte = entropy->next_output_byte; | cinfo->dest->next_output_byte = entropy->next_output_byte; | ||||
| cinfo->dest->free_in_buffer = entropy->free_in_buffer; | cinfo->dest->free_in_buffer = entropy->free_in_buffer; | ||||
| @@ -218,16 +218,16 @@ typedef struct { | |||||
| /* Workspace for constructing dummy blocks at right/bottom edges. */ | /* Workspace for constructing dummy blocks at right/bottom edges. */ | ||||
| JBLOCKROW dummy_buffer[C_MAX_BLOCKS_IN_MCU]; | JBLOCKROW dummy_buffer[C_MAX_BLOCKS_IN_MCU]; | ||||
| } my_coef_controller; | |||||
| } my_coef_controller2; | |||||
| typedef my_coef_controller * my_coef_ptr; | |||||
| typedef my_coef_controller2 * my_coef_ptr2; | |||||
| LOCAL(void) | LOCAL(void) | ||||
| start_iMCU_row (j_compress_ptr cinfo) | |||||
| start_iMCU_row2 (j_compress_ptr cinfo) | |||||
| /* Reset within-iMCU-row counters for a new row */ | /* Reset within-iMCU-row counters for a new row */ | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr2 coef = (my_coef_ptr2) cinfo->coef; | |||||
| /* In an interleaved scan, an MCU row is the same as an iMCU row. | /* In an interleaved scan, an MCU row is the same as an iMCU row. | ||||
| * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. | * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. | ||||
| @@ -252,15 +252,15 @@ start_iMCU_row (j_compress_ptr cinfo) | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_coef (j_compress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| start_pass_coef2 (j_compress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr2 coef = (my_coef_ptr2) cinfo->coef; | |||||
| if (pass_mode != JBUF_CRANK_DEST) | if (pass_mode != JBUF_CRANK_DEST) | ||||
| ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | ||||
| coef->iMCU_row_num = 0; | coef->iMCU_row_num = 0; | ||||
| start_iMCU_row(cinfo); | |||||
| start_iMCU_row2(cinfo); | |||||
| } | } | ||||
| @@ -275,9 +275,9 @@ start_pass_coef (j_compress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| */ | */ | ||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf) | |||||
| compress_output2 (j_compress_ptr cinfo, JSAMPIMAGE input_buf) | |||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr2 coef = (my_coef_ptr2) cinfo->coef; | |||||
| JDIMENSION MCU_col_num; /* index of current MCU within row */ | JDIMENSION MCU_col_num; /* index of current MCU within row */ | ||||
| JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; | JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; | ||||
| JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | ||||
| @@ -346,7 +346,7 @@ compress_output (j_compress_ptr cinfo, JSAMPIMAGE input_buf) | |||||
| } | } | ||||
| /* Completed the iMCU row, advance counters for next one */ | /* Completed the iMCU row, advance counters for next one */ | ||||
| coef->iMCU_row_num++; | coef->iMCU_row_num++; | ||||
| start_iMCU_row(cinfo); | |||||
| start_iMCU_row2(cinfo); | |||||
| return TRUE; | return TRUE; | ||||
| } | } | ||||
| @@ -363,16 +363,16 @@ LOCAL(void) | |||||
| transencode_coef_controller (j_compress_ptr cinfo, | transencode_coef_controller (j_compress_ptr cinfo, | ||||
| jvirt_barray_ptr * coef_arrays) | jvirt_barray_ptr * coef_arrays) | ||||
| { | { | ||||
| my_coef_ptr coef; | |||||
| my_coef_ptr2 coef; | |||||
| JBLOCKROW buffer; | JBLOCKROW buffer; | ||||
| int i; | int i; | ||||
| coef = (my_coef_ptr) | |||||
| coef = (my_coef_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_coef_controller)); | |||||
| SIZEOF(my_coef_controller2)); | |||||
| cinfo->coef = (struct jpeg_c_coef_controller *) coef; | cinfo->coef = (struct jpeg_c_coef_controller *) coef; | ||||
| coef->pub.start_pass = start_pass_coef; | |||||
| coef->pub.compress_data = compress_output; | |||||
| coef->pub.start_pass = start_pass_coef2; | |||||
| coef->pub.compress_data = compress_output2; | |||||
| /* Save pointer to virtual arrays */ | /* Save pointer to virtual arrays */ | ||||
| coef->whole_image = coef_arrays; | coef->whole_image = coef_arrays; | ||||
| @@ -57,9 +57,9 @@ typedef struct { | |||||
| int * coef_bits_latch; | int * coef_bits_latch; | ||||
| #define SAVED_COEFS 6 /* we save coef_bits[0..5] */ | #define SAVED_COEFS 6 /* we save coef_bits[0..5] */ | ||||
| #endif | #endif | ||||
| } my_coef_controller; | |||||
| } my_coef_controller3; | |||||
| typedef my_coef_controller * my_coef_ptr; | |||||
| typedef my_coef_controller3 * my_coef_ptr3; | |||||
| /* Forward declarations */ | /* Forward declarations */ | ||||
| METHODDEF(int) decompress_onepass | METHODDEF(int) decompress_onepass | ||||
| @@ -76,10 +76,10 @@ METHODDEF(int) decompress_smooth_data | |||||
| LOCAL(void) | LOCAL(void) | ||||
| start_iMCU_row (j_decompress_ptr cinfo) | |||||
| start_iMCU_row3 (j_decompress_ptr cinfo) | |||||
| /* Reset within-iMCU-row counters for a new row (input side) */ | /* Reset within-iMCU-row counters for a new row (input side) */ | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| /* In an interleaved scan, an MCU row is the same as an iMCU row. | /* In an interleaved scan, an MCU row is the same as an iMCU row. | ||||
| * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. | * In a noninterleaved scan, an iMCU row has v_samp_factor MCU rows. | ||||
| @@ -107,7 +107,7 @@ METHODDEF(void) | |||||
| start_input_pass (j_decompress_ptr cinfo) | start_input_pass (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| cinfo->input_iMCU_row = 0; | cinfo->input_iMCU_row = 0; | ||||
| start_iMCU_row(cinfo); | |||||
| start_iMCU_row3(cinfo); | |||||
| } | } | ||||
| @@ -119,7 +119,7 @@ METHODDEF(void) | |||||
| start_output_pass (j_decompress_ptr cinfo) | start_output_pass (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| #ifdef BLOCK_SMOOTHING_SUPPORTED | #ifdef BLOCK_SMOOTHING_SUPPORTED | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| /* If multipass, check to see whether to use block smoothing on this pass */ | /* If multipass, check to see whether to use block smoothing on this pass */ | ||||
| if (coef->pub.coef_arrays != NULL) { | if (coef->pub.coef_arrays != NULL) { | ||||
| @@ -146,7 +146,7 @@ start_output_pass (j_decompress_ptr cinfo) | |||||
| METHODDEF(int) | METHODDEF(int) | ||||
| decompress_onepass (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | decompress_onepass (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| JDIMENSION MCU_col_num; /* index of current MCU within row */ | JDIMENSION MCU_col_num; /* index of current MCU within row */ | ||||
| JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; | JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1; | ||||
| JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | ||||
| @@ -211,7 +211,7 @@ decompress_onepass (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | |||||
| /* Completed the iMCU row, advance counters for next one */ | /* Completed the iMCU row, advance counters for next one */ | ||||
| cinfo->output_iMCU_row++; | cinfo->output_iMCU_row++; | ||||
| if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { | if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { | ||||
| start_iMCU_row(cinfo); | |||||
| start_iMCU_row3(cinfo); | |||||
| return JPEG_ROW_COMPLETED; | return JPEG_ROW_COMPLETED; | ||||
| } | } | ||||
| /* Completed the scan */ | /* Completed the scan */ | ||||
| @@ -243,7 +243,7 @@ dummy_consume_data (j_decompress_ptr cinfo) | |||||
| METHODDEF(int) | METHODDEF(int) | ||||
| consume_data (j_decompress_ptr cinfo) | consume_data (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| JDIMENSION MCU_col_num; /* index of current MCU within row */ | JDIMENSION MCU_col_num; /* index of current MCU within row */ | ||||
| int blkn, ci, xindex, yindex, yoffset; | int blkn, ci, xindex, yindex, yoffset; | ||||
| JDIMENSION start_col; | JDIMENSION start_col; | ||||
| @@ -294,7 +294,7 @@ consume_data (j_decompress_ptr cinfo) | |||||
| } | } | ||||
| /* Completed the iMCU row, advance counters for next one */ | /* Completed the iMCU row, advance counters for next one */ | ||||
| if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { | if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) { | ||||
| start_iMCU_row(cinfo); | |||||
| start_iMCU_row3(cinfo); | |||||
| return JPEG_ROW_COMPLETED; | return JPEG_ROW_COMPLETED; | ||||
| } | } | ||||
| /* Completed the scan */ | /* Completed the scan */ | ||||
| @@ -314,7 +314,7 @@ consume_data (j_decompress_ptr cinfo) | |||||
| METHODDEF(int) | METHODDEF(int) | ||||
| decompress_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | decompress_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | ||||
| JDIMENSION block_num; | JDIMENSION block_num; | ||||
| int ci, block_row, block_rows; | int ci, block_row, block_rows; | ||||
| @@ -404,7 +404,7 @@ decompress_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | |||||
| LOCAL(boolean) | LOCAL(boolean) | ||||
| smoothing_ok (j_decompress_ptr cinfo) | smoothing_ok (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| boolean smoothing_useful = FALSE; | boolean smoothing_useful = FALSE; | ||||
| int ci, coefi; | int ci, coefi; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| @@ -460,7 +460,7 @@ smoothing_ok (j_decompress_ptr cinfo) | |||||
| METHODDEF(int) | METHODDEF(int) | ||||
| decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | ||||
| { | { | ||||
| my_coef_ptr coef = (my_coef_ptr) cinfo->coef; | |||||
| my_coef_ptr3 coef = (my_coef_ptr3) cinfo->coef; | |||||
| JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1; | ||||
| JDIMENSION block_num, last_block_column; | JDIMENSION block_num, last_block_column; | ||||
| int ci, block_row, block_rows, access_rows; | int ci, block_row, block_rows, access_rows; | ||||
| @@ -675,11 +675,11 @@ decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | ||||
| { | { | ||||
| my_coef_ptr coef; | |||||
| my_coef_ptr3 coef; | |||||
| coef = (my_coef_ptr) | |||||
| coef = (my_coef_ptr3) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_coef_controller)); | |||||
| SIZEOF(my_coef_controller3)); | |||||
| cinfo->coef = (struct jpeg_d_coef_controller *) coef; | cinfo->coef = (struct jpeg_d_coef_controller *) coef; | ||||
| coef->pub.start_input_pass = start_input_pass; | coef->pub.start_input_pass = start_input_pass; | ||||
| coef->pub.start_output_pass = start_output_pass; | coef->pub.start_output_pass = start_output_pass; | ||||
| @@ -23,9 +23,9 @@ typedef struct { | |||||
| int * Cb_b_tab; /* => table for Cb to B conversion */ | int * Cb_b_tab; /* => table for Cb to B conversion */ | ||||
| INT32 * Cr_g_tab; /* => table for Cr to G conversion */ | INT32 * Cr_g_tab; /* => table for Cr to G conversion */ | ||||
| INT32 * Cb_g_tab; /* => table for Cb to G conversion */ | INT32 * Cb_g_tab; /* => table for Cb to G conversion */ | ||||
| } my_color_deconverter; | |||||
| } my_color_deconverter2; | |||||
| typedef my_color_deconverter * my_cconvert_ptr; | |||||
| typedef my_color_deconverter2 * my_cconvert_ptr2; | |||||
| /**************** YCbCr -> RGB conversion: most common case **************/ | /**************** YCbCr -> RGB conversion: most common case **************/ | ||||
| @@ -69,7 +69,7 @@ typedef my_color_deconverter * my_cconvert_ptr; | |||||
| LOCAL(void) | LOCAL(void) | ||||
| build_ycc_rgb_table (j_decompress_ptr cinfo) | build_ycc_rgb_table (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | |||||
| my_cconvert_ptr2 cconvert = (my_cconvert_ptr2) cinfo->cconvert; | |||||
| int i; | int i; | ||||
| INT32 x; | INT32 x; | ||||
| SHIFT_TEMPS | SHIFT_TEMPS | ||||
| @@ -121,7 +121,7 @@ ycc_rgb_convert (j_decompress_ptr cinfo, | |||||
| JSAMPIMAGE input_buf, JDIMENSION input_row, | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||||
| JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY output_buf, int num_rows) | ||||
| { | { | ||||
| my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | |||||
| my_cconvert_ptr2 cconvert = (my_cconvert_ptr2) cinfo->cconvert; | |||||
| register int y, cb, cr; | register int y, cb, cr; | ||||
| register JSAMPROW outptr; | register JSAMPROW outptr; | ||||
| register JSAMPROW inptr0, inptr1, inptr2; | register JSAMPROW inptr0, inptr1, inptr2; | ||||
| @@ -166,7 +166,7 @@ ycc_rgb_convert (j_decompress_ptr cinfo, | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| null_convert (j_decompress_ptr cinfo, | |||||
| null_convert2 (j_decompress_ptr cinfo, | |||||
| JSAMPIMAGE input_buf, JDIMENSION input_row, | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||||
| JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY output_buf, int num_rows) | ||||
| { | { | ||||
| @@ -198,7 +198,7 @@ null_convert (j_decompress_ptr cinfo, | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| grayscale_convert (j_decompress_ptr cinfo, | |||||
| grayscale_convert2 (j_decompress_ptr cinfo, | |||||
| JSAMPIMAGE input_buf, JDIMENSION input_row, | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||||
| JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY output_buf, int num_rows) | ||||
| { | { | ||||
| @@ -246,7 +246,7 @@ ycck_cmyk_convert (j_decompress_ptr cinfo, | |||||
| JSAMPIMAGE input_buf, JDIMENSION input_row, | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||||
| JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY output_buf, int num_rows) | ||||
| { | { | ||||
| my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | |||||
| my_cconvert_ptr2 cconvert = (my_cconvert_ptr2) cinfo->cconvert; | |||||
| register int y, cb, cr; | register int y, cb, cr; | ||||
| register JSAMPROW outptr; | register JSAMPROW outptr; | ||||
| register JSAMPROW inptr0, inptr1, inptr2, inptr3; | register JSAMPROW inptr0, inptr1, inptr2, inptr3; | ||||
| @@ -303,12 +303,12 @@ start_pass_dcolor (j_decompress_ptr cinfo) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_color_deconverter (j_decompress_ptr cinfo) | jinit_color_deconverter (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_cconvert_ptr cconvert; | |||||
| my_cconvert_ptr2 cconvert; | |||||
| int ci; | int ci; | ||||
| cconvert = (my_cconvert_ptr) | |||||
| cconvert = (my_cconvert_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_color_deconverter)); | |||||
| SIZEOF(my_color_deconverter2)); | |||||
| cinfo->cconvert = (struct jpeg_color_deconverter *) cconvert; | cinfo->cconvert = (struct jpeg_color_deconverter *) cconvert; | ||||
| cconvert->pub.start_pass = start_pass_dcolor; | cconvert->pub.start_pass = start_pass_dcolor; | ||||
| @@ -347,7 +347,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||||
| cinfo->out_color_components = 1; | cinfo->out_color_components = 1; | ||||
| if (cinfo->jpeg_color_space == JCS_GRAYSCALE || | if (cinfo->jpeg_color_space == JCS_GRAYSCALE || | ||||
| cinfo->jpeg_color_space == JCS_YCbCr) { | cinfo->jpeg_color_space == JCS_YCbCr) { | ||||
| cconvert->pub.color_convert = grayscale_convert; | |||||
| cconvert->pub.color_convert = grayscale_convert2; | |||||
| /* For color->grayscale conversion, only the Y (0) component is needed */ | /* For color->grayscale conversion, only the Y (0) component is needed */ | ||||
| for (ci = 1; ci < cinfo->num_components; ci++) | for (ci = 1; ci < cinfo->num_components; ci++) | ||||
| cinfo->comp_info[ci].component_needed = FALSE; | cinfo->comp_info[ci].component_needed = FALSE; | ||||
| @@ -363,7 +363,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||||
| } else if (cinfo->jpeg_color_space == JCS_GRAYSCALE) { | } else if (cinfo->jpeg_color_space == JCS_GRAYSCALE) { | ||||
| cconvert->pub.color_convert = gray_rgb_convert; | cconvert->pub.color_convert = gray_rgb_convert; | ||||
| } else if (cinfo->jpeg_color_space == JCS_RGB && RGB_PIXELSIZE == 3) { | } else if (cinfo->jpeg_color_space == JCS_RGB && RGB_PIXELSIZE == 3) { | ||||
| cconvert->pub.color_convert = null_convert; | |||||
| cconvert->pub.color_convert = null_convert2; | |||||
| } else | } else | ||||
| ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||||
| break; | break; | ||||
| @@ -374,7 +374,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||||
| cconvert->pub.color_convert = ycck_cmyk_convert; | cconvert->pub.color_convert = ycck_cmyk_convert; | ||||
| build_ycc_rgb_table(cinfo); | build_ycc_rgb_table(cinfo); | ||||
| } else if (cinfo->jpeg_color_space == JCS_CMYK) { | } else if (cinfo->jpeg_color_space == JCS_CMYK) { | ||||
| cconvert->pub.color_convert = null_convert; | |||||
| cconvert->pub.color_convert = null_convert2; | |||||
| } else | } else | ||||
| ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||||
| break; | break; | ||||
| @@ -383,7 +383,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||||
| /* Permit null conversion to same output space */ | /* Permit null conversion to same output space */ | ||||
| if (cinfo->out_color_space == cinfo->jpeg_color_space) { | if (cinfo->out_color_space == cinfo->jpeg_color_space) { | ||||
| cinfo->out_color_components = cinfo->num_components; | cinfo->out_color_components = cinfo->num_components; | ||||
| cconvert->pub.color_convert = null_convert; | |||||
| cconvert->pub.color_convert = null_convert2; | |||||
| } else /* unsupported non-null conversion */ | } else /* unsupported non-null conversion */ | ||||
| ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||||
| break; | break; | ||||
| @@ -26,6 +26,9 @@ | |||||
| * Quantization of the output coefficients is done by jcdctmgr.c. | * Quantization of the output coefficients is done by jcdctmgr.c. | ||||
| */ | */ | ||||
| #ifndef __jdct_h__ | |||||
| #define __jdct_h__ | |||||
| #if BITS_IN_JSAMPLE == 8 | #if BITS_IN_JSAMPLE == 8 | ||||
| typedef int DCTELEM; /* 16 or 32 bits is fine */ | typedef int DCTELEM; /* 16 or 32 bits is fine */ | ||||
| #else | #else | ||||
| @@ -174,3 +177,6 @@ EXTERN(void) jpeg_idct_1x1 | |||||
| #ifndef MULTIPLY16V16 /* default definition */ | #ifndef MULTIPLY16V16 /* default definition */ | ||||
| #define MULTIPLY16V16(var1,var2) ((var1) * (var2)) | #define MULTIPLY16V16(var1,var2) ((var1) * (var2)) | ||||
| #endif | #endif | ||||
| #endif | |||||
| @@ -29,7 +29,7 @@ | |||||
| typedef struct { | typedef struct { | ||||
| int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ | int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ | ||||
| } savable_state; | |||||
| } savable_state2; | |||||
| /* This macro is to work around compilers with missing or broken | /* This macro is to work around compilers with missing or broken | ||||
| * structure assignment. You'll need to fix this code if you have | * structure assignment. You'll need to fix this code if you have | ||||
| @@ -56,7 +56,7 @@ typedef struct { | |||||
| * In case of suspension, we exit WITHOUT updating them. | * In case of suspension, we exit WITHOUT updating them. | ||||
| */ | */ | ||||
| bitread_perm_state bitstate; /* Bit buffer at start of MCU */ | bitread_perm_state bitstate; /* Bit buffer at start of MCU */ | ||||
| savable_state saved; /* Other state at start of MCU */ | |||||
| savable_state2 saved; /* Other state at start of MCU */ | |||||
| /* These fields are NOT loaded into local working state. */ | /* These fields are NOT loaded into local working state. */ | ||||
| unsigned int restarts_to_go; /* MCUs left in this restart interval */ | unsigned int restarts_to_go; /* MCUs left in this restart interval */ | ||||
| @@ -73,9 +73,9 @@ typedef struct { | |||||
| /* Whether we care about the DC and AC coefficient values for each block */ | /* Whether we care about the DC and AC coefficient values for each block */ | ||||
| boolean dc_needed[D_MAX_BLOCKS_IN_MCU]; | boolean dc_needed[D_MAX_BLOCKS_IN_MCU]; | ||||
| boolean ac_needed[D_MAX_BLOCKS_IN_MCU]; | boolean ac_needed[D_MAX_BLOCKS_IN_MCU]; | ||||
| } huff_entropy_decoder; | |||||
| } huff_entropy_decoder2; | |||||
| typedef huff_entropy_decoder * huff_entropy_ptr; | |||||
| typedef huff_entropy_decoder2 * huff_entropy_ptr2; | |||||
| /* | /* | ||||
| @@ -85,7 +85,7 @@ typedef huff_entropy_decoder * huff_entropy_ptr; | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_huff_decoder (j_decompress_ptr cinfo) | start_pass_huff_decoder (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | |||||
| huff_entropy_ptr2 entropy = (huff_entropy_ptr2) cinfo->entropy; | |||||
| int ci, blkn, dctbl, actbl; | int ci, blkn, dctbl, actbl; | ||||
| jpeg_component_info * compptr; | jpeg_component_info * compptr; | ||||
| @@ -433,32 +433,6 @@ jpeg_huff_decode (bitread_working_state * state, | |||||
| } | } | ||||
| /* | |||||
| * Figure F.12: extend sign bit. | |||||
| * On some machines, a shift and add will be faster than a table lookup. | |||||
| */ | |||||
| #ifdef AVOID_TABLES | |||||
| #define HUFF_EXTEND(x,s) ((x) < (1<<((s)-1)) ? (x) + (((-1)<<(s)) + 1) : (x)) | |||||
| #else | |||||
| #define HUFF_EXTEND(x,s) ((x) < extend_test[s] ? (x) + extend_offset[s] : (x)) | |||||
| static const int extend_test[16] = /* entry n is 2**(n-1) */ | |||||
| { 0, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, | |||||
| 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000 }; | |||||
| static const int extend_offset[16] = /* entry n is (-1 << n) + 1 */ | |||||
| { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, | |||||
| ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, | |||||
| ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, | |||||
| ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 }; | |||||
| #endif /* AVOID_TABLES */ | |||||
| /* | /* | ||||
| * Check for a restart marker & resynchronize decoder. | * Check for a restart marker & resynchronize decoder. | ||||
| * Returns FALSE if must suspend. | * Returns FALSE if must suspend. | ||||
| @@ -467,7 +441,7 @@ static const int extend_offset[16] = /* entry n is (-1 << n) + 1 */ | |||||
| LOCAL(boolean) | LOCAL(boolean) | ||||
| process_restart (j_decompress_ptr cinfo) | process_restart (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | |||||
| huff_entropy_ptr2 entropy = (huff_entropy_ptr2) cinfo->entropy; | |||||
| int ci; | int ci; | ||||
| /* Throw away any unused bits remaining in bit buffer; */ | /* Throw away any unused bits remaining in bit buffer; */ | ||||
| @@ -516,10 +490,10 @@ process_restart (j_decompress_ptr cinfo) | |||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | ||||
| { | { | ||||
| huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | |||||
| huff_entropy_ptr2 entropy = (huff_entropy_ptr2) cinfo->entropy; | |||||
| int blkn; | int blkn; | ||||
| BITREAD_STATE_VARS; | BITREAD_STATE_VARS; | ||||
| savable_state state; | |||||
| savable_state2 state; | |||||
| /* Process restart marker if needed; may have to suspend */ | /* Process restart marker if needed; may have to suspend */ | ||||
| if (cinfo->restart_interval) { | if (cinfo->restart_interval) { | ||||
| @@ -634,12 +608,12 @@ decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_huff_decoder (j_decompress_ptr cinfo) | jinit_huff_decoder (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| huff_entropy_ptr entropy; | |||||
| huff_entropy_ptr2 entropy; | |||||
| int i; | int i; | ||||
| entropy = (huff_entropy_ptr) | |||||
| entropy = (huff_entropy_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(huff_entropy_decoder)); | |||||
| SIZEOF(huff_entropy_decoder2)); | |||||
| cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | ||||
| entropy->pub.start_pass = start_pass_huff_decoder; | entropy->pub.start_pass = start_pass_huff_decoder; | ||||
| entropy->pub.decode_mcu = decode_mcu; | entropy->pub.decode_mcu = decode_mcu; | ||||
| @@ -12,6 +12,9 @@ | |||||
| /* Short forms of external names for systems with brain-damaged linkers. */ | /* Short forms of external names for systems with brain-damaged linkers. */ | ||||
| #ifndef __jdhuff_h__ | |||||
| #define __jdhuff_h__ | |||||
| #ifdef NEED_SHORT_EXTERNAL_NAMES | #ifdef NEED_SHORT_EXTERNAL_NAMES | ||||
| #define jpeg_make_d_derived_tbl jMkDDerived | #define jpeg_make_d_derived_tbl jMkDDerived | ||||
| #define jpeg_fill_bit_buffer jFilBitBuf | #define jpeg_fill_bit_buffer jFilBitBuf | ||||
| @@ -199,3 +202,5 @@ slowlabel: \ | |||||
| EXTERN(int) jpeg_huff_decode | EXTERN(int) jpeg_huff_decode | ||||
| JPP((bitread_working_state * state, register bit_buf_type get_buffer, | JPP((bitread_working_state * state, register bit_buf_type get_buffer, | ||||
| register int bits_left, d_derived_tbl * htbl, int min_bits)); | register int bits_left, d_derived_tbl * htbl, int min_bits)); | ||||
| #endif | |||||
| @@ -36,7 +36,7 @@ METHODDEF(int) consume_markers JPP((j_decompress_ptr cinfo)); | |||||
| */ | */ | ||||
| LOCAL(void) | LOCAL(void) | ||||
| initial_setup (j_decompress_ptr cinfo) | |||||
| initial_setup2 (j_decompress_ptr cinfo) | |||||
| /* Called once, when first SOS marker is reached */ | /* Called once, when first SOS marker is reached */ | ||||
| { | { | ||||
| int ci; | int ci; | ||||
| @@ -118,7 +118,7 @@ initial_setup (j_decompress_ptr cinfo) | |||||
| LOCAL(void) | LOCAL(void) | ||||
| per_scan_setup (j_decompress_ptr cinfo) | |||||
| per_scan_setup2 (j_decompress_ptr cinfo) | |||||
| /* Do computations that are needed before processing a JPEG scan */ | /* Do computations that are needed before processing a JPEG scan */ | ||||
| /* cinfo->comps_in_scan and cinfo->cur_comp_info[] were set from SOS marker */ | /* cinfo->comps_in_scan and cinfo->cur_comp_info[] were set from SOS marker */ | ||||
| { | { | ||||
| @@ -251,9 +251,9 @@ latch_quant_tables (j_decompress_ptr cinfo) | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_input_pass (j_decompress_ptr cinfo) | |||||
| start_input_pass2 (j_decompress_ptr cinfo) | |||||
| { | { | ||||
| per_scan_setup(cinfo); | |||||
| per_scan_setup2(cinfo); | |||||
| latch_quant_tables(cinfo); | latch_quant_tables(cinfo); | ||||
| (*cinfo->entropy->start_pass) (cinfo); | (*cinfo->entropy->start_pass) (cinfo); | ||||
| (*cinfo->coef->start_input_pass) (cinfo); | (*cinfo->coef->start_input_pass) (cinfo); | ||||
| @@ -298,7 +298,7 @@ consume_markers (j_decompress_ptr cinfo) | |||||
| switch (val) { | switch (val) { | ||||
| case JPEG_REACHED_SOS: /* Found SOS */ | case JPEG_REACHED_SOS: /* Found SOS */ | ||||
| if (inputctl->inheaders) { /* 1st SOS */ | if (inputctl->inheaders) { /* 1st SOS */ | ||||
| initial_setup(cinfo); | |||||
| initial_setup2(cinfo); | |||||
| inputctl->inheaders = FALSE; | inputctl->inheaders = FALSE; | ||||
| /* Note: start_input_pass must be called by jdmaster.c | /* Note: start_input_pass must be called by jdmaster.c | ||||
| * before any more input can be consumed. jdapimin.c is | * before any more input can be consumed. jdapimin.c is | ||||
| @@ -307,7 +307,7 @@ consume_markers (j_decompress_ptr cinfo) | |||||
| } else { /* 2nd or later SOS marker */ | } else { /* 2nd or later SOS marker */ | ||||
| if (! inputctl->pub.has_multiple_scans) | if (! inputctl->pub.has_multiple_scans) | ||||
| ERREXIT(cinfo, JERR_EOI_EXPECTED); /* Oops, I wasn't expecting this! */ | ERREXIT(cinfo, JERR_EOI_EXPECTED); /* Oops, I wasn't expecting this! */ | ||||
| start_input_pass(cinfo); | |||||
| start_input_pass2(cinfo); | |||||
| } | } | ||||
| break; | break; | ||||
| case JPEG_REACHED_EOI: /* Found EOI */ | case JPEG_REACHED_EOI: /* Found EOI */ | ||||
| @@ -370,7 +370,7 @@ jinit_input_controller (j_decompress_ptr cinfo) | |||||
| /* Initialize method pointers */ | /* Initialize method pointers */ | ||||
| inputctl->pub.consume_input = consume_markers; | inputctl->pub.consume_input = consume_markers; | ||||
| inputctl->pub.reset_input_controller = reset_input_controller; | inputctl->pub.reset_input_controller = reset_input_controller; | ||||
| inputctl->pub.start_input_pass = start_input_pass; | |||||
| inputctl->pub.start_input_pass = start_input_pass2; | |||||
| inputctl->pub.finish_input_pass = finish_input_pass; | inputctl->pub.finish_input_pass = finish_input_pass; | ||||
| /* Initialize state: can't use reset_input_controller since we don't | /* Initialize state: can't use reset_input_controller since we don't | ||||
| * want to try to reset other modules yet. | * want to try to reset other modules yet. | ||||
| @@ -129,9 +129,9 @@ typedef struct { | |||||
| int context_state; /* process_data state machine status */ | int context_state; /* process_data state machine status */ | ||||
| JDIMENSION rowgroups_avail; /* row groups available to postprocessor */ | JDIMENSION rowgroups_avail; /* row groups available to postprocessor */ | ||||
| JDIMENSION iMCU_row_ctr; /* counts iMCU rows to detect image top/bot */ | JDIMENSION iMCU_row_ctr; /* counts iMCU rows to detect image top/bot */ | ||||
| } my_main_controller; | |||||
| } my_main_controller4; | |||||
| typedef my_main_controller * my_main_ptr; | |||||
| typedef my_main_controller4 * my_main_ptr4; | |||||
| /* context_state values: */ | /* context_state values: */ | ||||
| #define CTX_PREPARE_FOR_IMCU 0 /* need to prepare for MCU row */ | #define CTX_PREPARE_FOR_IMCU 0 /* need to prepare for MCU row */ | ||||
| @@ -140,7 +140,7 @@ typedef my_main_controller * my_main_ptr; | |||||
| /* Forward declarations */ | /* Forward declarations */ | ||||
| METHODDEF(void) process_data_simple_main | |||||
| METHODDEF(void) process_data_simple_main2 | |||||
| JPP((j_decompress_ptr cinfo, JSAMPARRAY output_buf, | JPP((j_decompress_ptr cinfo, JSAMPARRAY output_buf, | ||||
| JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail)); | JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail)); | ||||
| METHODDEF(void) process_data_context_main | METHODDEF(void) process_data_context_main | ||||
| @@ -159,7 +159,7 @@ alloc_funny_pointers (j_decompress_ptr cinfo) | |||||
| * This is done only once, not once per pass. | * This is done only once, not once per pass. | ||||
| */ | */ | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| int ci, rgroup; | int ci, rgroup; | ||||
| int M = cinfo->min_DCT_scaled_size; | int M = cinfo->min_DCT_scaled_size; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| @@ -200,7 +200,7 @@ make_funny_pointers (j_decompress_ptr cinfo) | |||||
| * This will be repeated at the beginning of each pass. | * This will be repeated at the beginning of each pass. | ||||
| */ | */ | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| int ci, i, rgroup; | int ci, i, rgroup; | ||||
| int M = cinfo->min_DCT_scaled_size; | int M = cinfo->min_DCT_scaled_size; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| @@ -240,7 +240,7 @@ set_wraparound_pointers (j_decompress_ptr cinfo) | |||||
| * This changes the pointer list state from top-of-image to the normal state. | * This changes the pointer list state from top-of-image to the normal state. | ||||
| */ | */ | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| int ci, i, rgroup; | int ci, i, rgroup; | ||||
| int M = cinfo->min_DCT_scaled_size; | int M = cinfo->min_DCT_scaled_size; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| @@ -269,7 +269,7 @@ set_bottom_pointers (j_decompress_ptr cinfo) | |||||
| * Also sets rowgroups_avail to indicate number of nondummy row groups in row. | * Also sets rowgroups_avail to indicate number of nondummy row groups in row. | ||||
| */ | */ | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| int ci, i, rgroup, iMCUheight, rows_left; | int ci, i, rgroup, iMCUheight, rows_left; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| JSAMPARRAY xbuf; | JSAMPARRAY xbuf; | ||||
| @@ -304,9 +304,9 @@ set_bottom_pointers (j_decompress_ptr cinfo) | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| start_pass_main2 (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| switch (pass_mode) { | switch (pass_mode) { | ||||
| case JBUF_PASS_THRU: | case JBUF_PASS_THRU: | ||||
| @@ -318,7 +318,7 @@ start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| main_->iMCU_row_ctr = 0; | main_->iMCU_row_ctr = 0; | ||||
| } else { | } else { | ||||
| /* Simple case with no context needed */ | /* Simple case with no context needed */ | ||||
| main_->pub.process_data = process_data_simple_main; | |||||
| main_->pub.process_data = process_data_simple_main2; | |||||
| } | } | ||||
| main_->buffer_full = FALSE; /* Mark buffer empty */ | main_->buffer_full = FALSE; /* Mark buffer empty */ | ||||
| main_->rowgroup_ctr = 0; | main_->rowgroup_ctr = 0; | ||||
| @@ -342,11 +342,11 @@ start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) | |||||
| */ | */ | ||||
| METHODDEF(void) | METHODDEF(void) | ||||
| process_data_simple_main (j_decompress_ptr cinfo, | |||||
| process_data_simple_main2 (j_decompress_ptr cinfo, | |||||
| JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | ||||
| JDIMENSION out_rows_avail) | JDIMENSION out_rows_avail) | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| JDIMENSION rowgroups_avail; | JDIMENSION rowgroups_avail; | ||||
| /* Read input data if we haven't filled the main buffer yet */ | /* Read input data if we haven't filled the main buffer yet */ | ||||
| @@ -386,7 +386,7 @@ process_data_context_main (j_decompress_ptr cinfo, | |||||
| JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | ||||
| JDIMENSION out_rows_avail) | JDIMENSION out_rows_avail) | ||||
| { | { | ||||
| my_main_ptr main_ = (my_main_ptr) cinfo->main; | |||||
| my_main_ptr4 main_ = (my_main_ptr4) cinfo->main; | |||||
| /* Read input data if we haven't filled the main buffer yet */ | /* Read input data if we haven't filled the main buffer yet */ | ||||
| if (! main_->buffer_full) { | if (! main_->buffer_full) { | ||||
| @@ -475,15 +475,15 @@ process_data_crank_post (j_decompress_ptr cinfo, | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | ||||
| { | { | ||||
| my_main_ptr main_; | |||||
| my_main_ptr4 main_; | |||||
| int ci, rgroup, ngroups; | int ci, rgroup, ngroups; | ||||
| jpeg_component_info *compptr; | jpeg_component_info *compptr; | ||||
| main_ = (my_main_ptr) | |||||
| main_ = (my_main_ptr4) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_main_controller)); | |||||
| SIZEOF(my_main_controller4)); | |||||
| cinfo->main = (struct jpeg_d_main_controller *) main_; | cinfo->main = (struct jpeg_d_main_controller *) main_; | ||||
| main_->pub.start_pass = start_pass_main; | |||||
| main_->pub.start_pass = start_pass_main2; | |||||
| if (need_full_buffer) /* shouldn't happen */ | if (need_full_buffer) /* shouldn't happen */ | ||||
| ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | ||||
| @@ -17,74 +17,6 @@ | |||||
| #include "jpeglib.h" | #include "jpeglib.h" | ||||
| typedef enum { /* JPEG marker codes */ | |||||
| M_SOF0 = 0xc0, | |||||
| M_SOF1 = 0xc1, | |||||
| M_SOF2 = 0xc2, | |||||
| M_SOF3 = 0xc3, | |||||
| M_SOF5 = 0xc5, | |||||
| M_SOF6 = 0xc6, | |||||
| M_SOF7 = 0xc7, | |||||
| M_JPG = 0xc8, | |||||
| M_SOF9 = 0xc9, | |||||
| M_SOF10 = 0xca, | |||||
| M_SOF11 = 0xcb, | |||||
| M_SOF13 = 0xcd, | |||||
| M_SOF14 = 0xce, | |||||
| M_SOF15 = 0xcf, | |||||
| M_DHT = 0xc4, | |||||
| M_DAC = 0xcc, | |||||
| M_RST0 = 0xd0, | |||||
| M_RST1 = 0xd1, | |||||
| M_RST2 = 0xd2, | |||||
| M_RST3 = 0xd3, | |||||
| M_RST4 = 0xd4, | |||||
| M_RST5 = 0xd5, | |||||
| M_RST6 = 0xd6, | |||||
| M_RST7 = 0xd7, | |||||
| M_SOI = 0xd8, | |||||
| M_EOI = 0xd9, | |||||
| M_SOS = 0xda, | |||||
| M_DQT = 0xdb, | |||||
| M_DNL = 0xdc, | |||||
| M_DRI = 0xdd, | |||||
| M_DHP = 0xde, | |||||
| M_EXP = 0xdf, | |||||
| M_APP0 = 0xe0, | |||||
| M_APP1 = 0xe1, | |||||
| M_APP2 = 0xe2, | |||||
| M_APP3 = 0xe3, | |||||
| M_APP4 = 0xe4, | |||||
| M_APP5 = 0xe5, | |||||
| M_APP6 = 0xe6, | |||||
| M_APP7 = 0xe7, | |||||
| M_APP8 = 0xe8, | |||||
| M_APP9 = 0xe9, | |||||
| M_APP10 = 0xea, | |||||
| M_APP11 = 0xeb, | |||||
| M_APP12 = 0xec, | |||||
| M_APP13 = 0xed, | |||||
| M_APP14 = 0xee, | |||||
| M_APP15 = 0xef, | |||||
| M_JPG0 = 0xf0, | |||||
| M_JPG13 = 0xfd, | |||||
| M_COM = 0xfe, | |||||
| M_TEM = 0x01, | |||||
| M_ERROR = 0x100 | |||||
| } JPEG_MARKER; | |||||
| /* Private state */ | /* Private state */ | ||||
| typedef struct { | typedef struct { | ||||
| @@ -104,7 +36,7 @@ typedef struct { | |||||
| /* Note: cur_marker is not linked into marker_list until it's all read. */ | /* Note: cur_marker is not linked into marker_list until it's all read. */ | ||||
| } my_marker_reader; | } my_marker_reader; | ||||
| typedef my_marker_reader * my_marker_ptr; | |||||
| typedef my_marker_reader * my_marker_ptr2; | |||||
| /* | /* | ||||
| @@ -739,7 +671,7 @@ METHODDEF(boolean) | |||||
| save_marker (j_decompress_ptr cinfo) | save_marker (j_decompress_ptr cinfo) | ||||
| /* Save an APPn or COM marker into the marker list */ | /* Save an APPn or COM marker into the marker list */ | ||||
| { | { | ||||
| my_marker_ptr marker = (my_marker_ptr) cinfo->marker; | |||||
| my_marker_ptr2 marker = (my_marker_ptr2) cinfo->marker; | |||||
| jpeg_saved_marker_ptr cur_marker = marker->cur_marker; | jpeg_saved_marker_ptr cur_marker = marker->cur_marker; | ||||
| unsigned int bytes_read, data_length; | unsigned int bytes_read, data_length; | ||||
| JOCTET FAR * data; | JOCTET FAR * data; | ||||
| @@ -1055,13 +987,13 @@ read_markers (j_decompress_ptr cinfo) | |||||
| case M_APP13: | case M_APP13: | ||||
| case M_APP14: | case M_APP14: | ||||
| case M_APP15: | case M_APP15: | ||||
| if (! (*((my_marker_ptr) cinfo->marker)->process_APPn[ | |||||
| if (! (*((my_marker_ptr2) cinfo->marker)->process_APPn[ | |||||
| cinfo->unread_marker - (int) M_APP0]) (cinfo)) | cinfo->unread_marker - (int) M_APP0]) (cinfo)) | ||||
| return JPEG_SUSPENDED; | return JPEG_SUSPENDED; | ||||
| break; | break; | ||||
| case M_COM: | case M_COM: | ||||
| if (! (*((my_marker_ptr) cinfo->marker)->process_COM) (cinfo)) | |||||
| if (! (*((my_marker_ptr2) cinfo->marker)->process_COM) (cinfo)) | |||||
| return JPEG_SUSPENDED; | return JPEG_SUSPENDED; | ||||
| break; | break; | ||||
| @@ -1241,7 +1173,7 @@ jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| reset_marker_reader (j_decompress_ptr cinfo) | reset_marker_reader (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_marker_ptr marker = (my_marker_ptr) cinfo->marker; | |||||
| my_marker_ptr2 marker = (my_marker_ptr2) cinfo->marker; | |||||
| cinfo->comp_info = NULL; /* until allocated by get_sof */ | cinfo->comp_info = NULL; /* until allocated by get_sof */ | ||||
| cinfo->input_scan_number = 0; /* no SOS seen yet */ | cinfo->input_scan_number = 0; /* no SOS seen yet */ | ||||
| @@ -1261,11 +1193,11 @@ reset_marker_reader (j_decompress_ptr cinfo) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_marker_reader (j_decompress_ptr cinfo) | jinit_marker_reader (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_marker_ptr marker; | |||||
| my_marker_ptr2 marker; | |||||
| int i; | int i; | ||||
| /* Create subobject in permanent pool */ | /* Create subobject in permanent pool */ | ||||
| marker = (my_marker_ptr) | |||||
| marker = (my_marker_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | ||||
| SIZEOF(my_marker_reader)); | SIZEOF(my_marker_reader)); | ||||
| cinfo->marker = (struct jpeg_marker_reader *) marker; | cinfo->marker = (struct jpeg_marker_reader *) marker; | ||||
| @@ -1300,7 +1232,7 @@ GLOBAL(void) | |||||
| jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, | jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, | ||||
| unsigned int length_limit) | unsigned int length_limit) | ||||
| { | { | ||||
| my_marker_ptr marker = (my_marker_ptr) cinfo->marker; | |||||
| my_marker_ptr2 marker = (my_marker_ptr2) cinfo->marker; | |||||
| long maxlength; | long maxlength; | ||||
| jpeg_marker_parser_method processor; | jpeg_marker_parser_method processor; | ||||
| @@ -1349,7 +1281,7 @@ GLOBAL(void) | |||||
| jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, | jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, | ||||
| jpeg_marker_parser_method routine) | jpeg_marker_parser_method routine) | ||||
| { | { | ||||
| my_marker_ptr marker = (my_marker_ptr) cinfo->marker; | |||||
| my_marker_ptr2 marker = (my_marker_ptr2) cinfo->marker; | |||||
| if (marker_code == (int) M_COM) | if (marker_code == (int) M_COM) | ||||
| marker->process_COM = routine; | marker->process_COM = routine; | ||||
| @@ -32,7 +32,7 @@ typedef struct { | |||||
| struct jpeg_color_quantizer * quantizer_2pass; | struct jpeg_color_quantizer * quantizer_2pass; | ||||
| } my_decomp_master; | } my_decomp_master; | ||||
| typedef my_decomp_master * my_master_ptr; | |||||
| typedef my_decomp_master * my_master_ptr6; | |||||
| /* | /* | ||||
| @@ -287,7 +287,7 @@ prepare_range_limit_table (j_decompress_ptr cinfo) | |||||
| LOCAL(void) | LOCAL(void) | ||||
| master_selection (j_decompress_ptr cinfo) | master_selection (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_master_ptr master = (my_master_ptr) cinfo->master; | |||||
| my_master_ptr6 master = (my_master_ptr6) cinfo->master; | |||||
| boolean use_c_buffer; | boolean use_c_buffer; | ||||
| long samplesperrow; | long samplesperrow; | ||||
| JDIMENSION jd_samplesperrow; | JDIMENSION jd_samplesperrow; | ||||
| @@ -437,7 +437,7 @@ master_selection (j_decompress_ptr cinfo) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| prepare_for_output_pass (j_decompress_ptr cinfo) | prepare_for_output_pass (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_master_ptr master = (my_master_ptr) cinfo->master; | |||||
| my_master_ptr6 master = (my_master_ptr6) cinfo->master; | |||||
| if (master->pub.is_dummy_pass) { | if (master->pub.is_dummy_pass) { | ||||
| #ifdef QUANT_2PASS_SUPPORTED | #ifdef QUANT_2PASS_SUPPORTED | ||||
| @@ -497,7 +497,7 @@ prepare_for_output_pass (j_decompress_ptr cinfo) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| finish_output_pass (j_decompress_ptr cinfo) | finish_output_pass (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_master_ptr master = (my_master_ptr) cinfo->master; | |||||
| my_master_ptr6 master = (my_master_ptr6) cinfo->master; | |||||
| if (cinfo->quantize_colors) | if (cinfo->quantize_colors) | ||||
| (*cinfo->cquantize->finish_pass) (cinfo); | (*cinfo->cquantize->finish_pass) (cinfo); | ||||
| @@ -514,7 +514,7 @@ finish_output_pass (j_decompress_ptr cinfo) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jpeg_new_colormap (j_decompress_ptr cinfo) | jpeg_new_colormap (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_master_ptr master = (my_master_ptr) cinfo->master; | |||||
| my_master_ptr6 master = (my_master_ptr6) cinfo->master; | |||||
| /* Prevent application from calling me at wrong times */ | /* Prevent application from calling me at wrong times */ | ||||
| if (cinfo->global_state != DSTATE_BUFIMAGE) | if (cinfo->global_state != DSTATE_BUFIMAGE) | ||||
| @@ -542,9 +542,9 @@ jpeg_new_colormap (j_decompress_ptr cinfo) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_master_decompress (j_decompress_ptr cinfo) | jinit_master_decompress (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_master_ptr master; | |||||
| my_master_ptr6 master; | |||||
| master = (my_master_ptr) | |||||
| master = (my_master_ptr6) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_decomp_master)); | SIZEOF(my_decomp_master)); | ||||
| cinfo->master = (struct jpeg_decomp_master *) master; | cinfo->master = (struct jpeg_decomp_master *) master; | ||||
| @@ -80,7 +80,7 @@ typedef my_upsampler * my_upsample_ptr; | |||||
| */ | */ | ||||
| LOCAL(void) | LOCAL(void) | ||||
| build_ycc_rgb_table (j_decompress_ptr cinfo) | |||||
| build_ycc_rgb_table2 (j_decompress_ptr cinfo) | |||||
| { | { | ||||
| my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; | my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; | ||||
| int i; | int i; | ||||
| @@ -394,7 +394,7 @@ jinit_merged_upsampler (j_decompress_ptr cinfo) | |||||
| upsample->spare_row = NULL; | upsample->spare_row = NULL; | ||||
| } | } | ||||
| build_ycc_rgb_table(cinfo); | |||||
| build_ycc_rgb_table2(cinfo); | |||||
| } | } | ||||
| #endif /* UPSAMPLE_MERGING_SUPPORTED */ | #endif /* UPSAMPLE_MERGING_SUPPORTED */ | ||||
| @@ -32,7 +32,7 @@ | |||||
| typedef struct { | typedef struct { | ||||
| unsigned int EOBRUN; /* remaining EOBs in EOBRUN */ | unsigned int EOBRUN; /* remaining EOBs in EOBRUN */ | ||||
| int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ | int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ | ||||
| } savable_state; | |||||
| } savable_state3; | |||||
| /* This macro is to work around compilers with missing or broken | /* This macro is to work around compilers with missing or broken | ||||
| * structure assignment. You'll need to fix this code if you have | * structure assignment. You'll need to fix this code if you have | ||||
| @@ -60,7 +60,7 @@ typedef struct { | |||||
| * In case of suspension, we exit WITHOUT updating them. | * In case of suspension, we exit WITHOUT updating them. | ||||
| */ | */ | ||||
| bitread_perm_state bitstate; /* Bit buffer at start of MCU */ | bitread_perm_state bitstate; /* Bit buffer at start of MCU */ | ||||
| savable_state saved; /* Other state at start of MCU */ | |||||
| savable_state3 saved; /* Other state at start of MCU */ | |||||
| /* These fields are NOT loaded into local working state. */ | /* These fields are NOT loaded into local working state. */ | ||||
| unsigned int restarts_to_go; /* MCUs left in this restart interval */ | unsigned int restarts_to_go; /* MCUs left in this restart interval */ | ||||
| @@ -71,7 +71,7 @@ typedef struct { | |||||
| d_derived_tbl * ac_derived_tbl; /* active table during an AC scan */ | d_derived_tbl * ac_derived_tbl; /* active table during an AC scan */ | ||||
| } phuff_entropy_decoder; | } phuff_entropy_decoder; | ||||
| typedef phuff_entropy_decoder * phuff_entropy_ptr; | |||||
| typedef phuff_entropy_decoder * phuff_entropy_ptr2; | |||||
| /* Forward declarations */ | /* Forward declarations */ | ||||
| METHODDEF(boolean) decode_mcu_DC_first JPP((j_decompress_ptr cinfo, | METHODDEF(boolean) decode_mcu_DC_first JPP((j_decompress_ptr cinfo, | ||||
| @@ -91,7 +91,7 @@ METHODDEF(boolean) decode_mcu_AC_refine JPP((j_decompress_ptr cinfo, | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_phuff_decoder (j_decompress_ptr cinfo) | start_pass_phuff_decoder (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| boolean is_DC_band, bad; | boolean is_DC_band, bad; | ||||
| int ci, coefi, tbl; | int ci, coefi, tbl; | ||||
| int *coef_bit_ptr; | int *coef_bit_ptr; | ||||
| @@ -193,41 +193,15 @@ start_pass_phuff_decoder (j_decompress_ptr cinfo) | |||||
| } | } | ||||
| /* | |||||
| * Figure F.12: extend sign bit. | |||||
| * On some machines, a shift and add will be faster than a table lookup. | |||||
| */ | |||||
| #ifdef AVOID_TABLES | |||||
| #define HUFF_EXTEND(x,s) ((x) < (1<<((s)-1)) ? (x) + (((-1)<<(s)) + 1) : (x)) | |||||
| #else | |||||
| #define HUFF_EXTEND(x,s) ((x) < extend_test[s] ? (x) + extend_offset[s] : (x)) | |||||
| static const int extend_test[16] = /* entry n is 2**(n-1) */ | |||||
| { 0, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, | |||||
| 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000 }; | |||||
| static const int extend_offset[16] = /* entry n is (-1 << n) + 1 */ | |||||
| { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, | |||||
| ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, | |||||
| ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, | |||||
| ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 }; | |||||
| #endif /* AVOID_TABLES */ | |||||
| /* | /* | ||||
| * Check for a restart marker & resynchronize decoder. | * Check for a restart marker & resynchronize decoder. | ||||
| * Returns FALSE if must suspend. | * Returns FALSE if must suspend. | ||||
| */ | */ | ||||
| LOCAL(boolean) | LOCAL(boolean) | ||||
| process_restart (j_decompress_ptr cinfo) | |||||
| process_restartp (j_decompress_ptr cinfo) | |||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| int ci; | int ci; | ||||
| /* Throw away any unused bits remaining in bit buffer; */ | /* Throw away any unused bits remaining in bit buffer; */ | ||||
| @@ -285,20 +259,20 @@ process_restart (j_decompress_ptr cinfo) | |||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| int Al = cinfo->Al; | int Al = cinfo->Al; | ||||
| register int s, r; | register int s, r; | ||||
| int blkn, ci; | int blkn, ci; | ||||
| JBLOCKROW block; | JBLOCKROW block; | ||||
| BITREAD_STATE_VARS; | BITREAD_STATE_VARS; | ||||
| savable_state state; | |||||
| savable_state3 state; | |||||
| d_derived_tbl * tbl; | d_derived_tbl * tbl; | ||||
| jpeg_component_info * compptr; | jpeg_component_info * compptr; | ||||
| /* Process restart marker if needed; may have to suspend */ | /* Process restart marker if needed; may have to suspend */ | ||||
| if (cinfo->restart_interval) { | if (cinfo->restart_interval) { | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| if (! process_restart(cinfo)) | |||||
| if (! process_restartp(cinfo)) | |||||
| return FALSE; | return FALSE; | ||||
| } | } | ||||
| @@ -356,7 +330,7 @@ decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| int Se = cinfo->Se; | int Se = cinfo->Se; | ||||
| int Al = cinfo->Al; | int Al = cinfo->Al; | ||||
| register int s, k, r; | register int s, k, r; | ||||
| @@ -368,7 +342,7 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Process restart marker if needed; may have to suspend */ | /* Process restart marker if needed; may have to suspend */ | ||||
| if (cinfo->restart_interval) { | if (cinfo->restart_interval) { | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| if (! process_restart(cinfo)) | |||||
| if (! process_restartp(cinfo)) | |||||
| return FALSE; | return FALSE; | ||||
| } | } | ||||
| @@ -441,7 +415,7 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | ||||
| int blkn; | int blkn; | ||||
| JBLOCKROW block; | JBLOCKROW block; | ||||
| @@ -450,7 +424,7 @@ decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Process restart marker if needed; may have to suspend */ | /* Process restart marker if needed; may have to suspend */ | ||||
| if (cinfo->restart_interval) { | if (cinfo->restart_interval) { | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| if (! process_restart(cinfo)) | |||||
| if (! process_restartp(cinfo)) | |||||
| return FALSE; | return FALSE; | ||||
| } | } | ||||
| @@ -490,7 +464,7 @@ decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| METHODDEF(boolean) | METHODDEF(boolean) | ||||
| decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy; | |||||
| phuff_entropy_ptr2 entropy = (phuff_entropy_ptr2) cinfo->entropy; | |||||
| int Se = cinfo->Se; | int Se = cinfo->Se; | ||||
| int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | ||||
| int m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ | int m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ | ||||
| @@ -506,7 +480,7 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||||
| /* Process restart marker if needed; may have to suspend */ | /* Process restart marker if needed; may have to suspend */ | ||||
| if (cinfo->restart_interval) { | if (cinfo->restart_interval) { | ||||
| if (entropy->restarts_to_go == 0) | if (entropy->restarts_to_go == 0) | ||||
| if (! process_restart(cinfo)) | |||||
| if (! process_restartp(cinfo)) | |||||
| return FALSE; | return FALSE; | ||||
| } | } | ||||
| @@ -640,11 +614,11 @@ undoit: | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_phuff_decoder (j_decompress_ptr cinfo) | jinit_phuff_decoder (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| phuff_entropy_ptr entropy; | |||||
| phuff_entropy_ptr2 entropy; | |||||
| int *coef_bit_ptr; | int *coef_bit_ptr; | ||||
| int ci, i; | int ci, i; | ||||
| entropy = (phuff_entropy_ptr) | |||||
| entropy = (phuff_entropy_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(phuff_entropy_decoder)); | SIZEOF(phuff_entropy_decoder)); | ||||
| cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | ||||
| @@ -56,9 +56,9 @@ typedef struct { | |||||
| */ | */ | ||||
| UINT8 h_expand[MAX_COMPONENTS]; | UINT8 h_expand[MAX_COMPONENTS]; | ||||
| UINT8 v_expand[MAX_COMPONENTS]; | UINT8 v_expand[MAX_COMPONENTS]; | ||||
| } my_upsampler; | |||||
| } my_upsampler2; | |||||
| typedef my_upsampler * my_upsample_ptr; | |||||
| typedef my_upsampler2 * my_upsample_ptr2; | |||||
| /* | /* | ||||
| @@ -68,7 +68,7 @@ typedef my_upsampler * my_upsample_ptr; | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_upsample (j_decompress_ptr cinfo) | start_pass_upsample (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; | |||||
| my_upsample_ptr2 upsample = (my_upsample_ptr2) cinfo->upsample; | |||||
| /* Mark the conversion buffer empty */ | /* Mark the conversion buffer empty */ | ||||
| upsample->next_row_out = cinfo->max_v_samp_factor; | upsample->next_row_out = cinfo->max_v_samp_factor; | ||||
| @@ -92,7 +92,7 @@ sep_upsample (j_decompress_ptr cinfo, | |||||
| JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | ||||
| JDIMENSION out_rows_avail) | JDIMENSION out_rows_avail) | ||||
| { | { | ||||
| my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; | |||||
| my_upsample_ptr2 upsample = (my_upsample_ptr2) cinfo->upsample; | |||||
| int ci; | int ci; | ||||
| jpeg_component_info * compptr; | jpeg_component_info * compptr; | ||||
| JDIMENSION num_rows; | JDIMENSION num_rows; | ||||
| @@ -189,7 +189,7 @@ METHODDEF(void) | |||||
| int_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, | int_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, | ||||
| JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) | JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) | ||||
| { | { | ||||
| my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; | |||||
| my_upsample_ptr2 upsample = (my_upsample_ptr2) cinfo->upsample; | |||||
| JSAMPARRAY output_data = *output_data_ptr; | JSAMPARRAY output_data = *output_data_ptr; | ||||
| register JSAMPROW inptr, outptr; | register JSAMPROW inptr, outptr; | ||||
| register JSAMPLE invalue; | register JSAMPLE invalue; | ||||
| @@ -398,15 +398,15 @@ h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_upsampler (j_decompress_ptr cinfo) | jinit_upsampler (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_upsample_ptr upsample; | |||||
| my_upsample_ptr2 upsample; | |||||
| int ci; | int ci; | ||||
| jpeg_component_info * compptr; | jpeg_component_info * compptr; | ||||
| boolean need_buffer, do_fancy; | boolean need_buffer, do_fancy; | ||||
| int h_in_group, v_in_group, h_out_group, v_out_group; | int h_in_group, v_in_group, h_out_group, v_out_group; | ||||
| upsample = (my_upsample_ptr) | |||||
| upsample = (my_upsample_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_upsampler)); | |||||
| SIZEOF(my_upsampler2)); | |||||
| cinfo->upsample = (struct jpeg_upsampler *) upsample; | cinfo->upsample = (struct jpeg_upsampler *) upsample; | ||||
| upsample->pub.start_pass = start_pass_upsample; | upsample->pub.start_pass = start_pass_upsample; | ||||
| upsample->pub.upsample = sep_upsample; | upsample->pub.upsample = sep_upsample; | ||||
| @@ -17,6 +17,9 @@ | |||||
| /* Include auto-config file to find out which system include files we need. */ | /* Include auto-config file to find out which system include files we need. */ | ||||
| #ifndef __jinclude_h__ | |||||
| #define __jinclude_h__ | |||||
| #include "jconfig.h" /* auto configuration options */ | #include "jconfig.h" /* auto configuration options */ | ||||
| #define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */ | #define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */ | ||||
| @@ -89,3 +92,101 @@ | |||||
| ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) | ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) | ||||
| #define JFWRITE(file,buf,sizeofbuf) \ | #define JFWRITE(file,buf,sizeofbuf) \ | ||||
| ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) | ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) | ||||
| typedef enum { /* JPEG marker codes */ | |||||
| M_SOF0 = 0xc0, | |||||
| M_SOF1 = 0xc1, | |||||
| M_SOF2 = 0xc2, | |||||
| M_SOF3 = 0xc3, | |||||
| M_SOF5 = 0xc5, | |||||
| M_SOF6 = 0xc6, | |||||
| M_SOF7 = 0xc7, | |||||
| M_JPG = 0xc8, | |||||
| M_SOF9 = 0xc9, | |||||
| M_SOF10 = 0xca, | |||||
| M_SOF11 = 0xcb, | |||||
| M_SOF13 = 0xcd, | |||||
| M_SOF14 = 0xce, | |||||
| M_SOF15 = 0xcf, | |||||
| M_DHT = 0xc4, | |||||
| M_DAC = 0xcc, | |||||
| M_RST0 = 0xd0, | |||||
| M_RST1 = 0xd1, | |||||
| M_RST2 = 0xd2, | |||||
| M_RST3 = 0xd3, | |||||
| M_RST4 = 0xd4, | |||||
| M_RST5 = 0xd5, | |||||
| M_RST6 = 0xd6, | |||||
| M_RST7 = 0xd7, | |||||
| M_SOI = 0xd8, | |||||
| M_EOI = 0xd9, | |||||
| M_SOS = 0xda, | |||||
| M_DQT = 0xdb, | |||||
| M_DNL = 0xdc, | |||||
| M_DRI = 0xdd, | |||||
| M_DHP = 0xde, | |||||
| M_EXP = 0xdf, | |||||
| M_APP0 = 0xe0, | |||||
| M_APP1 = 0xe1, | |||||
| M_APP2 = 0xe2, | |||||
| M_APP3 = 0xe3, | |||||
| M_APP4 = 0xe4, | |||||
| M_APP5 = 0xe5, | |||||
| M_APP6 = 0xe6, | |||||
| M_APP7 = 0xe7, | |||||
| M_APP8 = 0xe8, | |||||
| M_APP9 = 0xe9, | |||||
| M_APP10 = 0xea, | |||||
| M_APP11 = 0xeb, | |||||
| M_APP12 = 0xec, | |||||
| M_APP13 = 0xed, | |||||
| M_APP14 = 0xee, | |||||
| M_APP15 = 0xef, | |||||
| M_JPG0 = 0xf0, | |||||
| M_JPG13 = 0xfd, | |||||
| M_COM = 0xfe, | |||||
| M_TEM = 0x01, | |||||
| M_ERROR = 0x100 | |||||
| } JPEG_MARKER; | |||||
| /* | |||||
| * Figure F.12: extend sign bit. | |||||
| * On some machines, a shift and add will be faster than a table lookup. | |||||
| */ | |||||
| #ifdef AVOID_TABLES | |||||
| #define HUFF_EXTEND(x,s) ((x) < (1<<((s)-1)) ? (x) + (((-1)<<(s)) + 1) : (x)) | |||||
| #else | |||||
| #define HUFF_EXTEND(x,s) ((x) < extend_test[s] ? (x) + extend_offset[s] : (x)) | |||||
| static const int extend_test[16] = /* entry n is 2**(n-1) */ | |||||
| { 0, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, | |||||
| 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000 }; | |||||
| static const int extend_offset[16] = /* entry n is (-1 << n) + 1 */ | |||||
| { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, | |||||
| ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, | |||||
| ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, | |||||
| ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 }; | |||||
| #endif /* AVOID_TABLES */ | |||||
| #endif | |||||
| @@ -84,7 +84,7 @@ jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, | |||||
| */ | */ | ||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, | |||||
| jpeg_open_backing_store (j_common_ptr cinfo, struct backing_store_struct *info, | |||||
| long total_bytes_needed) | long total_bytes_needed) | ||||
| { | { | ||||
| ERREXIT(cinfo, JERR_NO_BACKING_STORE); | ERREXIT(cinfo, JERR_NO_BACKING_STORE); | ||||
| @@ -18,6 +18,8 @@ | |||||
| * and USE_MAC_MEMMGR. | * and USE_MAC_MEMMGR. | ||||
| */ | */ | ||||
| #ifndef __jmemsys_h__ | |||||
| #define __jmemsys_h__ | |||||
| /* Short forms of external names for systems with brain-damaged linkers. */ | /* Short forms of external names for systems with brain-damaged linkers. */ | ||||
| @@ -134,20 +136,20 @@ typedef union { | |||||
| #endif /* USE_MAC_MEMMGR */ | #endif /* USE_MAC_MEMMGR */ | ||||
| typedef struct backing_store_struct * backing_store_ptr; | |||||
| //typedef struct backing_store_struct * backing_store_ptr; | |||||
| typedef struct backing_store_struct { | typedef struct backing_store_struct { | ||||
| /* Methods for reading/writing/closing this backing-store object */ | /* Methods for reading/writing/closing this backing-store object */ | ||||
| JMETHOD(void, read_backing_store, (j_common_ptr cinfo, | JMETHOD(void, read_backing_store, (j_common_ptr cinfo, | ||||
| backing_store_ptr info, | |||||
| struct backing_store_struct *info, | |||||
| void FAR * buffer_address, | void FAR * buffer_address, | ||||
| long file_offset, long byte_count)); | long file_offset, long byte_count)); | ||||
| JMETHOD(void, write_backing_store, (j_common_ptr cinfo, | JMETHOD(void, write_backing_store, (j_common_ptr cinfo, | ||||
| backing_store_ptr info, | |||||
| struct backing_store_struct *info, | |||||
| void FAR * buffer_address, | void FAR * buffer_address, | ||||
| long file_offset, long byte_count)); | long file_offset, long byte_count)); | ||||
| JMETHOD(void, close_backing_store, (j_common_ptr cinfo, | JMETHOD(void, close_backing_store, (j_common_ptr cinfo, | ||||
| backing_store_ptr info)); | |||||
| struct backing_store_struct *info)); | |||||
| /* Private fields for system-dependent backing-store management */ | /* Private fields for system-dependent backing-store management */ | ||||
| #ifdef USE_MSDOS_MEMMGR | #ifdef USE_MSDOS_MEMMGR | ||||
| @@ -178,7 +180,7 @@ typedef struct backing_store_struct { | |||||
| */ | */ | ||||
| EXTERN(void) jpeg_open_backing_store JPP((j_common_ptr cinfo, | EXTERN(void) jpeg_open_backing_store JPP((j_common_ptr cinfo, | ||||
| backing_store_ptr info, | |||||
| struct backing_store_struct *info, | |||||
| long total_bytes_needed)); | long total_bytes_needed)); | ||||
| @@ -196,3 +198,6 @@ EXTERN(void) jpeg_open_backing_store JPP((j_common_ptr cinfo, | |||||
| EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo)); | EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo)); | ||||
| EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo)); | EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo)); | ||||
| #endif | |||||
| @@ -206,9 +206,9 @@ typedef struct { | |||||
| FSERRPTR fserrors; /* accumulated errors */ | FSERRPTR fserrors; /* accumulated errors */ | ||||
| boolean on_odd_row; /* flag to remember which row we are on */ | boolean on_odd_row; /* flag to remember which row we are on */ | ||||
| int * error_limiter; /* table for clamping the applied error */ | int * error_limiter; /* table for clamping the applied error */ | ||||
| } my_cquantizer; | |||||
| } my_cquantizer2; | |||||
| typedef my_cquantizer * my_cquantize_ptr; | |||||
| typedef my_cquantizer2 * my_cquantize_ptr2; | |||||
| /* | /* | ||||
| @@ -224,7 +224,7 @@ METHODDEF(void) | |||||
| prescan_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf, | prescan_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf, | ||||
| JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY output_buf, int num_rows) | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| register JSAMPROW ptr; | register JSAMPROW ptr; | ||||
| register histptr histp; | register histptr histp; | ||||
| register hist3d histogram = cquantize->histogram; | register hist3d histogram = cquantize->histogram; | ||||
| @@ -314,7 +314,7 @@ update_box (j_decompress_ptr cinfo, boxptr boxp) | |||||
| /* Shrink the min/max bounds of a box to enclose only nonzero elements, */ | /* Shrink the min/max bounds of a box to enclose only nonzero elements, */ | ||||
| /* and recompute its volume and population */ | /* and recompute its volume and population */ | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| histptr histp; | histptr histp; | ||||
| int c0,c1,c2; | int c0,c1,c2; | ||||
| @@ -501,7 +501,7 @@ compute_color (j_decompress_ptr cinfo, boxptr boxp, int icolor) | |||||
| { | { | ||||
| /* Current algorithm: mean weighted by pixels (not colors) */ | /* Current algorithm: mean weighted by pixels (not colors) */ | ||||
| /* Note it is important to get the rounding correct! */ | /* Note it is important to get the rounding correct! */ | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| histptr histp; | histptr histp; | ||||
| int c0,c1,c2; | int c0,c1,c2; | ||||
| @@ -857,7 +857,7 @@ fill_inverse_cmap (j_decompress_ptr cinfo, int c0, int c1, int c2) | |||||
| /* histogram cell c0/c1/c2. (Only that one cell MUST be filled, but */ | /* histogram cell c0/c1/c2. (Only that one cell MUST be filled, but */ | ||||
| /* we can fill as many others as we wish.) */ | /* we can fill as many others as we wish.) */ | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| int minc0, minc1, minc2; /* lower left corner of update box */ | int minc0, minc1, minc2; /* lower left corner of update box */ | ||||
| int ic0, ic1, ic2; | int ic0, ic1, ic2; | ||||
| @@ -916,7 +916,7 @@ pass2_no_dither (j_decompress_ptr cinfo, | |||||
| JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) | ||||
| /* This version performs no dithering */ | /* This version performs no dithering */ | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| register JSAMPROW inptr, outptr; | register JSAMPROW inptr, outptr; | ||||
| register histptr cachep; | register histptr cachep; | ||||
| @@ -950,7 +950,7 @@ pass2_fs_dither (j_decompress_ptr cinfo, | |||||
| JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) | JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) | ||||
| /* This version performs Floyd-Steinberg dithering */ | /* This version performs Floyd-Steinberg dithering */ | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| register LOCFSERROR cur0, cur1, cur2; /* current error or pixel value */ | register LOCFSERROR cur0, cur1, cur2; /* current error or pixel value */ | ||||
| LOCFSERROR belowerr0, belowerr1, belowerr2; /* error for pixel below cur */ | LOCFSERROR belowerr0, belowerr1, belowerr2; /* error for pixel below cur */ | ||||
| @@ -1108,7 +1108,7 @@ LOCAL(void) | |||||
| init_error_limit (j_decompress_ptr cinfo) | init_error_limit (j_decompress_ptr cinfo) | ||||
| /* Allocate and fill in the error_limiter table */ | /* Allocate and fill in the error_limiter table */ | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| int * table; | int * table; | ||||
| int in, out; | int in, out; | ||||
| @@ -1142,7 +1142,7 @@ init_error_limit (j_decompress_ptr cinfo) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| finish_pass1 (j_decompress_ptr cinfo) | finish_pass1 (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| /* Select the representative colors and fill in cinfo->colormap */ | /* Select the representative colors and fill in cinfo->colormap */ | ||||
| cinfo->colormap = cquantize->sv_colormap; | cinfo->colormap = cquantize->sv_colormap; | ||||
| @@ -1166,7 +1166,7 @@ finish_pass2 (j_decompress_ptr cinfo) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| start_pass_2_quant (j_decompress_ptr cinfo, boolean is_pre_scan) | start_pass_2_quant (j_decompress_ptr cinfo, boolean is_pre_scan) | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| hist3d histogram = cquantize->histogram; | hist3d histogram = cquantize->histogram; | ||||
| int i; | int i; | ||||
| @@ -1229,7 +1229,7 @@ start_pass_2_quant (j_decompress_ptr cinfo, boolean is_pre_scan) | |||||
| METHODDEF(void) | METHODDEF(void) | ||||
| new_color_map_2_quant (j_decompress_ptr cinfo) | new_color_map_2_quant (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_cquantize_ptr cquantize = (my_cquantize_ptr) cinfo->cquantize; | |||||
| my_cquantize_ptr2 cquantize = (my_cquantize_ptr2) cinfo->cquantize; | |||||
| /* Reset the inverse color map */ | /* Reset the inverse color map */ | ||||
| cquantize->needs_zeroed = TRUE; | cquantize->needs_zeroed = TRUE; | ||||
| @@ -1243,12 +1243,12 @@ new_color_map_2_quant (j_decompress_ptr cinfo) | |||||
| GLOBAL(void) | GLOBAL(void) | ||||
| jinit_2pass_quantizer (j_decompress_ptr cinfo) | jinit_2pass_quantizer (j_decompress_ptr cinfo) | ||||
| { | { | ||||
| my_cquantize_ptr cquantize; | |||||
| my_cquantize_ptr2 cquantize; | |||||
| int i; | int i; | ||||
| cquantize = (my_cquantize_ptr) | |||||
| cquantize = (my_cquantize_ptr2) | |||||
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||||
| SIZEOF(my_cquantizer)); | |||||
| SIZEOF(my_cquantizer2)); | |||||
| cinfo->cquantize = (struct jpeg_color_quantizer *) cquantize; | cinfo->cquantize = (struct jpeg_color_quantizer *) cquantize; | ||||
| cquantize->pub.start_pass = start_pass_2_quant; | cquantize->pub.start_pass = start_pass_2_quant; | ||||
| cquantize->pub.new_color_map = new_color_map_2_quant; | cquantize->pub.new_color_map = new_color_map_2_quant; | ||||
| @@ -1249,7 +1249,7 @@ typedef double FAR * FAR * png_doublepp; | |||||
| /* Pointers to pointers to pointers; i.e., pointer to array */ | /* Pointers to pointers to pointers; i.e., pointer to array */ | ||||
| typedef char FAR * FAR * FAR * png_charppp; | typedef char FAR * FAR * FAR * png_charppp; | ||||
| #if defined(PNG_1_0_X) || defined(PNG_1_2_X) | |||||
| #if 0 | |||||
| /* SPC - Is this stuff deprecated? */ | /* SPC - Is this stuff deprecated? */ | ||||
| /* It'll be removed as of libpng-1.3.0 - GR-P */ | /* It'll be removed as of libpng-1.3.0 - GR-P */ | ||||
| /* libpng typedefs for types in zlib. If zlib changes | /* libpng typedefs for types in zlib. If zlib changes | ||||
| @@ -791,7 +791,10 @@ png_process_IDAT_data(png_structp png_ptr, png_bytep buffer, | |||||
| png_ptr->row_number == png_ptr->num_rows)) | png_ptr->row_number == png_ptr->num_rows)) | ||||
| { | { | ||||
| if (png_ptr->zstream.avail_in) | if (png_ptr->zstream.avail_in) | ||||
| { | |||||
| png_warning(png_ptr, "Too much data in IDAT chunks"); | png_warning(png_ptr, "Too much data in IDAT chunks"); | ||||
| } | |||||
| png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED; | png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED; | ||||
| break; | break; | ||||
| } | } | ||||
| @@ -37,10 +37,12 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "juce_DirectoryIterator.h" | #include "juce_DirectoryIterator.h" | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| void juce_findFileClose (void* handle); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| void juce_findFileClose (void* handle) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -55,7 +55,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| void* juce_fileOpen (const String& path, bool forWriting) throw(); | void* juce_fileOpen (const String& path, bool forWriting) throw(); | ||||
| void juce_fileClose (void* handle) throw(); | void juce_fileClose (void* handle) throw(); | ||||
| int juce_fileWrite (void* handle, void* buffer, int size) throw(); | |||||
| int juce_fileWrite (void* handle, const void* buffer, int size) throw(); | |||||
| int64 juce_fileGetPosition (void* handle) throw(); | int64 juce_fileGetPosition (void* handle) throw(); | ||||
| int64 juce_fileSetPosition (void* handle, int64 pos) throw(); | int64 juce_fileSetPosition (void* handle, int64 pos) throw(); | ||||
| void juce_fileFlush (void* handle) throw(); | void juce_fileFlush (void* handle) throw(); | ||||
| @@ -86,11 +86,13 @@ const String juce_getVolumeLabel (const String& filenameOnVolume, int& volumeSer | |||||
| // juce_firstResultFile gets the name of the file (not the whole pathname) and | // juce_firstResultFile gets the name of the file (not the whole pathname) and | ||||
| // the other pointers, if non-null, are set based on the properties of the file. | // the other pointers, if non-null, are set based on the properties of the file. | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, | |||||
| Time* creationTime, bool* isReadOnly) throw(); | |||||
| // returns false when no more files are found | // returns false when no more files are found | ||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| void juce_findFileClose (void* handle) throw(); | void juce_findFileClose (void* handle) throw(); | ||||
| @@ -516,7 +516,7 @@ const String URL::addEscapeChars (const String& s) | |||||
| //============================================================================== | //============================================================================== | ||||
| extern bool juce_launchFile (const String& fileName, | extern bool juce_launchFile (const String& fileName, | ||||
| const String& parameters); | |||||
| const String& parameters) throw(); | |||||
| bool URL::launchInDefaultBrowser() const | bool URL::launchInDefaultBrowser() const | ||||
| { | { | ||||
| @@ -54,10 +54,7 @@ | |||||
| #endif | #endif | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| uLong ZEXPORT adler32(adler, buf, len) | |||||
| uLong adler; | |||||
| const Bytef *buf; | |||||
| uInt len; | |||||
| uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len) | |||||
| { | { | ||||
| unsigned long sum2; | unsigned long sum2; | ||||
| unsigned n; | unsigned n; | ||||
| @@ -125,10 +122,7 @@ uLong ZEXPORT adler32(adler, buf, len) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| uLong ZEXPORT adler32_combine(adler1, adler2, len2) | |||||
| uLong adler1; | |||||
| uLong adler2; | |||||
| z_off_t len2; | |||||
| uLong ZEXPORT adler32_combine(uLong adler1, uLong adler2, z_off_t len2) | |||||
| { | { | ||||
| unsigned long sum1; | unsigned long sum1; | ||||
| unsigned long sum2; | unsigned long sum2; | ||||
| @@ -19,12 +19,8 @@ | |||||
| memory, Z_BUF_ERROR if there was not enough room in the output buffer, | memory, Z_BUF_ERROR if there was not enough room in the output buffer, | ||||
| Z_STREAM_ERROR if the level parameter is invalid. | Z_STREAM_ERROR if the level parameter is invalid. | ||||
| */ | */ | ||||
| int ZEXPORT compress2 (dest, destLen, source, sourceLen, level) | |||||
| Bytef *dest; | |||||
| uLongf *destLen; | |||||
| const Bytef *source; | |||||
| uLong sourceLen; | |||||
| int level; | |||||
| int ZEXPORT compress2 (Bytef *dest, uLongf *destLen, const Bytef *source, | |||||
| uLong sourceLen, int level) | |||||
| { | { | ||||
| z_stream stream; | z_stream stream; | ||||
| int err; | int err; | ||||
| @@ -59,11 +55,7 @@ int ZEXPORT compress2 (dest, destLen, source, sourceLen, level) | |||||
| /* =========================================================================== | /* =========================================================================== | ||||
| */ | */ | ||||
| int ZEXPORT compress (dest, destLen, source, sourceLen) | |||||
| Bytef *dest; | |||||
| uLongf *destLen; | |||||
| const Bytef *source; | |||||
| uLong sourceLen; | |||||
| int ZEXPORT compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen) | |||||
| { | { | ||||
| return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); | return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); | ||||
| } | } | ||||
| @@ -72,8 +64,7 @@ int ZEXPORT compress (dest, destLen, source, sourceLen) | |||||
| If the default memLevel or windowBits for deflateInit() is changed, then | If the default memLevel or windowBits for deflateInit() is changed, then | ||||
| this function needs to be updated. | this function needs to be updated. | ||||
| */ | */ | ||||
| uLong ZEXPORT compressBound (sourceLen) | |||||
| uLong sourceLen; | |||||
| uLong ZEXPORT compressBound (uLong sourceLen) | |||||
| { | { | ||||
| return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11; | return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11; | ||||
| } | } | ||||
| @@ -216,10 +216,7 @@ const unsigned long FAR * ZEXPORT get_crc_table() | |||||
| #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1 | #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1 | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| unsigned long ZEXPORT crc32(crc, buf, len) | |||||
| unsigned long crc; | |||||
| const unsigned char FAR *buf; | |||||
| unsigned len; | |||||
| unsigned long ZEXPORT crc32 (unsigned long crc, const unsigned char FAR *buf, unsigned len) | |||||
| { | { | ||||
| if (buf == Z_NULL) return 0UL; | if (buf == Z_NULL) return 0UL; | ||||
| @@ -259,10 +256,7 @@ unsigned long ZEXPORT crc32(crc, buf, len) | |||||
| #define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4 | #define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4 | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| local unsigned long crc32_little(crc, buf, len) | |||||
| unsigned long crc; | |||||
| const unsigned char FAR *buf; | |||||
| unsigned len; | |||||
| local unsigned long crc32_little(unsigned long crc, const unsigned char FAR *buf, unsigned len) | |||||
| { | { | ||||
| register u4 c; | register u4 c; | ||||
| register const u4 FAR *buf4; | register const u4 FAR *buf4; | ||||
| @@ -299,10 +293,7 @@ local unsigned long crc32_little(crc, buf, len) | |||||
| #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 | #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| local unsigned long crc32_big(crc, buf, len) | |||||
| unsigned long crc; | |||||
| const unsigned char FAR *buf; | |||||
| unsigned len; | |||||
| local unsigned long crc32_big (unsigned long crc, const unsigned char FAR *buf, unsigned len) | |||||
| { | { | ||||
| register u4 c; | register u4 c; | ||||
| register const u4 FAR *buf4; | register const u4 FAR *buf4; | ||||
| @@ -339,9 +330,7 @@ local unsigned long crc32_big(crc, buf, len) | |||||
| #define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ | #define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| local unsigned long gf2_matrix_times(mat, vec) | |||||
| unsigned long *mat; | |||||
| unsigned long vec; | |||||
| local unsigned long gf2_matrix_times (unsigned long *mat, unsigned long vec) | |||||
| { | { | ||||
| unsigned long sum; | unsigned long sum; | ||||
| @@ -356,9 +345,7 @@ local unsigned long gf2_matrix_times(mat, vec) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| local void gf2_matrix_square(square, mat) | |||||
| unsigned long *square; | |||||
| unsigned long *mat; | |||||
| local void gf2_matrix_square (unsigned long *square, unsigned long *mat) | |||||
| { | { | ||||
| int n; | int n; | ||||
| @@ -367,10 +354,7 @@ local void gf2_matrix_square(square, mat) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| uLong ZEXPORT crc32_combine(crc1, crc2, len2) | |||||
| uLong crc1; | |||||
| uLong crc2; | |||||
| z_off_t len2; | |||||
| uLong ZEXPORT crc32_combine (uLong crc1, uLong crc2, z_off_t len2) | |||||
| { | { | ||||
| int n; | int n; | ||||
| unsigned long row; | unsigned long row; | ||||
| @@ -201,11 +201,7 @@ struct static_tree_desc_s {int dummy;}; /* for buggy compilers */ | |||||
| zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head)); | zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head)); | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateInit_(strm, level, version, stream_size) | |||||
| z_streamp strm; | |||||
| int level; | |||||
| const char *version; | |||||
| int stream_size; | |||||
| int ZEXPORT deflateInit_(z_streamp strm, int level, const char *version, int stream_size) | |||||
| { | { | ||||
| return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, | return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, | ||||
| Z_DEFAULT_STRATEGY, version, stream_size); | Z_DEFAULT_STRATEGY, version, stream_size); | ||||
| @@ -213,16 +209,7 @@ int ZEXPORT deflateInit_(strm, level, version, stream_size) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, | |||||
| version, stream_size) | |||||
| z_streamp strm; | |||||
| int level; | |||||
| int method; | |||||
| int windowBits; | |||||
| int memLevel; | |||||
| int strategy; | |||||
| const char *version; | |||||
| int stream_size; | |||||
| int ZEXPORT deflateInit2_ (z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| int wrap = 1; | int wrap = 1; | ||||
| @@ -312,10 +299,7 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength) | |||||
| z_streamp strm; | |||||
| const Bytef *dictionary; | |||||
| uInt dictLength; | |||||
| int ZEXPORT deflateSetDictionary (z_streamp strm, const Bytef *dictionary, uInt dictLength) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| uInt length = dictLength; | uInt length = dictLength; | ||||
| @@ -354,8 +338,7 @@ int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateReset (strm) | |||||
| z_streamp strm; | |||||
| int ZEXPORT deflateReset (z_streamp strm) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| @@ -390,9 +373,7 @@ int ZEXPORT deflateReset (strm) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateSetHeader (strm, head) | |||||
| z_streamp strm; | |||||
| gz_headerp head; | |||||
| int ZEXPORT deflateSetHeader (z_streamp strm, gz_headerp head) | |||||
| { | { | ||||
| if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; | if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; | ||||
| if (strm->state->wrap != 2) return Z_STREAM_ERROR; | if (strm->state->wrap != 2) return Z_STREAM_ERROR; | ||||
| @@ -401,10 +382,7 @@ int ZEXPORT deflateSetHeader (strm, head) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflatePrime (strm, bits, value) | |||||
| z_streamp strm; | |||||
| int bits; | |||||
| int value; | |||||
| int ZEXPORT deflatePrime (z_streamp strm, int bits, int value) | |||||
| { | { | ||||
| if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; | if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; | ||||
| strm->state->bi_valid = bits; | strm->state->bi_valid = bits; | ||||
| @@ -413,10 +391,7 @@ int ZEXPORT deflatePrime (strm, bits, value) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateParams(strm, level, strategy) | |||||
| z_streamp strm; | |||||
| int level; | |||||
| int strategy; | |||||
| int ZEXPORT deflateParams (z_streamp strm, int level, int strategy) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| compress_func func; | compress_func func; | ||||
| @@ -451,12 +426,7 @@ int ZEXPORT deflateParams(strm, level, strategy) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain) | |||||
| z_streamp strm; | |||||
| int good_length; | |||||
| int max_lazy; | |||||
| int nice_length; | |||||
| int max_chain; | |||||
| int ZEXPORT deflateTune (z_streamp strm, int good_length, int max_lazy, int nice_length, int max_chain) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| @@ -486,9 +456,7 @@ int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain) | |||||
| * But even the conservative upper bound of about 14% expansion does not | * But even the conservative upper bound of about 14% expansion does not | ||||
| * seem onerous for output buffer allocation. | * seem onerous for output buffer allocation. | ||||
| */ | */ | ||||
| uLong ZEXPORT deflateBound(strm, sourceLen) | |||||
| z_streamp strm; | |||||
| uLong sourceLen; | |||||
| uLong ZEXPORT deflateBound (z_streamp strm, uLong sourceLen) | |||||
| { | { | ||||
| deflate_state *s; | deflate_state *s; | ||||
| uLong destLen; | uLong destLen; | ||||
| @@ -515,9 +483,7 @@ uLong ZEXPORT deflateBound(strm, sourceLen) | |||||
| * IN assertion: the stream state is correct and there is enough room in | * IN assertion: the stream state is correct and there is enough room in | ||||
| * pending_buf. | * pending_buf. | ||||
| */ | */ | ||||
| local void putShortMSB (s, b) | |||||
| deflate_state *s; | |||||
| uInt b; | |||||
| local void putShortMSB (deflate_state *s, uInt b) | |||||
| { | { | ||||
| put_byte(s, (Byte)(b >> 8)); | put_byte(s, (Byte)(b >> 8)); | ||||
| put_byte(s, (Byte)(b & 0xff)); | put_byte(s, (Byte)(b & 0xff)); | ||||
| @@ -529,8 +495,7 @@ local void putShortMSB (s, b) | |||||
| * to avoid allocating a large strm->next_out buffer and copying into it. | * to avoid allocating a large strm->next_out buffer and copying into it. | ||||
| * (See also read_buf()). | * (See also read_buf()). | ||||
| */ | */ | ||||
| local void flush_pending(strm) | |||||
| z_streamp strm; | |||||
| local void flush_pending (z_streamp strm) | |||||
| { | { | ||||
| unsigned len = strm->state->pending; | unsigned len = strm->state->pending; | ||||
| @@ -549,9 +514,7 @@ local void flush_pending(strm) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflate (strm, flush) | |||||
| z_streamp strm; | |||||
| int flush; | |||||
| int ZEXPORT deflate (z_streamp strm, int flush) | |||||
| { | { | ||||
| int old_flush; /* value of flush param for previous deflate call */ | int old_flush; /* value of flush param for previous deflate call */ | ||||
| deflate_state *s; | deflate_state *s; | ||||
| @@ -856,8 +819,7 @@ int ZEXPORT deflate (strm, flush) | |||||
| } | } | ||||
| /* ========================================================================= */ | /* ========================================================================= */ | ||||
| int ZEXPORT deflateEnd (strm) | |||||
| z_streamp strm; | |||||
| int ZEXPORT deflateEnd (z_streamp strm) | |||||
| { | { | ||||
| int status; | int status; | ||||
| @@ -891,9 +853,7 @@ int ZEXPORT deflateEnd (strm) | |||||
| * To simplify the source, this is not supported for 16-bit MSDOS (which | * To simplify the source, this is not supported for 16-bit MSDOS (which | ||||
| * doesn't have enough memory anyway to duplicate compression states). | * doesn't have enough memory anyway to duplicate compression states). | ||||
| */ | */ | ||||
| int ZEXPORT deflateCopy (dest, source) | |||||
| z_streamp dest; | |||||
| z_streamp source; | |||||
| int ZEXPORT deflateCopy (z_streamp dest, z_streamp source) | |||||
| { | { | ||||
| #ifdef MAXSEG_64K | #ifdef MAXSEG_64K | ||||
| return Z_STREAM_ERROR; | return Z_STREAM_ERROR; | ||||
| @@ -953,10 +913,7 @@ int ZEXPORT deflateCopy (dest, source) | |||||
| * allocating a large strm->next_in buffer and copying from it. | * allocating a large strm->next_in buffer and copying from it. | ||||
| * (See also flush_pending()). | * (See also flush_pending()). | ||||
| */ | */ | ||||
| local int read_buf(strm, buf, size) | |||||
| z_streamp strm; | |||||
| Bytef *buf; | |||||
| unsigned size; | |||||
| local int read_buf (z_streamp strm, Bytef *buf, unsigned size) | |||||
| { | { | ||||
| unsigned len = strm->avail_in; | unsigned len = strm->avail_in; | ||||
| @@ -983,8 +940,7 @@ local int read_buf(strm, buf, size) | |||||
| /* =========================================================================== | /* =========================================================================== | ||||
| * Initialize the "longest match" routines for a new zlib stream | * Initialize the "longest match" routines for a new zlib stream | ||||
| */ | */ | ||||
| local void lm_init (s) | |||||
| deflate_state *s; | |||||
| local void lm_init (deflate_state *s) | |||||
| { | { | ||||
| s->window_size = (ulg)2L*s->w_size; | s->window_size = (ulg)2L*s->w_size; | ||||
| @@ -1024,9 +980,7 @@ local void lm_init (s) | |||||
| /* For 80x86 and 680x0, an optimized version will be provided in match.asm or | /* For 80x86 and 680x0, an optimized version will be provided in match.asm or | ||||
| * match.S. The code will be functionally equivalent. | * match.S. The code will be functionally equivalent. | ||||
| */ | */ | ||||
| local uInt longest_match(s, cur_match) | |||||
| deflate_state *s; | |||||
| IPos cur_match; /* current match */ | |||||
| local uInt longest_match(deflate_state *s, IPos cur_match) | |||||
| { | { | ||||
| unsigned chain_length = s->max_chain_length;/* max hash chain length */ | unsigned chain_length = s->max_chain_length;/* max hash chain length */ | ||||
| register Bytef *scan = s->window + s->strstart; /* current string */ | register Bytef *scan = s->window + s->strstart; /* current string */ | ||||
| @@ -1172,9 +1126,7 @@ local uInt longest_match(s, cur_match) | |||||
| /* --------------------------------------------------------------------------- | /* --------------------------------------------------------------------------- | ||||
| * Optimized version for level == 1 or strategy == Z_RLE only | * Optimized version for level == 1 or strategy == Z_RLE only | ||||
| */ | */ | ||||
| local uInt longest_match_fast(s, cur_match) | |||||
| deflate_state *s; | |||||
| IPos cur_match; /* current match */ | |||||
| local uInt longest_match_fast (deflate_state *s, IPos cur_match) | |||||
| { | { | ||||
| register Bytef *scan = s->window + s->strstart; /* current string */ | register Bytef *scan = s->window + s->strstart; /* current string */ | ||||
| register Bytef *match; /* matched string */ | register Bytef *match; /* matched string */ | ||||
| @@ -1229,10 +1181,7 @@ local uInt longest_match_fast(s, cur_match) | |||||
| /* =========================================================================== | /* =========================================================================== | ||||
| * Check that the match at match_start is indeed a match. | * Check that the match at match_start is indeed a match. | ||||
| */ | */ | ||||
| local void check_match(s, start, match, length) | |||||
| deflate_state *s; | |||||
| IPos start, match; | |||||
| int length; | |||||
| local void check_match(deflate_state *s, IPos start, IPos match, int length) | |||||
| { | { | ||||
| /* check that the match is indeed a match */ | /* check that the match is indeed a match */ | ||||
| if (zmemcmp(s->window + match, | if (zmemcmp(s->window + match, | ||||
| @@ -1263,8 +1212,7 @@ local void check_match(s, start, match, length) | |||||
| * performed for at least two bytes (required for the zip translate_eol | * performed for at least two bytes (required for the zip translate_eol | ||||
| * option -- not supported here). | * option -- not supported here). | ||||
| */ | */ | ||||
| local void fill_window(s) | |||||
| deflate_state *s; | |||||
| local void fill_window (deflate_state *s) | |||||
| { | { | ||||
| register unsigned n, m; | register unsigned n, m; | ||||
| register Posf *p; | register Posf *p; | ||||
| @@ -1387,9 +1335,7 @@ local void fill_window(s) | |||||
| * NOTE: this function should be optimized to avoid extra copying from | * NOTE: this function should be optimized to avoid extra copying from | ||||
| * window to pending_buf. | * window to pending_buf. | ||||
| */ | */ | ||||
| local block_state deflate_stored(s, flush) | |||||
| deflate_state *s; | |||||
| int flush; | |||||
| local block_state deflate_stored(deflate_state *s, int flush) | |||||
| { | { | ||||
| /* Stored blocks are limited to 0xffff bytes, pending_buf is limited | /* Stored blocks are limited to 0xffff bytes, pending_buf is limited | ||||
| * to pending_buf_size, and each stored block has a 5 byte header: | * to pending_buf_size, and each stored block has a 5 byte header: | ||||
| @@ -1445,9 +1391,7 @@ local block_state deflate_stored(s, flush) | |||||
| * new strings in the dictionary only for unmatched strings or for short | * new strings in the dictionary only for unmatched strings or for short | ||||
| * matches. It is used only for the fast compression options. | * matches. It is used only for the fast compression options. | ||||
| */ | */ | ||||
| local block_state deflate_fast(s, flush) | |||||
| deflate_state *s; | |||||
| int flush; | |||||
| local block_state deflate_fast(deflate_state *s, int flush) | |||||
| { | { | ||||
| IPos hash_head = NIL; /* head of the hash chain */ | IPos hash_head = NIL; /* head of the hash chain */ | ||||
| int bflush; /* set if current block must be flushed */ | int bflush; /* set if current block must be flushed */ | ||||
| @@ -1551,9 +1495,7 @@ local block_state deflate_fast(s, flush) | |||||
| * evaluation for matches: a match is finally adopted only if there is | * evaluation for matches: a match is finally adopted only if there is | ||||
| * no better match at the next window position. | * no better match at the next window position. | ||||
| */ | */ | ||||
| local block_state deflate_slow(s, flush) | |||||
| deflate_state *s; | |||||
| int flush; | |||||
| local block_state deflate_slow(deflate_state *s, int flush) | |||||
| { | { | ||||
| IPos hash_head = NIL; /* head of hash chain */ | IPos hash_head = NIL; /* head of hash chain */ | ||||
| int bflush; /* set if current block must be flushed */ | int bflush; /* set if current block must be flushed */ | ||||
| @@ -23,6 +23,8 @@ | |||||
| # define GZIP | # define GZIP | ||||
| #endif | #endif | ||||
| #define NO_DUMMY_DECL | |||||
| /* =========================================================================== | /* =========================================================================== | ||||
| * Internal compression state. | * Internal compression state. | ||||
| */ | */ | ||||