[x265] [PATCH 1 of 4] add intra-inter data structures and param options

Steve Borho steve at borho.org
Tue Sep 9 13:09:54 CEST 2014


On 09/09, sagar at multicorewareinc.com wrote:
> # HG changeset patch
> # User Sagar Kotecha <sagar at multicorewareinc.com>
> # Date 1410244210 -19800
> #      Tue Sep 09 12:00:10 2014 +0530
> # Node ID a6d18c4bfccdb31af03b1c21cb9e15cf20ed34fe
> # Parent  c4fb044c901b8a996f79797be29c894aaf3dcf83
> add intra-inter data structures and param options
> 
> diff -r c4fb044c901b -r a6d18c4bfccd source/x265.h
> --- a/source/x265.h	Mon Sep 08 19:39:34 2014 -0700
> +++ b/source/x265.h	Tue Sep 09 12:00:10 2014 +0530
> @@ -88,6 +88,37 @@
>      uint8_t* payload;
>  } x265_nal;
>  
> +/* Used to dump intra and inter frame meta-data, Which can be used in
> + * subsequent calls for the diffrent bitrate of the same clip. */
> +struct x265_inter_data
> +{
> +    uint32_t zOrder;
> +    int      ref[2];
> +    int      costZero[2];
> +    int16_t  mvx[2];
> +    int16_t  mvy[2];
> +    uint8_t  depth;
> +    int      poc;
> +    uint32_t cuAddr;
> +};
> +
> +struct x265_intra_data
> +{
> +    uint8_t*  depth;
> +    uint8_t*  modes;
> +    char*     partSizes;
> +    int*      poc;
> +    uint32_t* cuAddr;
> +};
> +
> +struct x265_inter_intra_data
> +{
> +    x265_inter_data* interData;
> +    x265_intra_data* intraData;
> +    uint32_t         numCUsInFrame;
> +    uint32_t         numPartitions;
> +};

the later patch which changes the API names is definitely an
improvement. That patch should be folded into this one.
x265_inter_intra_data should also be renamed x265_analysis_data

>  /* Used to pass pictures into the encoder, and to get picture data back out of
>   * the encoder.  The input and output semantics are different */
>  typedef struct x265_picture
> @@ -134,6 +165,10 @@
>      /* force quantizer for != X265_QP_AUTO */
>      int     forceqp;
>  
> +    /* Holds intra/inter meta data when bAnalysisDataIn/bAnalysisDataOut is true
> +     * and interIntraData pointers are valid */
> +    x265_inter_intra_data intraInterData;

and this shuold be analysisData

> +
>      /* new data members to this structure must be added to the end so that
>       * users of x265_picture_alloc/free() can be assured of future safety */
>  } x265_picture;
> @@ -636,6 +671,14 @@
>       * effect in presets which use RDOQ (rd-levels 4 and 5). Default 0.0 */
>      double    psyRdoq;
>  
> +    /* Write analysis information into x265_picture buffer when x265_inter_intra_data
> +       is valid */
> +    int       bAnalysisDataOut;
> +
> +    /* Read analysis information into x265_picture buffer when x265_inter_intra_data is
> +       valid */
> +    int       bAnalysisDataIn;
> +
>      /*== Coding tools ==*/
>  
>      /* Enable the implicit signaling of the sign bit of the last coefficient of
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-- 
Steve Borho


More information about the x265-devel mailing list