Loading media/codec2/components/avc/C2SoftAvcEnc.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -334,7 +334,10 @@ public: // By default needsUpdate = false in case the supplied level does meet // the requirements. For Level 1b, we want to update the level anyway, // so we set it to true in that case. bool needsUpdate = (me.v.level == LEVEL_AVC_1B); bool needsUpdate = false; if (me.v.level == LEVEL_AVC_1B || !me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (mbs <= limit.mbs && mbsPerSec <= limit.mbsPerSec && bitrate.v.value <= limit.bitrate) { Loading media/codec2/components/hevc/C2SoftHevcEnc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -341,6 +341,9 @@ class C2SoftHevcEnc::IntfImpl : public SimpleInterface<void>::BaseParams { // By default needsUpdate = false in case the supplied level does meet // the requirements. bool needsUpdate = false; if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (samples <= limit.samples && samplesPerSec <= limit.samplesPerSec && bitrate.v.value <= limit.bitrate) { Loading media/codec2/components/mpeg4_h263/C2SoftMpeg4Enc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,9 @@ class C2SoftMpeg4Enc::IntfImpl : public SimpleInterface<void>::BaseParams { needsUpdate = true; } #endif if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (sampleRate <= limit.sampleRate && size.v.width <= limit.width && vbvSize <= limit.vbvSize && size.v.height <= limit.height && Loading media/codec2/components/vpx/C2SoftVpxEnc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,9 @@ C2R C2SoftVpxEnc::IntfImpl::ProfileLevelSetter(bool mayBlock, // By default needsUpdate = false in case the supplied level does meet // the requirements. bool needsUpdate = false; if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits& limit : kLimits) { if (samples <= limit.samples && samplesPerSec <= limit.samplesPerSec && bitrate.v.value <= limit.bitrate && dimension <= limit.dimension) { Loading Loading
media/codec2/components/avc/C2SoftAvcEnc.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -334,7 +334,10 @@ public: // By default needsUpdate = false in case the supplied level does meet // the requirements. For Level 1b, we want to update the level anyway, // so we set it to true in that case. bool needsUpdate = (me.v.level == LEVEL_AVC_1B); bool needsUpdate = false; if (me.v.level == LEVEL_AVC_1B || !me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (mbs <= limit.mbs && mbsPerSec <= limit.mbsPerSec && bitrate.v.value <= limit.bitrate) { Loading
media/codec2/components/hevc/C2SoftHevcEnc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -341,6 +341,9 @@ class C2SoftHevcEnc::IntfImpl : public SimpleInterface<void>::BaseParams { // By default needsUpdate = false in case the supplied level does meet // the requirements. bool needsUpdate = false; if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (samples <= limit.samples && samplesPerSec <= limit.samplesPerSec && bitrate.v.value <= limit.bitrate) { Loading
media/codec2/components/mpeg4_h263/C2SoftMpeg4Enc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,9 @@ class C2SoftMpeg4Enc::IntfImpl : public SimpleInterface<void>::BaseParams { needsUpdate = true; } #endif if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits &limit : kLimits) { if (sampleRate <= limit.sampleRate && size.v.width <= limit.width && vbvSize <= limit.vbvSize && size.v.height <= limit.height && Loading
media/codec2/components/vpx/C2SoftVpxEnc.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,9 @@ C2R C2SoftVpxEnc::IntfImpl::ProfileLevelSetter(bool mayBlock, // By default needsUpdate = false in case the supplied level does meet // the requirements. bool needsUpdate = false; if (!me.F(me.v.level).supportsAtAll(me.v.level)) { needsUpdate = true; } for (const LevelLimits& limit : kLimits) { if (samples <= limit.samples && samplesPerSec <= limit.samplesPerSec && bitrate.v.value <= limit.bitrate && dimension <= limit.dimension) { Loading