[x265] [PATCH] entropy: inline codeTransformSkipFlags()

Deepthi Nandakumar deepthi at multicorewareinc.com
Mon Dec 29 08:01:12 CET 2014


Thanks, pushed.

On Wed, Dec 24, 2014 at 12:53 PM, <ashok at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Ashok Kumar Mishra<ashok at multicorewareinc.com>
> # Date 1419404487 -19800
> #      Wed Dec 24 12:31:27 2014 +0530
> # Node ID 1bf769c6953d7c4f660d26a8618083ac1c0885e5
> # Parent  5f9f7194267b76f733e9ffb0f9e8b474dfe89a71
> entropy: inline codeTransformSkipFlags()
>
> diff -r 5f9f7194267b -r 1bf769c6953d source/encoder/entropy.cpp
> --- a/source/encoder/entropy.cpp        Tue Dec 23 17:40:53 2014 +0900
> +++ b/source/encoder/entropy.cpp        Wed Dec 24 12:31:27 2014 +0530
> @@ -1407,17 +1407,6 @@
>          encodeBin(cu.getCbf(absPartIdx, ttype, lowestTUDepth),
> m_contextState[OFF_QT_CBF_CTX + ctx]);
>  }
>
> -void Entropy::codeTransformSkipFlags(const CUData& cu, uint32_t
> absPartIdx, uint32_t trSize, TextType ttype)
> -{
> -    if (cu.m_tqBypass[absPartIdx])
> -        return;
> -    if (trSize != 4)
> -        return;
> -
> -    uint32_t useTransformSkip = cu.m_transformSkip[ttype][absPartIdx];
> -    encodeBin(useTransformSkip, m_contextState[OFF_TRANSFORMSKIP_FLAG_CTX
> + (ttype ? NUM_TRANSFORMSKIP_FLAG_CTX : 0)]);
> -}
> -
>  /** Encode (X,Y) position of the last significant coefficient
>   * \param posx X component of last coefficient
>   * \param posy Y component of last coefficient
> @@ -1473,17 +1462,18 @@
>  void Entropy::codeCoeffNxN(const CUData& cu, const coeff_t* coeff,
> uint32_t absPartIdx, uint32_t log2TrSize, TextType ttype)
>  {
>      uint32_t trSize = 1 << log2TrSize;
> +    uint32_t tqBypass = cu.m_tqBypass[absPartIdx];
>
>      // compute number of significant coefficients
>      uint32_t numSig = primitives.count_nonzero(coeff, (1 << (log2TrSize
> << 1)));
>
>      X265_CHECK(numSig > 0, "cbf check fail\n");
>
> -    bool bHideFirstSign = cu.m_slice->m_pps->bSignHideEnabled &&
> !cu.m_tqBypass[absPartIdx];
> +    bool bHideFirstSign = cu.m_slice->m_pps->bSignHideEnabled &&
> !tqBypass;
>
> -    if (cu.m_slice->m_pps->bTransformSkipEnabled)
> -        codeTransformSkipFlags(cu, absPartIdx, trSize, ttype);
> -
> +    if (cu.m_slice->m_pps->bTransformSkipEnabled && !tqBypass && (trSize
> == 4))
> +        codeTransformSkipFlags(cu.m_transformSkip[ttype][absPartIdx],
> ttype);
> +
>      bool bIsLuma = ttype == TEXT_LUMA;
>
>      // select scans
> diff -r 5f9f7194267b -r 1bf769c6953d source/encoder/entropy.h
> --- a/source/encoder/entropy.h  Tue Dec 23 17:40:53 2014 +0900
> +++ b/source/encoder/entropy.h  Wed Dec 24 12:31:27 2014 +0530
> @@ -179,6 +179,7 @@
>      inline void codeQtCbfLuma(uint32_t cbf, uint32_t tuDepth)
>  { encodeBin(cbf, m_contextState[OFF_QT_CBF_CTX + !tuDepth]); }
>      inline void codeQtCbfChroma(uint32_t cbf, uint32_t tuDepth)
>  { encodeBin(cbf, m_contextState[OFF_QT_CBF_CTX + 2 + tuDepth]); }
>      inline void codeQtRootCbf(uint32_t cbf)
>  { encodeBin(cbf, m_contextState[OFF_QT_ROOT_CBF_CTX]); }
> +    inline void codeTransformSkipFlags(uint32_t transformSkip, TextType
> ttype) { encodeBin(transformSkip, m_contextState[OFF_TRANSFORMSKIP_FLAG_CTX
> + (ttype ? NUM_TRANSFORMSKIP_FLAG_CTX : 0)]); }
>
>      void codeSaoOffset(const SaoCtuParam& ctuParam, int plane);
>
> @@ -244,7 +245,6 @@
>
>      void codeDeltaQP(const CUData& cu, uint32_t absPartIdx);
>      void codeLastSignificantXY(uint32_t posx, uint32_t posy, uint32_t
> log2TrSize, bool bIsLuma, uint32_t scanIdx);
> -    void codeTransformSkipFlags(const CUData& cu, uint32_t absPartIdx,
> uint32_t trSize, TextType ttype);
>
>      void encodeTransform(const CUData& cu, uint32_t absPartIdx, uint32_t
> tuDepth, uint32_t log2TrSize,
>                           bool& bCodeDQP, const uint32_t depthRange[2]);
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20141229/ac3d0160/attachment-0001.html>


More information about the x265-devel mailing list