[x265] [PATCH] encoder: Do not use X265_MALLOC use CHECKED_MALLOC

Steve Borho steve at borho.org
Fri Sep 20 18:13:58 CEST 2013


On Fri, Sep 20, 2013 at 2:14 AM, Gopu Govindaswamy <
gopu at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Gopu Govindaswamy <gopu at multicorewareinc.com>
> # Date 1379661247 -19800
> # Node ID 3692f665008c8ce96a97872b92bb83aa34ef1049
> # Parent  03195b8c3267dee542fe12886617902b7333a202
> encoder: Do not use X265_MALLOC use CHECKED_MALLOC
>
> Currently X265_MALLOC did't validate the returned pointer, CHECKED_MALLOC
> Always
> validate the returned pointer and print the Log message and jumps to fail
> lable
> if returned pointer is not valid,
>

queued for default with one change, see below


> diff -r 03195b8c3267 -r 3692f665008c source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp        Fri Sep 20 12:15:09 2013 +0530
> +++ b/source/encoder/encoder.cpp        Fri Sep 20 12:44:07 2013 +0530
> @@ -47,7 +47,7 @@
>
>      void configure(x265_param_t *param);
>      void determineLevelAndProfile(x265_param_t *param);
> -    void extract_naldata(AccessUnit &au, size_t &nalcount);
> +    int extract_naldata(AccessUnit &au, size_t &nalcount);
>  };
>
>  x265_t::x265_t()
> @@ -364,11 +364,13 @@
>      if (encoder->getStreamHeaders(au) == 0)
>      {
>          size_t nalcount;
> -        encoder->extract_naldata( au, nalcount);
> -
> -        *pp_nal = &encoder->m_nals[0];
> -        if (pi_nal) *pi_nal = (int)nalcount;
> -        return 0;
> +        if (encoder->extract_naldata( au, nalcount) == 0)
>

it is x264 style to use if (!foo) instead of if (foo==0), and I think we
should follow that convention


> +        {
> +            *pp_nal = &encoder->m_nals[0];
> +            if (pi_nal) *pi_nal = (int)nalcount;
> +            return 0;
> +        }
> +        return -1;
>      }
>      else
>          return -1;
> @@ -417,7 +419,7 @@
>      BitCost::destroy();
>  }
>
> -void x265_t::extract_naldata( AccessUnit &au, size_t &nalcount)
> +int x265_t::extract_naldata( AccessUnit &au, size_t &nalcount)
>  {
>          UInt memsize = 0;
>          nalcount = 0;
> @@ -434,8 +436,8 @@
>          if (m_nals)
>              X265_FREE(m_nals);
>
> -        m_packetData = (char*)X265_MALLOC(char, memsize);
> -        m_nals = (x265_nal_t*)X265_MALLOC(x265_nal_t, nalcount);
> +        CHECKED_MALLOC(m_packetData, char, memsize);
> +        CHECKED_MALLOC(m_nals, x265_nal_t, nalcount);
>          nalcount = 0;
>          memsize = 0;
>
> @@ -483,4 +485,8 @@
>              m_nals[i].p_payload = (uint8_t*)m_packetData + offset;
>              offset += m_nals[i].i_payload;
>          }
> +
> +        return 0;
> +fail:
> +        return -1;
>  }
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>



-- 
Steve Borho
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20130920/278c30ee/attachment.html>


More information about the x265-devel mailing list