mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
Revert "Merge pull request #1418 from cabirdme/qsv_feature_add"
This reverts commit3c22cf35c9, reversing changes made toc7dab6c92b. This is being reverted due to many people being unable to start up the QSV encoder with these changes.
This commit is contained in:
@@ -198,7 +198,6 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t * pParams)
|
||||
{
|
||||
memset(&m_mfxEncParams, 0, sizeof(m_mfxEncParams));
|
||||
|
||||
|
||||
m_mfxEncParams.mfx.CodecId = MFX_CODEC_AVC;
|
||||
m_mfxEncParams.mfx.GopOptFlag = MFX_GOP_STRICT;
|
||||
m_mfxEncParams.mfx.NumSlice = 1;
|
||||
@@ -213,7 +212,6 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t * pParams)
|
||||
m_mfxEncParams.mfx.FrameInfo.CropY = 0;
|
||||
m_mfxEncParams.mfx.FrameInfo.CropW = pParams->nWidth;
|
||||
m_mfxEncParams.mfx.FrameInfo.CropH = pParams->nHeight;
|
||||
m_mfxEncParams.mfx.GopRefDist = pParams->nbFrames + 1;
|
||||
|
||||
m_mfxEncParams.mfx.RateControlMethod = pParams->nRateControl;
|
||||
|
||||
@@ -245,10 +243,6 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t * pParams)
|
||||
case MFX_RATECONTROL_LA_ICQ:
|
||||
m_mfxEncParams.mfx.ICQQuality = pParams->nICQQuality;
|
||||
break;
|
||||
case MFX_RATECONTROL_LA_HRD:
|
||||
m_mfxEncParams.mfx.TargetKbps = pParams->nTargetBitRate;
|
||||
m_mfxEncParams.mfx.MaxKbps = pParams->nTargetBitRate;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -259,17 +253,28 @@ bool QSV_Encoder_Internal::InitParams(qsv_param_t * pParams)
|
||||
|
||||
static mfxExtBuffer* extendedBuffers[2];
|
||||
int iBuffers = 0;
|
||||
if (pParams->nAsyncDepth == 1) {
|
||||
m_mfxEncParams.mfx.NumRefFrame = 1;
|
||||
// low latency, I and P frames only
|
||||
m_mfxEncParams.mfx.GopRefDist = 1;
|
||||
memset(&m_co, 0, sizeof(mfxExtCodingOption));
|
||||
m_co.Header.BufferId = MFX_EXTBUFF_CODING_OPTION;
|
||||
m_co.Header.BufferSz = sizeof(mfxExtCodingOption);
|
||||
m_co.MaxDecFrameBuffering = 1;
|
||||
extendedBuffers[iBuffers++] = (mfxExtBuffer*)&m_co;
|
||||
}
|
||||
else
|
||||
m_mfxEncParams.mfx.GopRefDist = pParams->nbFrames + 1;
|
||||
|
||||
memset(&m_co2, 0, sizeof(mfxExtCodingOption2));
|
||||
m_co2.Header.BufferId = MFX_EXTBUFF_CODING_OPTION2;
|
||||
m_co2.Header.BufferSz = sizeof(m_co2);
|
||||
if (pParams->bMBBRC)
|
||||
m_co2.MBBRC = MFX_CODINGOPTION_ON;
|
||||
if (pParams->nRateControl == MFX_RATECONTROL_LA_ICQ ||
|
||||
pParams->nRateControl == MFX_RATECONTROL_LA)
|
||||
pParams->nRateControl == MFX_RATECONTROL_LA) {
|
||||
|
||||
memset(&m_co2, 0, sizeof(mfxExtCodingOption2));
|
||||
m_co2.Header.BufferId = MFX_EXTBUFF_CODING_OPTION;
|
||||
m_co2.Header.BufferSz = sizeof(m_co2);
|
||||
m_co2.LookAheadDepth = pParams->nLADEPTH;
|
||||
extendedBuffers[iBuffers++] = (mfxExtBuffer*)& m_co2;
|
||||
extendedBuffers[iBuffers++] = (mfxExtBuffer*)& m_co2;
|
||||
}
|
||||
|
||||
if (iBuffers > 0) {
|
||||
m_mfxEncParams.ExtParam = extendedBuffers;
|
||||
|
||||
Reference in New Issue
Block a user