Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Can't rendering video with simple_player

Genady_Malinsky
Beginner
551 Views

Hi,

I am using the Intel IPP Composer XE 2011 SP1 and ipp-samples_p_7.0.7.064. My machin OS in Win7  32-bit my DirectX version is 11. I compile it with this command:

c:\w_ipp-samples_p_7.0.7.064\ipp-samples\audio-video-codecs>build_ia32.bat cl10

All the project are passed excluding Simple_Player. I got this error:

LINK : fatal error LNK1181: cannot open input file 'ddraw.lib'

When I downloaded the Microsoft DirectX SDK (August 2009) I managed to compile the simple_player but when I run it there was no rendering of video:

simple_player.exe D:\Captures\Video\Taipei101_sunset_WMV_HD_720_H264.mp4 -fyuv420

Audio Render :          WINMM

when I used IPP7.1 evry thing works fine. ( I needed to downgrade the version since intel does not supports couple of codecs in the latest version).

Caan any one assist?

THanks.

0 Kudos
11 Replies
Chuck_De_Sylva
Beginner
551 Views
Hmm, I'm not able to reproduce this. Is there some reason why you have to use that older version of the DirectX SDK?
0 Kudos
SergeyKostrov
Valued Contributor II
551 Views
>>... Is there some reason why you have to use that older version of the DirectX SDK? [A question to Chuck De Silva] Why do you think that the older DirectX SDK is responsible for that? I use even older version of DirectX SDK ( June 2007 ) and it works well for us for many years (!). Genady clearly says that '...when I used IPP 7.1 every thing works fine...' and it doesn't work with IPP '7.0.7.064'. [To Genady] I think you need to verify HRESULT or return codes. I use my own rendering engine and please take a look because sometimes there is an issue with transition to a Running State of DirectShow: Note: I don't know if it is applicable for your case. ... IMediaControl *m_pMC; ... while( true ) { ... m_hr = m_pGB->Render( m_pPN ); if( m_hr != S_OK ) break; m_hr = m_pMC->Run(); // Do not verify m_hr because sometimes it is not S_OK (!) OAFilterState pfs; m_hr = m_pMC->GetState( 1000, &pfs ); // Timeout 1 sec ( 1000 msec ) if( m_hr != S_OK ) break; ... break; } ... Take into account that sometimes some warning code S_FALSE could be returned from DirectShow API functions but it doesn't mean that call failed because transition to Running State could be not fully completed. I think you need to debug your working test application that uses IPP 7.1 ( with enabled debug output and verification of error codes ) and then you need to do the same for not working test applcation that uses IPP 7.0.7. Best regards, Sergey
0 Kudos
Sergey_K_Intel
Employee
551 Views
Hi Genady, What graphics card do you have? As far as I remember there was problem in 7.0.x with Intel integrated graphics (like HD3000 on SNB) with DirectX. This was why we enabled new OpenGL-based rendering. To enable OpenGL uncomment UMC_ENABLE_NEW_RENDERS in core\umc\include\umc_defs.h file. Regards, Sergey
0 Kudos
SergeyKostrov
Valued Contributor II
551 Views
>>...What graphics card do you have? As far as I remember there was problem in 7.0.x with Intel integrated graphics (like HD3000 on >>SNB) with DirectX... Could you provide more technical details?
0 Kudos
Sergey_K_Intel
Employee
551 Views
The DX render for simple_player was implemented using old-syle (I think, pre-DX10) function calls, which required usage of separate MS DX SDK. After general customers' transition from XP to Win7 these old DX calls started to contradict with Win7 Aero schema and, moreover, on Intel HD graphics one of calls (I don't remember, Get) started to return error status. Once again, it was outdated DirectX. After counting pluses and minuses, it was decided to create a new render based on OpenGL, which is more stable and OS-independent (works for Win, Lin and OS X). Regards, Sergey
0 Kudos
SergeyKostrov
Valued Contributor II
551 Views
>>...After counting pluses and minuses, it was decided to create a new render based on OpenGL, which is more stable and >>OS-independent (works for Win, Lin and OS X)... Thanks, Sergey. That really looks as the right decision especially OS-independent part.
0 Kudos
Chuck_De_Sylva
Beginner
551 Views
Sergey Kostrov wrote:

>>... Is there some reason why you have to use that older version of the DirectX SDK?

[A question to Chuck De Silva] Why do you think that the older DirectX SDK is responsible for that? I use even older version of DirectX SDK ( June 2007 ) and it works well for us for many years (!). Genady clearly says that '...when I used IPP 7.1 every thing works fine...' and it doesn't work with IPP '7.0.7.064'.

I just asked because I am using the latest version of the DirectX SDK with 7.0.7.064 and could not reproduce the issue.
0 Kudos
Genady_Malinsky
Beginner
551 Views
HI, I am using Intel HD Graphics as my Display adaptor. So the solution is to uncomment UMC_ENABLE_NEW_RENDERS in core\umc\include\umc_defs.h file? Thanks for your help.
0 Kudos
SergeyKostrov
Valued Contributor II
551 Views
>>...So the solution is to uncomment UMC_ENABLE_NEW_RENDERS in core\umc\include\umc_defs.h file? Please try it in order to enable rendering with OpenGL instead of DirectX.
0 Kudos
Genady_Malinsky
Beginner
551 Views
Great It works. Thanks A lot!!!
0 Kudos
SergeyKostrov
Valued Contributor II
551 Views
>>Great It works. Thank you for the update, Genady!
0 Kudos
Reply