[x265] [PATCH] Merged TEncCfg into Encoder. A few VUI tweaks and fixes

dave dtyx265 at gmail.com
Fri Mar 7 02:09:52 CET 2014


Steve, just looking for some clarification here...

diff -r 6662df480e39 -r 56fa912d6e7c source/Lib/TLibEncoder/TEncCu.h
--- a/source/Lib/TLibEncoder/TEncCu.h   Mon Mar 03 11:28:22 2014 +0530
+++ b/source/Lib/TLibEncoder/TEncCu.h   Mon Mar 03 14:24:34 2014 -0800
@@ -111,7 +111,7 @@
      TComYuv**    m_bestMergeRecoYuv;
      TComYuv**    m_origYuv;     ///< Original Yuv at each depth

-    TEncCfg*     m_cfg;
+    Encoder*     m_cfg;

> It's a bit of a layering violation to have a top-level encoder pointer
> way down here in the guts.  But this can be cleaned up later.
>
> diff -r 6662df480e39 -r 56fa912d6e7c source/encoder/dpb.h
> --- a/source/encoder/dpb.h      Mon Mar 03 11:28:22 2014 +0530
> +++ b/source/encoder/dpb.h      Mon Mar 03 14:24:34 2014 -0800
> @@ -32,7 +32,7 @@
>   class FrameEncoder;
>   class TComPic;
>   class TComSlice;
> -class TEncCfg;
> +class Encoder;
>
>   class DPB
>   {
> @@ -41,18 +41,18 @@
>       int                m_lastIDR;
>       int                m_pocCRA;
>       bool               m_bRefreshPending;
> -    TEncCfg*           m_cfg;
> +    Encoder*           m_cfg;
> Can we just pass a param to dpb?
I just sent a patch for this one.  After altering lowres, DPB only uses 
bOpenGOP so it could either be made a member of DPB or passed instead of 
x265_param*.  I thought in the future x265_param* would be more useful 
but developers more familiar with DPB and h265 know better them what's 
best.  I can submit a patch for whatever is best.
> diff -r 6662df480e39 -r 56fa912d6e7c source/encoder/framefilter.h
> --- a/source/encoder/framefilter.h      Mon Mar 03 11:28:22 2014 +0530
> +++ b/source/encoder/framefilter.h      Mon Mar 03 14:24:34 2014 -0800
> @@ -57,7 +57,7 @@
>   protected:
>
>       Encoder*                    m_top;
> -    TEncCfg*                    m_cfg;
> +    Encoder*                    m_cfg;
> ditto here and in ratecontrol.cpp and slicetype.cpp.  it would be
> greatly preferred to just pass param to these files instead of Encoder
>
 From your "layering violation" comment, I guess you would like TEncCu 
added to this list.

Do you want Encoder* m_cfg/m_top replaced with x265_param* m_param as a 
member or would you prefer x265_param* passed as an argument to the 
methods of ratecontrol.cpp, slicetype.cpp, framefilter and TEncCu...?


More information about the x265-devel mailing list