| Author |
Message |
Roman Kudinov
Guest
|
Posted:
Tue Mar 01, 2005 9:02 am Post subject:
Interlaced data support |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
 |
|
|
|
|