Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Problems building sample_full_transcode

Matthew_C_
New Contributor I
479 Views

I'm trying to build the Full Transcoding Sample and am having issues doing so, I've opened it in Visual Studio 10, am using Microsoft SDK version 7.0A and have Direct X 11 installed on a Windows 7 machine.  I'm planning on updating to Microsoft SDK version 8.1 to see if that fixed things after posting this message.

At the end of this message is the output from the build which includes a couple of errors I'm having trouble fixing.

Particularly: 3>src\pipeline_factory.cpp(89): error C2065: 'LL' : undeclared identifier

for this line: MSDK_TRACE_ERROR(MSDK_STRING(MSDK_STRING("D3D11 not supported")));

and 1>c:\program files (x86)\intel\media sdk 2014 for clients\samples\full transcoding sample 5.0.337.78585\sample_common\src\d3d11_allocator.cpp(120): error C2065: 'DXGI_FORMAT_P8' : undeclared identifier

for this line: desc.Format = DXGI_FORMAT_P8;

And when I look through the dxgiformat header file that contains all the "DXGI_FORMAT_"s, it does indeed not contain those enums.  Do I need to upgrade to a different version of 

Thank you,

Matt

0 Kudos
1 Solution
Petter_L_Intel
Employee
479 Views

Hi Matthew,

Glad to hear you found a solution. :)

The "MediaSDK Sample Guide.pdf" only provides details for all the SDK samples as a whole. If you look into the folder where the "full_transcode" solution (.sln) file is you will find a document describing this specific sample. That document have details about the sample command line options and FFmpeg setup. Note that all the FFmpeg binaries come packaged with the same.

Thanks,
Petter

View solution in original post

0 Kudos
6 Replies
Matthew_C_
New Contributor I
479 Views

Actually ended up not posting the code because if I included it, the forums spam filter wouldn't let me post this.

0 Kudos
Petter_L_Intel
Employee
479 Views

Hi Matthew,

That should work. I just tried it here on Win7 with both VS2012 and 2012 without issues.

However, I did trying forcing MFX_D3D11_SUPPORT = 0 which is the path I'm suspecting your build it taking and found a bug in the sample code. Line 89 in pipeline_factory.cpp.   To fix replace "MSDK_TRACE_ERROR(MSDK_STRING(MSDK_STRING("D3D11 not supported")));"   with "MSDK_TRACE_ERROR(MSDK_STRING("D3D11 not supported"));".

Also, DXGI_FORMAT_P8, depends on Windows SDK 8.0 or more recent SDK.  Try installing that SDK. That said. The sample should build with SDK 7.1. We will investigate and fix the above issues as soon as possible.

Thanks for reporting these issues to us.

Regards,
Petter

0 Kudos
Matthew_C_
New Contributor I
479 Views

MFX_D3D11_SUPPORT should indeed be 0, Visual Studio is indicating that to be the case and I've set the only reference setting it to 1, to 0 as well as undefining it in pre-processor definitions.  However, it still tries to build the d3d11_allocator.cpp file which throws errors stopping the installation.  All the remaining errors involve DXGI_FORMAT_'s that are not defined.

I did try installing Windows SDK 8.0 and changing the environmental variable that pointed at it, however that did not fix the issue, I believe because I am using it on Windows 7 instead of Windows 8?  Or maybe I need to switch which framework I am using to build this?  This is being built in the .NET Framework, Version = v4.0

Or maybe I'm mis-using the DirectShow BaseClasses?  I ran <install-folder>\sample_dshow_plugins\ set_INTELMEDIASDK_DSHOWBASECLASSES_PATH.bat and had this previously working a couple months ago, so I didn't update that.  If you think that could be it, how can I build the BaseClasses?  The tutorial just tells me to build BaseClases manually in advance.

Thank you Petter!  Please do let me know if you figure it out or need any more information from me, need to get this project working soon.

0 Kudos
Petter_L_Intel
Employee
479 Views

Hi Matthew,

I also tried building the sample using Windows 7 with Windows 8 SDK, with no issues. That should not be an issue. I suspect there is something in your environment that is missing.

As you say, the DX11 allocators are still being built when setting MFX_D3D11_SUPPORT to 0. This is an issue we will try to address as soon as possible. In the meantime could you try to manually remove the build for the DX11 code so that you can complete the build using the Win7,1 SDK?

The "full_transcode" sample has no dependencies on DirectShow, so I do not expect that has any impact on your setup.

Regards,
Petter

0 Kudos
Matthew_C_
New Contributor I
479 Views

Update:

In d3d11_allocator.cpp, I changed:

#if (defined(_WIN32) || defined(_WIN64))

to

#if ((defined(_WIN32) || defined(_WIN64)) && (MFX_D3D11_SUPPORT))

And then scrolled all the way down to the bottom of the page and was quite surprised to find that the endif line seemed to have updated itself to look like this:

#endif // #if (defined(_WIN32) || defined(_WIN64)) && (MFX_D3D11_SUPPORT)

Then I realized that's not what happened...  it looks like at some point you guys were using the same if statement and for some reason removed the ' && (MFX_D3D11_SUPPORT)' part.. maybe for a reason but you should check it out.

Anyway, it now builds with no errors.

 

I do have one other issue though, within the MediaSDK Sample Guide.pdf, I find this under 'Run Instructions':

Running samples with FFmpeg* dependency (Full Transcoding Sample, Video Decoding Sample when it invokes VP8 Decoder Plug-in Sample)
- Add “<install-folder>/thirdparty/ffmpeg/bin/win32” or “<install-folder>/thirdparty/ffmpeg/bin/x64” to PATH variable

One problem I see with that though is that the ffmpeg folder, doesn't have a sub-folder named 'bin'  Am I supposed to build this myself?  Would be nice if it were addressed with the MediaSDK Guide.

Along the same lines, once built, how to I actually run sample_full_transcode once built?  Not seeing in the MediaSDK Guide under the 'Running' section, is it somewhere else?  When I run it via command line, I see some options but might want to point that out if you end up editing that document anyway.

Thanks Petter, appreciate the fast responses!

0 Kudos
Petter_L_Intel
Employee
480 Views

Hi Matthew,

Glad to hear you found a solution. :)

The "MediaSDK Sample Guide.pdf" only provides details for all the SDK samples as a whole. If you look into the folder where the "full_transcode" solution (.sln) file is you will find a document describing this specific sample. That document have details about the sample command line options and FFmpeg setup. Note that all the FFmpeg binaries come packaged with the same.

Thanks,
Petter

0 Kudos
Reply