Problem with DirectX 11 init

Problem with DirectX 11 init

I'm trying to use Intel Media SDK with DirectX 11 surfaces without success.
when i run the following code:
 mfxStatus sts = MFX_ERR_NONE;   
    mfxVersion ver = {0, 1};
    MFXVideoSession mfxSession;
    sts = mfxSession.Init(impl, &ver);
    // Query selected implementation and version
    sts = mfxSession.QueryIMPL(&impl);
    sts = mfxSession.QueryVersion(&ver);
    printf("Implementation: %s , Version: %d.%d\n", impl==MFX_IMPL_SOFTWARE?"SOFTWARE":"HARDWARE", ver.Major, ver.Minor);
 // the result:
 //sts = MFX_ERR_NONE(0)
 //printf: Implementation: HARDWARE , Version: 1.3

- but when i change mfxIMPL to (use directx11 surfaces):
 // the result is:

System details:

 Intel Media SDK System Analyzer (64 bit)
The following versions of Media SDK API are supported by platform/driver:

        Version Target  Supported       Dec     Enc
        1.0     HW      Yes             X       X
        1.0     SW      Yes             X       X
        1.1     HW      Yes             X       X
        1.1     SW      Yes             X       X
        1.3     HW      Yes             X       X
        1.3     SW      Yes             X       X
        1.4     HW      No
        1.4     SW      Yes             X       X
        1.5     HW      No
        1.5     SW      Yes             X       X
        1.6     HW      No
        1.6     SW      Yes             X       X

Graphics Devices:
        Name                                         Version             State
        Intel(R) HD Graphics 4000                  08
        NVIDIA Quadro 2000                         Active

System info:
        CPU:    Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
        OS:     Microsoft Windows 7 Enterprise
        Arch:   64-bit

Installed Media SDK packages (be patient...processing takes some time):
        Intel« Media SDK 2013 (x64)

Installed Media SDK DirectShow filters:
  Intel« Media SDK MP3 Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mpa_dec_ds.dll
  Intel« Media SDK JPEG Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\jpeg_dec_filter.dll
  Intel« Media SDK MPEG-2 Splitter :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mp2_spl_ds.dll
  Intel« Media SDK H.264 Encoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\h264_enc_filter.dll
  Intel« Media SDK MVC Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\mvc_dec_filter.dll
  Intel« Media SDK AAC Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_aac_dec_ds.dll
  Intel« Media SDK MPEG-2 Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\mpeg2_dec_filter.dll
  Intel« Media SDK MP4 Splitter :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mp4_spl_ds.dll
  Intel« Media SDK MPEG-2 Muxer :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mp2_mux_ds.dll
  Intel« Media SDK MP4 Muxer :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mp4_mux_ds.dll
  Intel« Media SDK H.264 Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\h264_dec_filter.dll
  Intel« Media SDK MP3 Encoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_mpa_enc_ds.dll
  Intel« Media SDK AAC Encoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\imc_aac_enc_ds.dll
  Intel« Media SDK MPEG-2 Encoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\mpeg2_enc_filter.dll
  Intel« Media SDK VC-1 Decoder :
    C:\Program Files\Intel\Media SDK 2013\samples\_bin\x64\vc1_dec_filter.dll

Installed Intel Media Foundation Transforms:
  Intel« Hardware VC-1 Decoder MFT : {059A5BAE-5D7A-4C5E-8F7A-BFD57D1D6AAA}
  Intel« Hardware H.264 Decoder MFT : {45E5CE07-5AC7-4509-94E9-62DB27CF8F96}
  Intel« Hardware MPEG-2 Decoder MFT : {CD5BA7FF-9071-40E9-A462-8DC5152B1776}
  Intel« Quick Sync Video H.264 Encoder MFT : {4BE8D3C0-0515-4A37-AD55-E4BAE19AF471}
  Intel« Hardware Preprocessing MFT : {EE69B504-1CBF-4EA6-8137-BB10F806B014}

is there any other way to use DirectX 11 surfaces ?


4 帖子 / 0 全新

I recently asked a similar question. Intel MSDK "Direct3D 11" is really 11.1, so you need to be on Windows 8 for this to work.

Yes, this is actually called out in the System Requirements section of mediasdk_release_notes.pdf document ("For Microsoft DirectX* 11 functionality - Microsoft Windows 8."), but we understand that this can be move visible.  Sorry for the confusion.


Thanks for the info. i've tried with DirectX 9 and it worked. the documentation is indeed not clear enough...