diff avcodec.h @ 690:a1c69cb685b3 libavcodec

adaptive quantization (lumi/temporal & spatial complexity masking)
author michaelni
date Mon, 23 Sep 2002 14:56:11 +0000
parents 83d2c9d50d7d
children b6a7ff92df57
line wrap: on
line diff
--- a/avcodec.h	Mon Sep 23 08:44:24 2002 +0000
+++ b/avcodec.h	Mon Sep 23 14:56:11 2002 +0000
@@ -5,8 +5,8 @@
 
 #define LIBAVCODEC_VERSION_INT 0x000406
 #define LIBAVCODEC_VERSION     "0.4.6"
-#define LIBAVCODEC_BUILD       4624
-#define LIBAVCODEC_BUILD_STR   "4624"
+#define LIBAVCODEC_BUILD       4625
+#define LIBAVCODEC_BUILD_STR   "4625"
 
 enum CodecID {
     CODEC_ID_NONE, 
@@ -123,6 +123,8 @@
 #define CODEC_FLAG_DR1    0x8000  /* direct renderig type 1 (store internal frames in external buffers) */
 #define CODEC_FLAG_NOT_TRUNCATED  0x00010000 /* input bitstream is not truncated, except before a startcode 
                                                 allows the last part of a frame to be decoded earlier */
+#define CODEC_FLAG_NORMALIZE_AQP  0x00020000 /* normalize adaptive quantization */
+
 /* codec capabilities */
 
 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001 /* decoder can use draw_horiz_band callback */
@@ -174,8 +176,8 @@
      * some codecs need / can use extra-data like huffman tables
      * mjpeg: huffman tables
      * rv10: additional flags
-     * encoding: set/allocated/freed by user.
-     * decoding: set/allocated/freed by lavc. (can be NULL)
+     * encoding: set/allocated/freed by lavc.
+     * decoding: set/allocated/freed by user.
      */
     void *extradata;
     int extradata_size;
@@ -285,8 +287,13 @@
     uint8_t *mbskip_table;
     
     /* encoding parameters */
+    /**
+     * quality (between 1 (good) and 31 (bad)) 
+     * encoding: set by user if CODEC_FLAG_QSCALE is set otherwise set by lavc
+     * decoding: set by lavc
+     */
     int quality;      /* quality of the previous encoded frame 
-                         (between 1 (good) and 31 (bad)) 
+                         
                          this is allso used to set the quality in vbr mode
                          and the per frame quality in CODEC_FLAG_TYPE (second pass mode) */
     float qcompress;  /* amount of qscale change between easy & hard scenes (0.0-1.0)*/
@@ -632,6 +639,34 @@
      * decoding; set by lavc
      */
     long long int pts;
+    
+    /**
+     * luminance masking (0-> disabled)
+     * encoding: set by user
+     * decoding: unused
+     */
+    float lumi_masking;
+    
+    /**
+     * temporary complexity masking (0-> disabled)
+     * encoding: set by user
+     * decoding: unused
+     */
+    float temporal_cplx_masking;
+    
+    /**
+     * spatial complexity masking (0-> disabled)
+     * encoding: set by user
+     * decoding: unused
+     */
+    float spatial_cplx_masking;
+    
+    /**
+     * p block masking (0-> disabled)
+     * encoding: set by user
+     * decoding: unused
+     */
+    float p_masking;
 
     //FIXME this should be reordered after kabis API is finished ...
     //TODO kill kabi