changeset 1606:a1ac8e675b95 libavcodec

Add cr codec capability and buffer hints
author rtognimp
date Fri, 07 Nov 2003 21:20:24 +0000
parents 2fb583cb0013
children 9ef0d51e809b
files avcodec.h utils.c
diffstat 2 files changed, 25 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Thu Nov 06 22:05:22 2003 +0000
+++ b/avcodec.h	Fri Nov 07 21:20:24 2003 +0000
@@ -16,7 +16,7 @@
 
 #define FFMPEG_VERSION_INT     0x000408
 #define FFMPEG_VERSION         "0.4.8"
-#define LIBAVCODEC_BUILD       4690
+#define LIBAVCODEC_BUILD       4691
 
 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
 #define LIBAVCODEC_VERSION     FFMPEG_VERSION
@@ -275,6 +275,10 @@
    used */
 #define CODEC_CAP_PARSE_ONLY      0x0004
 #define CODEC_CAP_TRUNCATED       0x0008
+/*
+ * Codec can use conditional replenishment if available.
+ */
+#define CODEC_CAP_CR              0x0010
 
 /**
  * Pan Scan area.
@@ -460,6 +464,13 @@
      * - decoding: set by lavc (default 0)\
      */\
     int palette_has_changed;\
+    \
+    /**\
+     * Codec suggestion on buffer type if != 0\
+     * - encoding: unused\
+     * - decoding: set by lavc (before get_buffer() call))\
+     */\
+    int buffer_hints;\
 
 #define FF_QSCALE_TYPE_MPEG1	0
 #define FF_QSCALE_TYPE_MPEG2	1
@@ -477,6 +488,11 @@
 #define FF_SI_TYPE 5
 #define FF_SP_TYPE 6
 
+#define FF_BUFFER_HINTS_VALID    0x01 // Buffer hints value is meaningful (if 0 ignore)
+#define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer
+#define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content
+#define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update)
+
 /**
  * Audio Video Frame.
  */
@@ -1366,6 +1382,13 @@
      */
     int noise_reduction;
     
+    /**
+     * Conditional replenishment support
+     * - encoding: unused
+     * - decoding: set by user, if 1 user can allocate reusable buffers
+     */
+    int cr_available;
+    
 } AVCodecContext;
 
 
--- a/utils.c	Thu Nov 06 22:05:22 2003 +0000
+++ b/utils.c	Fri Nov 07 21:20:24 2003 +0000
@@ -326,6 +326,7 @@
     s->intra_quant_bias= FF_DEFAULT_QUANT_BIAS;
     s->inter_quant_bias= FF_DEFAULT_QUANT_BIAS;
     s->palctrl = NULL;
+    s->cr_available = 0;
 }
 
 /**