[xiph-commits] r11853 - in trunk/oggdsf/src/lib: codecs/theora/filters/dsfTheoraEncoder codecs/vorbis/filters/dsfVorbisDecoder core/directshow/dsfSubtitleVMR9

illiminable at svn.xiph.org illiminable at svn.xiph.org
Sat Sep 23 08:56:14 PDT 2006


Author: illiminable
Date: 2006-09-23 08:55:59 -0700 (Sat, 23 Sep 2006)
New Revision: 11853

Modified:
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/ITheoraEncodeSettings.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/PropsTheoraEncoder.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.aps
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.rc
   trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/resource.h
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/dsfSubtitleVMR9.vcproj
Log:
* Add more encoder options and expose them on the proeprties page... not quite finished.

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/ITheoraEncodeSettings.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/ITheoraEncodeSettings.h	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/ITheoraEncodeSettings.h	2006-09-23 15:55:59 UTC (rev 11853)
@@ -31,13 +31,26 @@
 DECLARE_INTERFACE_(ITheoraEncodeSettings, IUnknown) {
 
 	virtual STDMETHODIMP_(unsigned long) targetBitrate() PURE;
-	
+    virtual STDMETHODIMP_(unsigned long) keyFrameDataBitrate() PURE;
 	virtual STDMETHODIMP_(unsigned char) quality() PURE;
+    virtual STDMETHODIMP_(long) sharpness() PURE;
+    virtual STDMETHODIMP_(long) noiseSensitivity() PURE;
 	virtual STDMETHODIMP_(unsigned long) keyframeFreq() PURE;
+    virtual STDMETHODIMP_(bool) isFixedKeyframeInterval() PURE;
+    virtual STDMETHODIMP_(bool) allowDroppedFrames() PURE;
+	virtual STDMETHODIMP_(unsigned long) keyframeFreqMin() PURE;
+    virtual STDMETHODIMP_(long) keyframeAutoThreshold() PURE;
 
 	virtual STDMETHODIMP_(bool) setTargetBitrate(unsigned long inBitrate) PURE;
+    virtual STDMETHODIMP_(bool) setKeyframeDataBitrate(unsigned long inBitrate) PURE;
 	virtual STDMETHODIMP_(bool) setQuality(unsigned char inQuality) PURE;
+    virtual STDMETHODIMP_(bool) setSharpness(long inSharpness) PURE;
+    virtual STDMETHODIMP_(bool) setNoiseSensitivity(long inNoiseSensitivity) PURE;
 	virtual STDMETHODIMP_(bool) setKeyframeFreq(unsigned long inKeyframeFreq) PURE;
+    virtual STDMETHODIMP_(bool) setIsFixedKeyframeInterval(bool inIsFixedKeyframeInterval) PURE;
+    virtual STDMETHODIMP_(bool) setAllowDroppedFrames(bool inAllowDroppedFrames) PURE;
+    virtual STDMETHODIMP_(bool) setKeyframeFreqMin(unsigned long inKeyframeFreqMin) PURE;
+    virtual STDMETHODIMP_(bool) setKeyframeAutoThreshold(long inKeyframeAutoThreshold) PURE;
 
 
 };

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/PropsTheoraEncoder.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/PropsTheoraEncoder.cpp	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/PropsTheoraEncoder.cpp	2006-09-23 15:55:59 UTC (rev 11853)
@@ -86,7 +86,7 @@
 HRESULT PropsTheoraEncoder::OnActivate(void)
 {
     
-    char* locStrBuff = new char[16];
+    wchar_t* locStrBuff = new wchar_t[16];
 
 	//SetupBitrateCombo();
 	//SetupKeyframeFreqCombo();
@@ -100,20 +100,88 @@
     SendDlgItemMessage(m_Dlg, IDC_SLIDER_LOG_KEYFRAME, TBM_SETTICFREQ, 1, 0);
     SendDlgItemMessage(m_Dlg, IDC_SLIDER_LOG_KEYFRAME, TBM_SETPOS, 1, log2(mTheoraEncodeSettings->keyframeFreq()));
 
-	SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE, TBM_SETRANGE, TRUE, MAKELONG(64, 1984));
+	SendDlgItemMessage(m_Dlg, IDC_SLIDER_LOG_KEYFRAME_MIN, TBM_SETRANGE, TRUE, MAKELONG(0, 13));
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_LOG_KEYFRAME_MIN, TBM_SETTICFREQ, 1, 0);
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_LOG_KEYFRAME_MIN, TBM_SETPOS, 1, log2(mTheoraEncodeSettings->keyframeFreqMin()));
+
+	SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE, TBM_SETRANGE, TRUE, MAKELONG(64, 3968));
     SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE, TBM_SETTICFREQ, 32, 0);
     SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE, TBM_SETPOS, 1, mTheoraEncodeSettings->targetBitrate() / 1000);
 
+	SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE_KEYFRAME, TBM_SETRANGE, TRUE, MAKELONG(64, 7936));
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE_KEYFRAME, TBM_SETTICFREQ, 32, 0);
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_BITRATE_KEYFRAME, TBM_SETPOS, 1, mTheoraEncodeSettings->keyFrameDataBitrate() / 1000);
 
-	itoa(mTheoraEncodeSettings->quality(), locStrBuff, 10);
+	SendDlgItemMessage(m_Dlg, IDC_SLIDER_KF_THRESHOLD, TBM_SETRANGE, TRUE, MAKELONG(0, 100));
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_KF_THRESHOLD, TBM_SETTICFREQ, 1, 0);
+    SendDlgItemMessage(m_Dlg, IDC_SLIDER_KF_THRESHOLD, TBM_SETPOS, 1, log2(mTheoraEncodeSettings->keyframeAutoThreshold()));
+
+
+
+
+
+
+	_itow(mTheoraEncodeSettings->quality(), locStrBuff, 10);
 	SendDlgItemMessage(m_Dlg, IDC_LABEL_QUALITY, WM_SETTEXT, NOT_USED, (LPARAM)locStrBuff);
 
-	itoa(mTheoraEncodeSettings->keyframeFreq(), locStrBuff, 10);
+	_itow(mTheoraEncodeSettings->keyframeFreq(), locStrBuff, 10);
 	SendDlgItemMessage(m_Dlg, IDC_LABEL_LOG_KEYFRAME, WM_SETTEXT,NOT_USED,  (LPARAM)locStrBuff);
 
-	itoa(mTheoraEncodeSettings->targetBitrate(), locStrBuff, 10);
+	_itow(mTheoraEncodeSettings->targetBitrate(), locStrBuff, 10);
 	SendDlgItemMessage(m_Dlg, IDC_LABEL_BITRATE, WM_SETTEXT,NOT_USED,  (LPARAM)locStrBuff);
 
+	_itow(mTheoraEncodeSettings->keyFrameDataBitrate(), locStrBuff, 10);
+	SendDlgItemMessage(m_Dlg, IDC_LABEL_BITRATE_KEYFRAME, WM_SETTEXT,NOT_USED,  (LPARAM)locStrBuff);
+
+
+	_itow(mTheoraEncodeSettings->keyframeFreqMin(), locStrBuff, 10);
+	SendDlgItemMessage(m_Dlg, IDC_LABEL_LOG_KEYFRAME_MIN, WM_SETTEXT,NOT_USED,  (LPARAM)locStrBuff);
+
+
+	_itow(mTheoraEncodeSettings->keyframeAutoThreshold(), locStrBuff, 10);
+	SendDlgItemMessage(m_Dlg, IDC_LABEL_KF_THRESHOLD, WM_SETTEXT,NOT_USED,  (LPARAM)locStrBuff);
+
+
+
+
+    wstring locListString = L"0 - Sharpest (default)";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_SHARPNESS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"1 - Sharper";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_SHARPNESS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"2 - Sharp (fastest)";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_SHARPNESS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+
+    SendDlgItemMessage(m_Dlg, IDC_LIST_SHARPNESS, LB_SETSEL, (WPARAM)mTheoraEncodeSettings->sharpness(), NOT_USED);
+
+    locListString = L"0 - Most sensitive";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"1 - Theora default";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"2 - VP3 default";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"3 - ";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"4 - ";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"5 - ";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"6 - Least sensitive";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    locListString = L"? - Fallback (2.5)";
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_ADDSTRING, NOT_USED,  (LPARAM)locListString.c_str());
+
+    SendDlgItemMessage(m_Dlg, IDC_LIST_NOISE_SENS, LB_SETCURSEL, (WPARAM)mTheoraEncodeSettings->noiseSensitivity(), NOT_USED);
+
 	delete[] locStrBuff;
     return S_OK;
 }
@@ -159,31 +227,67 @@
 }
 INT_PTR PropsTheoraEncoder::OnReceiveMessage(HWND hwnd,  UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
-	char locBuff[16];
+	wchar_t locBuff[16];
+    
     switch (uMsg)    {
 		case WM_COMMAND:
+            //TODO::: Need to check the high wparam ??
+            if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_FIXED_KFI_CHECK)) {
+                if (SendDlgItemMessage(m_hwnd,IDC_FIXED_KFI_CHECK, BM_GETCHECK, NOT_USED, NOT_USED)) {
+                    //Disable the extra stuff
+                }
+            } else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_CHECK_ALLOW_DROP_FRAMES)) {
+                if (SendDlgItemMessage(m_hwnd,IDC_CHECK_ALLOW_DROP_FRAMES, BM_GETCHECK, NOT_USED, NOT_USED)) {
+                    //Do we even need to catch this one?
+                }
+            }
+            break;
 		
 		case WM_HSCROLL:
 			if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_QUALITY)) {
 				SetDirty();
-				itoa(SendDlgItemMessage(m_hwnd,IDC_SLIDER_QUALITY, TBM_GETPOS, NOT_USED, NOT_USED), (char*)&locBuff, 10);
+				_itow(SendDlgItemMessage(m_hwnd,IDC_SLIDER_QUALITY, TBM_GETPOS, NOT_USED, NOT_USED), locBuff, 10);
 				SendDlgItemMessage(m_hwnd, IDC_LABEL_QUALITY, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
-                 return (INT_PTR)TRUE;
 
+                //TODO::: Kill the bitrate one
+                return (INT_PTR)TRUE;
+
 			} else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_BITRATE)) {
 				SetDirty();
-				itoa(SendDlgItemMessage(m_hwnd,IDC_SLIDER_BITRATE, TBM_GETPOS, NOT_USED, NOT_USED) * 1000, (char*)&locBuff, 10);
+				_itow(SendDlgItemMessage(m_hwnd,IDC_SLIDER_BITRATE, TBM_GETPOS, NOT_USED, NOT_USED) * 1000, locBuff, 10);
 				SendDlgItemMessage(m_hwnd, IDC_LABEL_BITRATE, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
+
+                //Kill the quailty one
                 return (INT_PTR)TRUE;
 
+			} else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_BITRATE_KEYFRAME)) {
+				SetDirty();
+				_itow(SendDlgItemMessage(m_hwnd,IDC_SLIDER_BITRATE_KEYFRAME, TBM_GETPOS, NOT_USED, NOT_USED) * 1000, locBuff, 10);
+				SendDlgItemMessage(m_hwnd, IDC_SLIDER_BITRATE_KEYFRAME, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
+
+                //Kill the quailty one
+                return (INT_PTR)TRUE;
+
 			} else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_LOG_KEYFRAME)) {
 				SetDirty();
-				itoa(pow2(SendDlgItemMessage(m_hwnd,IDC_SLIDER_LOG_KEYFRAME, TBM_GETPOS, NOT_USED, NOT_USED)), (char*)&locBuff, 10);
+				_itow(pow2(SendDlgItemMessage(m_hwnd,IDC_SLIDER_LOG_KEYFRAME, TBM_GETPOS, NOT_USED, NOT_USED)), locBuff, 10);
 				SendDlgItemMessage(m_hwnd, IDC_LABEL_LOG_KEYFRAME, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
                 return (INT_PTR)TRUE;
-			}
+			} else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_LOG_KEYFRAME_MIN)) {
+				SetDirty();
+				_itow(pow2(SendDlgItemMessage(m_hwnd,IDC_SLIDER_LOG_KEYFRAME_MIN, TBM_GETPOS, NOT_USED, NOT_USED)), locBuff, 10);
+				SendDlgItemMessage(m_hwnd, IDC_LABEL_LOG_KEYFRAME_MIN, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
+                return (INT_PTR)TRUE;
+            } else if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_SLIDER_KF_THRESHOLD)) {
+				SetDirty();
+				_itow(pow2(SendDlgItemMessage(m_hwnd,IDC_SLIDER_KF_THRESHOLD, TBM_GETPOS, NOT_USED, NOT_USED)), locBuff, 10);
+				SendDlgItemMessage(m_hwnd, IDC_LABEL_KF_THRESHOLD, WM_SETTEXT, NOT_USED, (LPARAM)&locBuff);
+                return (INT_PTR)TRUE;
+            }
 
 			break;
+
+         
     } // switch
 
     // Did not handle the message.

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.cpp	2006-09-23 15:55:59 UTC (rev 11853)
@@ -178,16 +178,51 @@
 }
 
 //Implementation of ITheoraEncodeSEttings
-STDMETHODIMP_(unsigned long) TheoraEncodeFilter::targetBitrate() {
+STDMETHODIMP_(unsigned long) TheoraEncodeFilter::targetBitrate() 
+{
 	return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->target_bitrate;
 }
-STDMETHODIMP_(unsigned char) TheoraEncodeFilter::quality() {
+STDMETHODIMP_(unsigned char) TheoraEncodeFilter::quality() 
+{
 	return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->quality;
 }
-STDMETHODIMP_(unsigned long) TheoraEncodeFilter::keyframeFreq() {
+STDMETHODIMP_(unsigned long) TheoraEncodeFilter::keyframeFreq() 
+{
 	return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_frequency;
 }
+STDMETHODIMP_(unsigned long) TheoraEncodeFilter::keyFrameDataBitrate()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_data_target_bitrate;
+}
 
+STDMETHODIMP_(long) TheoraEncodeFilter::sharpness()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->sharpness;    
+}
+STDMETHODIMP_(long) TheoraEncodeFilter::noiseSensitivity()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->noise_sensitivity;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::isFixedKeyframeInterval()
+{
+    return !((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_auto_p;
+}
+STDMETHODIMP_(bool) TheoraEncodeFilter::allowDroppedFrames()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->dropframes_p;
+}
+STDMETHODIMP_(unsigned long) TheoraEncodeFilter::keyframeFreqMin()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_mindistance;
+}
+STDMETHODIMP_(long) TheoraEncodeFilter::keyframeAutoThreshold()
+{
+    return ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_auto_threshold;
+}
+
+
+
 STDMETHODIMP_(bool) TheoraEncodeFilter::setTargetBitrate(unsigned long inBitrate) {
 	//Needs error checking
 	((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->target_bitrate = inBitrate;
@@ -212,6 +247,49 @@
 	return true;
 }
 
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setKeyframeDataBitrate(unsigned long inBitrate)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_data_target_bitrate = inBitrate;   
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setSharpness(long inSharpness)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->sharpness = inSharpness;
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setNoiseSensitivity(long inNoiseSensitivity)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->noise_sensitivity = inNoiseSensitivity;
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setIsFixedKeyframeInterval(bool inIsFixedKeyframeInterval)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_auto_p = inIsFixedKeyframeInterval ? 0 : 1;
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setAllowDroppedFrames(bool inAllowDroppedFrames)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->dropframes_p = inAllowDroppedFrames;
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setKeyframeFreqMin(unsigned long inKeyframeFreqMin)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_mindistance = inKeyframeFreqMin;
+    return true;
+}
+
+STDMETHODIMP_(bool) TheoraEncodeFilter::setKeyframeAutoThreshold(long inKeyframeAutoThreshold)
+{
+    ((TheoraEncodeInputPin*)mInputPin)->theoraInfo()->keyframe_auto_threshold = inKeyframeAutoThreshold;
+    return true;
+}
+
 //SpecifyPropertyPages Implementation
 STDMETHODIMP TheoraEncodeFilter::GetPages(CAUUID* outPropPages) {
 	if (outPropPages == NULL) return E_POINTER;

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeFilter.h	2006-09-23 15:55:59 UTC (rev 11853)
@@ -62,13 +62,32 @@
 	STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
 
 	//ITheoraEncodeSettings Implementation
-	STDMETHODIMP_(unsigned long) targetBitrate();
-	STDMETHODIMP_(unsigned char) quality();
-	STDMETHODIMP_(unsigned long) keyframeFreq();
+	virtual STDMETHODIMP_(unsigned long) targetBitrate();
+	virtual STDMETHODIMP_(unsigned char) quality();
+	virtual STDMETHODIMP_(unsigned long) keyframeFreq();
 
-	STDMETHODIMP_(bool) setTargetBitrate(unsigned long inBitrate);
-	STDMETHODIMP_(bool) setQuality(unsigned char inQuality);
-	STDMETHODIMP_(bool) setKeyframeFreq(unsigned long inKeyframeFreq);
+	virtual STDMETHODIMP_(bool) setTargetBitrate(unsigned long inBitrate);
+	virtual STDMETHODIMP_(bool) setQuality(unsigned char inQuality);
+	virtual STDMETHODIMP_(bool) setKeyframeFreq(unsigned long inKeyframeFreq);
+
+    virtual STDMETHODIMP_(unsigned long) keyFrameDataBitrate();
+
+    virtual STDMETHODIMP_(long) sharpness();
+    virtual STDMETHODIMP_(long) noiseSensitivity();
+
+    virtual STDMETHODIMP_(bool) isFixedKeyframeInterval();
+    virtual STDMETHODIMP_(bool) allowDroppedFrames();
+	virtual STDMETHODIMP_(unsigned long) keyframeFreqMin();
+    virtual STDMETHODIMP_(long) keyframeAutoThreshold();
+
+
+    virtual STDMETHODIMP_(bool) setKeyframeDataBitrate(unsigned long inBitrate);
+    virtual STDMETHODIMP_(bool) setSharpness(long inSharpness);
+    virtual STDMETHODIMP_(bool) setNoiseSensitivity(long inNoiseSensitivity);
+    virtual STDMETHODIMP_(bool) setIsFixedKeyframeInterval(bool inIsFixedKeyframeInterval);
+    virtual STDMETHODIMP_(bool) setAllowDroppedFrames(bool inAllowDroppedFrames);
+    virtual STDMETHODIMP_(bool) setKeyframeFreqMin(unsigned long inKeyframeFreqMin);
+    virtual STDMETHODIMP_(bool) setKeyframeAutoThreshold(long inKeyframeAutoThreshold);
 	//
 
 

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/TheoraEncodeInputPin.cpp	2006-09-23 15:55:59 UTC (rev 11853)
@@ -1351,7 +1351,7 @@
 	mTheoraInfo.quality=30; //video_q;
 
 	mTheoraInfo.dropframes_p=0;
-	mTheoraInfo.quick_p=1;
+	mTheoraInfo.quick_p=0;
 	mTheoraInfo.keyframe_auto_p=1;
 	mTheoraInfo.keyframe_frequency=64;   //If you change this... change the logged value below
 	mTheoraInfo.keyframe_frequency_force=64;  //ditto

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.aps
===================================================================
(Binary files differ)

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.rc
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.rc	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/dsfTheoraEncoder.rc	2006-09-23 15:55:59 UTC (rev 11853)
@@ -57,10 +57,10 @@
 BEGIN
     IDD_THEORA_ENCODE_SETTINGS, DIALOG
     BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 205
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 119
+        LEFTMARGIN, 2
+        RIGHTMARGIN, 210
+        TOPMARGIN, 2
+        BOTTOMMARGIN, 265
     END
 END
 #endif    // APSTUDIO_INVOKED
@@ -71,24 +71,39 @@
 // Dialog
 //
 
-IDD_THEORA_ENCODE_SETTINGS DIALOGEX 0, 0, 212, 126
+IDD_THEORA_ENCODE_SETTINGS DIALOGEX 0, 0, 217, 270
 STYLE DS_SETFONT | WS_CHILD | WS_BORDER
 FONT 8, "MS Sans Serif", 400, 0, 0x0
 BEGIN
-    GROUPBOX        "Quality",IDC_GROUP_QUALITY,15,81,167,31
-    CONTROL         "",IDC_SLIDER_QUALITY,"msctls_trackbar32",TBS_AUTOTICKS | 
-                    TBS_BOTH | WS_TABSTOP,20,96,159,11
-    GROUPBOX        "log2(Keyframe Freq.)",IDC_GROUP_LOG_KEYFRAME,15,47,167,
-                    31
-    CONTROL         "",IDC_SLIDER_LOG_KEYFRAME,"msctls_trackbar32",
-                    TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,19,64,159,11
-    GROUPBOX        "Target Bitrate",IDC_GROUP_BITRATE,15,14,167,30
-    CONTROL         "",IDC_SLIDER_BITRATE,"msctls_trackbar32",TBS_AUTOTICKS | 
-                    TBS_BOTH | WS_TABSTOP,22,30,158,11
-    LTEXT           "",IDC_LABEL_BITRATE,127,20,52,9,WS_BORDER,WS_EX_RIGHT
-    LTEXT           "",IDC_LABEL_LOG_KEYFRAME,127,53,52,9,WS_BORDER,
-                    WS_EX_RIGHT
-    LTEXT           "",IDC_LABEL_QUALITY,128,87,52,9,WS_BORDER,WS_EX_RIGHT
+    GROUPBOX        "Quality Settings",IDC_GROUP_QUALITY,2,2,204,90
+    CONTROL         "",IDC_SLIDER_QUALITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,26,193,11
+    GROUPBOX        "Keyframe Settings",IDC_GROUP_KEYFRAME,2,94,204,101
+    CONTROL         "",IDC_SLIDER_LOG_KEYFRAME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,111,193,11
+    CONTROL         "",IDC_SLIDER_BITRATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,52,192,11
+    LTEXT           "",IDC_LABEL_BITRATE,145,41,52,9,WS_BORDER,WS_EX_RIGHT
+    LTEXT           "",IDC_LABEL_LOG_KEYFRAME,147,102,50,9,WS_BORDER,WS_EX_RIGHT
+    LTEXT           "",IDC_LABEL_QUALITY,146,15,52,9,WS_BORDER,WS_EX_RIGHT
+    CONTROL         "",IDC_SLIDER_LOG_KEYFRAME_MIN,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,152,193,11
+    LTEXT           "",IDC_LABEL_LOG_KEYFRAME_MIN,147,142,52,9,WS_BORDER,WS_EX_RIGHT
+    CONTROL         "Fixed Keyframe Interval",IDC_FIXED_KFI_CHECK,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,11,128,100,11
+    CONTROL         "",IDC_SLIDER_KF_THRESHOLD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,178,193,11
+    LTEXT           "",IDC_LABEL_KF_THRESHOLD,147,167,52,9,WS_BORDER,WS_EX_RIGHT
+    LISTBOX         IDC_LIST_SHARPNESS,89,210,111,14,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_LIST_NOISE_SENS,89,231,110,14,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    RTEXT           "Target Bitrate",IDC_STATIC_BITRATE,84,41,56,10
+    RTEXT           "Q-Value",IDC_STATIC_Q_VALUE,102,15,41,10
+    CONTROL         "Allow Dropped Frames",IDC_CHECK_ALLOW_DROP_FRAMES,
+                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,89,250,105,8
+    GROUPBOX        "Advanced Settings",IDC_GROUP_QUALITY2,2,199,204,66
+    RTEXT           "Max. Interval",IDC_STATIC_KF_MAX,96,102,48,10
+    RTEXT           "Min. Interval",IDC_STATIC_BITRATE3,103,142,41,10
+    RTEXT           "Threshold",IDC_STATIC_BITRATE4,89,167,56,10
+    LTEXT           "Sharpness",IDC_STATIC_BITRATE5,17,213,68,10
+    LTEXT           "Noise Sensitivity",IDC_STATIC_BITRATE6,16,233,66,10
+    CONTROL         "",IDC_SLIDER_BITRATE_KEYFRAME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_BOTH | WS_TABSTOP,9,78,192,11
+    CONTROL         "Use Q-Mode",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,15,14,77,11
+    LTEXT           "",IDC_LABEL_BITRATE_KEYFRAME,144,69,52,9,WS_BORDER,WS_EX_RIGHT
+    RTEXT           "Keyframe Data Bitrate",IDC_STATIC_BITRATE_KEYFRAME,53,68,87,10
 END
 
 #endif    // English (U.S.) resources

Modified: trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/resource.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/resource.h	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/theora/filters/dsfTheoraEncoder/resource.h	2006-09-23 15:55:59 UTC (rev 11853)
@@ -6,14 +6,36 @@
 #define IDS_THEORA_ENC_PROPS_STRING     103
 #define IDC_GROUP_QUALITY               1005
 #define IDC_SLIDER_QUALITY              1006
+#define IDC_GROUP_QUALITY2              1007
 #define IDC_GROUP_LOG_KEYFRAME          1014
+#define IDC_GROUP_KEYFRAME              1014
 #define IDC_SLIDER_LOG_KEYFRAME         1015
 #define IDC_GROUP_BITRATE               1016
 #define IDC_SLIDER_BITRATE              1017
+#define IDC_SLIDER_BITRATE_KEYFRAME     1018
 #define IDC_LABEL_BITRATE               1019
 #define IDC_LABEL_LOG_KEYFRAME          1020
 #define IDC_LABEL_BITRATE3              1021
 #define IDC_LABEL_QUALITY               1021
+#define IDC_SLIDER_LOG_KEYFRAME_MIN     1022
+#define IDC_LABEL_LOG_KEYFRAME_MIN      1023
+#define IDC_FIXED_KFI_CHECK             1024
+#define IDC_LABEL_BITRATE_KEYFRAME      1025
+#define IDC_SLIDER_KF_THRESHOLD         1026
+#define IDC_LABEL_KF_THRESHOLD          1027
+#define IDC_LIST_SHARPNESS              1028
+#define IDC_LIST_NOISE_SENS             1029
+#define IDC_STATIC_BITRATE              1030
+#define IDC_STATIC_Q_VALUE              1031
+#define IDC_CHECK_ALLOW_DROP_FRAMES     1032
+#define IDC_STATIC_KF_MAX               1033
+#define IDC_STATIC_BITRATE3             1034
+#define IDC_STATIC_BITRATE4             1035
+#define IDC_STATIC_BITRATE5             1036
+#define IDC_STATIC_BITRATE6             1037
+#define IDC_CHECK3                      1038
+#define IDC_STATIC_BITRATE2             1039
+#define IDC_STATIC_BITRATE_KEYFRAME     1039
 
 // Next default values for new objects
 // 
@@ -21,7 +43,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        104
 #define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1020
+#define _APS_NEXT_CONTROL_VALUE         1039
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2006-09-23 15:55:59 UTC (rev 11853)
@@ -377,7 +377,8 @@
 LOOG_INT64 VorbisDecodeInputPin::mustSeekBefore(LOOG_INT64 inGranule)
 {
 	//TODO::: Get adjustment from block size info... for now, it doesn't matter if no preroll
-	return inGranule;
+    //return (inGranule <= 4096) ? 0 : (inGranule - 4096);
+    return inGranule;
 }
 IOggDecoder::eAcceptHeaderResult VorbisDecodeInputPin::showHeaderPacket(OggPacket* inCodecHeaderPacket)
 {

Modified: trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/dsfSubtitleVMR9.vcproj
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/dsfSubtitleVMR9.vcproj	2006-09-23 10:16:29 UTC (rev 11852)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSubtitleVMR9/dsfSubtitleVMR9.vcproj	2006-09-23 15:55:59 UTC (rev 11853)
@@ -187,12 +187,13 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
-			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
-			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
+			WholeProgramOptimization="1"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
@@ -208,18 +209,24 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
-				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				ExecutionBucket="7"
-				Optimization="0"
+				Optimization="2"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
 				AdditionalIncludeDirectories="..\BaseClasses"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
-				MinimalRebuild="true"
-				RuntimeLibrary="3"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
+				StringPooling="true"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -232,45 +239,48 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib unicows.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
-				LinkIncremental="2"
+				LinkIncremental="1"
 				AdditionalLibraryDirectories=""
 				ModuleDefinitionFile="subtitleVMR9.def"
 				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				OptimizeForWindows98="1"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="0"
+				TargetMachine="1"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCCodeSignTool"
+				Name="VCFxCopTool"
 			/>
 			<Tool
-				Name="VCPostBuildEventTool"
+				Name="VCAppVerifierTool"
 			/>
-			<DeploymentTool
-				ForceDirty="-1"
-				RemoteDirectory=""
-				RegisterOutput="0"
-				AdditionalFiles=""
+			<Tool
+				Name="VCWebDeploymentTool"
 			/>
-			<DebuggerTool
+			<Tool
+				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
 		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
+			Name="Release|Pocket PC 2003 (ARMV4)"
+			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -290,14 +300,15 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
+				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
 				Optimization="2"
 				InlineFunctionExpansion="2"
 				EnableIntrinsicFunctions="true"
 				FavorSizeOrSpeed="1"
-				OmitFramePointers="true"
 				AdditionalIncludeDirectories="..\BaseClasses"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
 				StringPooling="true"
@@ -305,9 +316,7 @@
 				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
 				DebugInformationFormat="3"
-				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -320,7 +329,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib unicows.lib"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
 				LinkIncremental="1"
 				AdditionalLibraryDirectories=""
@@ -331,41 +340,39 @@
 				EnableCOMDATFolding="2"
 				OptimizeForWindows98="1"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="1"
+				TargetMachine="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCFxCopTool"
+				Name="VCCodeSignTool"
 			/>
 			<Tool
-				Name="VCAppVerifierTool"
+				Name="VCPostBuildEventTool"
 			/>
-			<Tool
-				Name="VCWebDeploymentTool"
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
 			/>
-			<Tool
-				Name="VCPostBuildEventTool"
+			<DebuggerTool
 			/>
 		</Configuration>
 		<Configuration
-			Name="Release|Pocket PC 2003 (ARMV4)"
-			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
-			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			Name="Debug_CE_ARM|Win32"
+			OutputDirectory="$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
-			WholeProgramOptimization="1"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
@@ -381,23 +388,20 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
-				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				ExecutionBucket="7"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
+				Optimization="0"
 				AdditionalIncludeDirectories="..\BaseClasses"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
-				DebugInformationFormat="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -412,49 +416,47 @@
 				Name="VCLinkerTool"
 				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
-				LinkIncremental="1"
+				LinkIncremental="2"
 				AdditionalLibraryDirectories=""
 				ModuleDefinitionFile="subtitleVMR9.def"
 				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="0"
+				TargetMachine="1"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCCodeSignTool"
+				Name="VCFxCopTool"
 			/>
 			<Tool
-				Name="VCPostBuildEventTool"
+				Name="VCAppVerifierTool"
 			/>
-			<DeploymentTool
-				ForceDirty="-1"
-				RemoteDirectory=""
-				RegisterOutput="0"
-				AdditionalFiles=""
+			<Tool
+				Name="VCWebDeploymentTool"
 			/>
-			<DebuggerTool
+			<Tool
+				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
 		<Configuration
-			Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
-			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
-			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)"
+			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
-			WholeProgramOptimization="1"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
@@ -475,18 +477,13 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				ExecutionBucket="7"
-				Optimization="2"
-				InlineFunctionExpansion="2"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
+				Optimization="0"
 				AdditionalIncludeDirectories="..\BaseClasses"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
-				StringPooling="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
+				MinimalRebuild="true"
+				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
-				DebugInformationFormat="3"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -501,14 +498,12 @@
 				Name="VCLinkerTool"
 				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
-				LinkIncremental="1"
+				LinkIncremental="2"
 				AdditionalLibraryDirectories=""
 				ModuleDefinitionFile="subtitleVMR9.def"
 				GenerateDebugInformation="true"
+				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				OptimizeForWindows98="1"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
 				TargetMachine="0"
 			/>
@@ -537,7 +532,7 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_CE_ARM|Win32"
+			Name="Debug_WM5_PPC_ARM|Win32"
 			OutputDirectory="$(ConfigurationName)"
 			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
@@ -621,7 +616,7 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)"
+			Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
 			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
 			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
 			ConfigurationType="2"
@@ -702,9 +697,9 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
-			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
-			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			Name="Release_WM5_PPC_ARM|Win32"
+			OutputDirectory="$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -723,18 +718,20 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
-				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				ExecutionBucket="7"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\BaseClasses"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
 				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -756,36 +753,37 @@
 				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="0"
+				TargetMachine="1"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCCodeSignTool"
+				Name="VCFxCopTool"
 			/>
 			<Tool
-				Name="VCPostBuildEventTool"
+				Name="VCAppVerifierTool"
 			/>
-			<DeploymentTool
-				ForceDirty="-1"
-				RemoteDirectory=""
-				RegisterOutput="0"
-				AdditionalFiles=""
+			<Tool
+				Name="VCWebDeploymentTool"
 			/>
-			<DebuggerTool
+			<Tool
+				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_WM5_PPC_ARM|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
+			Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
+			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -804,20 +802,18 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
+				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\BaseClasses"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
 				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -839,37 +835,36 @@
 				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="1"
+				TargetMachine="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCFxCopTool"
+				Name="VCCodeSignTool"
 			/>
 			<Tool
-				Name="VCAppVerifierTool"
+				Name="VCPostBuildEventTool"
 			/>
-			<Tool
-				Name="VCWebDeploymentTool"
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
 			/>
-			<Tool
-				Name="VCPostBuildEventTool"
+			<DebuggerTool
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
-			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
-			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -948,12 +943,13 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+			Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
 			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
+			WholeProgramOptimization="1"
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
@@ -974,13 +970,18 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				ExecutionBucket="7"
-				Optimization="0"
+				Optimization="2"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
 				AdditionalIncludeDirectories="..\BaseClasses"
-				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
-				MinimalRebuild="true"
-				RuntimeLibrary="3"
+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
+				StringPooling="true"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
+				DebugInformationFormat="3"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -993,14 +994,16 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="strmbase.lib strmiids.lib"
+				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
-				LinkIncremental="2"
+				LinkIncremental="1"
 				AdditionalLibraryDirectories=""
 				ModuleDefinitionFile="subtitleVMR9.def"
 				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				OptimizeForWindows98="1"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
 				TargetMachine="0"
 			/>
@@ -1029,9 +1032,9 @@
 			/>
 		</Configuration>
 		<Configuration
-			Name="Release_WM5_PPC_ARM|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
+			Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -1050,20 +1053,18 @@
 			/>
 			<Tool
 				Name="VCMIDLTool"
+				TargetEnvironment="1"
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				ExecutionBucket="7"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\BaseClasses"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFSUBTITLEVMR9_EXPORTS"
 				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
 				WarningLevel="4"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-				CallingConvention="2"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -1085,37 +1086,36 @@
 				ProgramDatabaseFile="$(OutDir)/dsfSubtitleVMR9.pdb"
 				SubSystem="2"
 				ImportLibrary="$(OutDir)/dsfSubtitleVMR9.lib"
-				TargetMachine="1"
+				TargetMachine="0"
 			/>
 			<Tool
 				Name="VCALinkTool"
 			/>
 			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
 				Name="VCXDCMakeTool"
 			/>
 			<Tool
 				Name="VCBscMakeTool"
 			/>
 			<Tool
-				Name="VCFxCopTool"
+				Name="VCCodeSignTool"
 			/>
 			<Tool
-				Name="VCAppVerifierTool"
+				Name="VCPostBuildEventTool"
 			/>
-			<Tool
-				Name="VCWebDeploymentTool"
+			<DeploymentTool
+				ForceDirty="-1"
+				RemoteDirectory=""
+				RegisterOutput="0"
+				AdditionalFiles=""
 			/>
-			<Tool
-				Name="VCPostBuildEventTool"
+			<DebuggerTool
 			/>
 		</Configuration>
 		<Configuration
-			Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
-			OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
-			IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+			Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+			OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+			IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
 			ConfigurationType="2"
 			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 			CharacterSet="1"
@@ -1158,7 +1158,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="Winmm.lib Strmiids.lib Quartz.lib"
+				AdditionalDependencies="strmbase.lib strmiids.lib"
 				OutputFile="$(OutDir)/dsfSubtitleVMR9.dll"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories=""
@@ -1302,7 +1302,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					Name="Release|Win32"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1310,7 +1310,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Release|Win32"
+					Name="Release|Pocket PC 2003 (ARMV4)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1318,7 +1318,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Release|Pocket PC 2003 (ARMV4)"
+					Name="Debug_CE_ARM|Win32"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1326,7 +1326,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1334,7 +1334,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_CE_ARM|Win32"
+					Name="Debug_WM5_PPC_ARM|Win32"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1342,7 +1342,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_CE_ARM|Pocket PC 2003 (ARMV4)"
+					Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1350,7 +1350,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					Name="Release_WM5_PPC_ARM|Win32"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1358,7 +1358,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_WM5_PPC_ARM|Win32"
+					Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1366,7 +1366,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
+					Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1374,7 +1374,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+					Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1382,7 +1382,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Release_WM5_PPC_ARM|Win32"
+					Name="Debug_CE_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"
@@ -1390,7 +1390,7 @@
 					/>
 				</FileConfiguration>
 				<FileConfiguration
-					Name="Release_WM5_PPC_ARM|Pocket PC 2003 (ARMV4)"
+					Name="Debug_WM5_PPC_ARM|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
 					>
 					<Tool
 						Name="VCCLCompilerTool"



More information about the commits mailing list