Patch pushed to master branch. Karam Singh Senior Software (Video Codec) Engineer MulticoreWare, India
On Thu, Mar 28, 2024 at 12:53 PM Kirithika Kalirathnam < [email protected]> wrote: > From 416d9fe5c6dc905fb6e6204fd268682ef1760964 Mon Sep 17 00:00:00 2001 > From: Kirithika <[email protected]> > Date: Thu, 14 Dec 2023 17:17:02 +0530 > Subject: [PATCH] Fix broken lookahead configuration with Qp file > > --- > source/common/lowres.h | 1 + > source/encoder/encoder.cpp | 3 ++- > source/encoder/slicetype.cpp | 2 ++ > 3 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/source/common/lowres.h b/source/common/lowres.h > index 60fb40286..4d29ab695 100644 > --- a/source/common/lowres.h > +++ b/source/common/lowres.h > @@ -171,6 +171,7 @@ struct Lowres : public ReferencePlanes > > int frameNum; // Presentation frame number > int sliceType; // Slice type decided by lookahead > + int sliceTypeReq; // Slice type required as per the QP file > int width; // width of lowres frame in pixels > int lines; // height of lowres frame in pixel lines > int leadingBframes; // number of leading B frames for P or I > diff --git a/source/encoder/encoder.cpp b/source/encoder/encoder.cpp > index c516e1a2c..880b4f16d 100644 > --- a/source/encoder/encoder.cpp > +++ b/source/encoder/encoder.cpp > @@ -2191,7 +2191,8 @@ int Encoder::encode(const x265_picture* pic_in, > x265_picture* pic_out, x265_pict > } > > /* Use the frame types from the first pass, if available */ > - int sliceType = (m_param->rc.bStatRead) ? > m_rateControl->rateControlSliceType(inFrame->m_poc) : inputPic->sliceType; > + int sliceType = (m_param->rc.bStatRead) ? > m_rateControl->rateControlSliceType(inFrame->m_poc) : X265_TYPE_AUTO; > + inFrame->m_lowres.sliceTypeReq = inputPic->sliceType; > > /* In analysisSave mode, x265_analysis_data is allocated in > inputPic and inFrame points to this */ > /* Load analysis data before lookahead->addPicture, since > sliceType has been decided */ > diff --git a/source/encoder/slicetype.cpp b/source/encoder/slicetype.cpp > index 1e8f339a2..74d7d040c 100644 > --- a/source/encoder/slicetype.cpp > +++ b/source/encoder/slicetype.cpp > @@ -1583,6 +1583,8 @@ void Lookahead::slicetypeDecide() > { > Lowres& frm = list[bframes]->m_lowres; > > + if (frm.sliceTypeReq != X265_TYPE_AUTO && frm.sliceTypeReq != > frm.sliceType) > + frm.sliceType = frm.sliceTypeReq; > if (frm.sliceType == X265_TYPE_BREF && !m_param->bBPyramid && > brefs == m_param->bBPyramid) > { > frm.sliceType = X265_TYPE_B; > -- > 2.28.0.windows.1 > > *Thanks,* > *Kirithika* > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
