]> git.sesse.net Git - x264/blobdiff - x264.h
Oops, increment API number.
[x264] / x264.h
diff --git a/x264.h b/x264.h
index e6b7ba3615cbe545ac1dd3c03da1ad9582ab8621..3b878c286bcda8e6f39a54984da0f66d600aa6be 100644 (file)
--- a/x264.h
+++ b/x264.h
@@ -26,7 +26,7 @@
 
 #include <stdarg.h>
 
-#define X264_BUILD 0x000b
+#define X264_BUILD 0x0011
 
 /* x264_t:
  *      opaque handler for decoder and encoder */
@@ -50,6 +50,10 @@ typedef struct x264_t x264_t;
 #define X264_ANALYSE_I4x4       0x0001  /* Analyse i4x4 */
 #define X264_ANALYSE_PSUB16x16  0x0010  /* Analyse p16x8, p8x16 and p8x8 */
 #define X264_ANALYSE_PSUB8x8    0x0020  /* Analyse p8x4, p4x8, p4x4 */
+#define X264_ANALYSE_BSUB16x16  0x0100  /* Analyse b16x8, b8x16 and b8x8 */
+#define X264_DIRECT_PRED_NONE        0
+#define X264_DIRECT_PRED_SPATIAL     1
+#define X264_DIRECT_PRED_TEMPORAL    2
 
 /* Colorspace type
  */
@@ -90,6 +94,7 @@ typedef struct
     int         i_width;
     int         i_height;
     int         i_csp;  /* CSP of encoded bitstream, only i420 supported */
+    int         i_level_idc; 
 
     struct
     {
@@ -100,11 +105,12 @@ typedef struct
 
     int         i_fps_num;
     int         i_fps_den;
+    int         i_maxframes;        /* Maximum number of frames to read from input file and encode, 0=unlimited */
 
     /* Bitstream parameters */
     int         i_frame_reference;  /* Maximum number of reference frames */
-    int         i_idrframe; /* every i_idrframe I frame are marked as IDR */
-    int         i_iframe;   /* every i_iframe are intra */
+    int         i_keyint_max;       /* Force an IDR keyframe at this interval */
+    int         i_keyint_min;       /* Scenecuts closer together than this are coded as I, not IDR. */
     int         i_scenecut_threshold; /* how aggressively to insert extra I frames */
     int         i_bframe;   /* how many b-frame between 2 references pictures */
 
@@ -127,8 +133,12 @@ typedef struct
         unsigned int intra;     /* intra flags */
         unsigned int inter;     /* inter flags */
 
+        int          i_direct_mv_pred; /* spatial vs temporal mv prediction */
+
         int          i_subpel_refine; /* subpixel motion estimation quality */
 
+        int          i_mv_range; /* maximum length of a mv (in pixels) */
+
         int          b_psnr;    /* Do we compute PSNR stats (save a few % of cpu) */
     } analyse;
 
@@ -158,6 +168,7 @@ typedef struct
         char        *psz_rc_eq;     /* 2 pass rate control equation */
         float       f_qcompress;    /* 0.0 => cbr, 1.0 => constant qp */
         float       f_qblur;        /* temporally blur quants */
+        float       f_complexity_blur; /* temporally blur complexity */
     } rc;
 
 } x264_param_t;