locked
При создании ID3D11VideoDecoder с профайлом h264 - выпадает ошибка RRS feed

  • Вопрос

  • День добрый.

    Я пытаюсь создать ID3D11VideoDecoder с профилем h264 декодера. Но получаю ошибку E_OUTOFMEMORY. При этом если я попытаюсь создать декодер с другим профилем (скажем MPEG2 или VC1) то все пройдет хорошо. Вопрос, это ошибка API или мне необходимы дополнительные действия для создания именно h264 декодера?

    Код создания:

    DX::ThrowIfFailed(device.Get()->QueryInterface(__uuidof(ID3D11VideoDevice), (void**)&videoDevice));
    GUID guid = {0x1b81be68, 0xa0c7,0x11d3,{0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5}};

    D3D11_VIDEO_DECODER_DESC *desc = new D3D11_VIDEO_DECODER_DESC();
    desc->Guid = guid;
    desc->OutputFormat = DXGI_FORMAT_420_OPAQUE;
    desc->SampleHeight = 480;
    desc->SampleWidth = 800;

    D3D11_VIDEO_DECODER_CONFIG conf;
    ZeroMemory(&conf, sizeof(conf));
    conf.ConfigBitstreamRaw = 1;

    ID3D11VideoDecoder *decoder;

    DX::ThrowIfFailed(videoDevice.Get()->CreateVideoDecoder(desc, &conf, &decoder));

    8 августа 2013 г. 8:43

Ответы

  • Я нашел способ создать декодер. При формировании Config надо указать флаг ConfigBitstreamRaw равным 2. Хотя по документации разрешены только 1 и 0. 
    9 августа 2013 г. 6:51

Все ответы