Interlaced data support
WMPTalk.com Forum Index WMPTalk.com
Discuss Windows Media Player
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web wmptalk.com
Interlaced data support

 
Post new topic   Reply to topic    WMPTalk.com Forum Index -> SDK
Author Message
Roman Kudinov
Guest





Posted: Tue Mar 01, 2005 9:02 am    Post subject: Interlaced data support Reply with quote

Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman

Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 2:30 pm    Post subject: Re: Interlaced data support Reply with quote

I found the following article which describes how to obtain the pointer to Reader Object
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm

However it seems to be not working.

The line:
hr = pSP->QueryService(IID_IWMDRMReader, IID_IWMDRMReader, (void **) &pWMDRMReader);

returns 0xcccccccc

What can be the reason?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 3:06 pm    Post subject: Re: Interlaced data support Reply with quote

I found the following article which describes how to obtain the pointer to Reader Object after it added to a graphs
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm


But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman

Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 3:07 pm    Post subject: Re: Interlaced data support Reply with quote

I found the following article which describes how to obtain the pointer to Reader Object after it added to a graphs
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm


But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 3:07 pm    Post subject: Re: Interlaced data support Reply with quote

I found the following article which describes how to obtain the pointer to Reader Object after it added to a graphs
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm


But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 3:07 pm    Post subject: Re: Interlaced data support Reply with quote

I found the following article which describes how to obtain the pointer to Reader Object after it added to a graphs
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm


But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman


"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 3:07 pm    Post subject: Re: Interlaced data support Reply with quote

It works fine, I just needed to add the filter to a graph first.

But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman
"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:OBQMSh9HFHA.980@TK2MSFTNGP12.phx.gbl...
I found the following article which describes how to obtain the pointer to Reader Object
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm

However it seems to be not working.

The line:
hr = pSP->QueryService(IID_IWMDRMReader, IID_IWMDRMReader, (void **) &pWMDRMReader);

returns 0xcccccccc

What can be the reason?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Roman Kudinov
Guest





Posted: Thu Mar 03, 2005 6:00 pm    Post subject: Re: Interlaced data support Reply with quote

It still produces progressive output :(
"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:OruVIl9HFHA.3500@TK2MSFTNGP14.phx.gbl...
It works fine, I just needed to add the filter to a graph first.

But now I have a problem that IWMReaderAdvanced2::SetOutputSetting returns E_INVALIDARG if I pass dwOutputNum = 0;
What does the "output number" mean? Does it mean the number of output pin?

Thanks,
Roman
"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:OBQMSh9HFHA.980@TK2MSFTNGP12.phx.gbl...
I found the following article which describes how to obtain the pointer to Reader Object
mk:@MSITStore:C:\sdk\WMSDK\WMFSDK95\wmformat.chm::/htm/obtainingapointertothereaderobject.htm

However it seems to be not working.

The line:
hr = pSP->QueryService(IID_IWMDRMReader, IID_IWMDRMReader, (void **) &pWMDRMReader);

returns 0xcccccccc

What can be the reason?

Thanks,
Roman



"Roman Kudinov" <krandv on rbcmail zone ru> сообщил/сообщила в новостях следующее: news:uSbVXYjHFHA.3588@TK2MSFTNGP14.phx.gbl...
Hello all:

The following link describes how to put interlaced video into ASF file using ASF Writer filter.
http://msdn.microsoft.com/library/en-us/wmform95/htm/touseinterlacedvideo..asp

I succeeded to do it using the description, but now I have problems with decoding interlaced video. The mentioned above article says that

"When decoding interlaced video, you must set the g_wszAllowInterlacedOutput setting to TRUE using the IWMReaderAdvanced2::SetOutputSetting method. Otherwise the codec will deliver progressive frames."

However when I try to call to IWMReaderAdvanced2::SetOutputSetting I receive E_NOTIMPL error and the following article
http://msdn.microsoft.com/library/en-us/wmform95/htm/wmasfreaderfilter.asp
says that this method is not implemented in the ASF Reader object. So now I can deal with progressive frames on output only.

Is there any work around for this issue? Can I obtain access to the lowlevel Reader Object?


Here is the code snippet I use:
hr = pThis->m_pSrcFilter.CoCreateInstance(CLSID_WMAsfReader);
if(FAILED(hr))
return NULL;

CComPtr<IWMReaderAdvanced2> pWMWReader;
BOOL bValue = TRUE;
HRESULT hr;

if(FAILED(pThis->m_pSrcFilter->QueryInterface(IID_IWMReaderAdvanced2, (void**)&pWMWReader)))
{
return NULL;
}

if(FAILED(hr = pWMWReader->SetOutputSetting(0, g_wszAllowInterlacedOutput, WMT_TYPE_BOOL, (BYTE*)&bValue, sizeof(WMT_TYPE_BOOL))))
{
//hr == E_NOTIMPL;
return NULL;
}

Thanks in advance,
Roman
Back to top
Tobia Quantrill
Guest





Posted: Thu Mar 03, 2005 7:03 pm    Post subject: Re: Interlaced data support Reply with quote

If you want total control over wmv files, you should write your own
filter(s), or switch from DirectShow to plain WMF SDK.
Back to top
 
Post new topic   Reply to topic    WMPTalk.com Forum Index -> SDK All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Microsoft Office Forum New Topics
Powered by phpBB