Ejemplo n.º 1
0
void VideoOutput::getSupportedCodecs(Array<String>& list) {
    Array<InternalCodecID> codec;
    getSupportedCodecs(codec);
    list.resize(codec.size());
    for (int i = 0; i < codec.size(); ++i) {
        list[i] = toString(codec[i]);
    }
}
Ejemplo n.º 2
0
bool VideoDecoderD3DPrivate::open()
{
    if (!prepare())
        return false;
    if (codec_ctx->codec_id == QTAV_CODEC_ID(HEVC)) {
        // runtime hevc check
        if (!isHEVCSupported()) {
            qWarning("HEVC DXVA2/D3D11VA is not supported by current FFmpeg runtime.");
            return false;
        }
    }
    if (!createDevice())
        return false;
    format_fcc = 0;
    QVector<GUID> codecs = getSupportedCodecs();
    const d3d_format_t *fmt = getFormat(codec_ctx, codecs, &codec_guid);
    if (!fmt)
        return false;
    format_fcc = fmt->fourcc;
    if (!setupSurfaceInterop())
        return false;
    return true;
}