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

sagar at multicorewareinc.com sagar at multicorewareinc.com
Tue Sep 9 11:22:59 CEST 2014


# 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;
+};
+
 /* 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;
+
     /* 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


More information about the x265-devel mailing list