# HG changeset patch
# User arpi
# Date 1014857581 0
# Node ID 9d97874d869186b6d4f829ca63fcc4f50618ec5a
# Parent  5320e2e683e8b400ebdb142a4c80ea1b649bfff7
new flags added for direct rendering (libmpcodecs core)

diff -r 5320e2e683e8 -r 9d97874d8691 mp_image.h
--- a/mp_image.h	Wed Feb 27 14:57:33 2002 +0000
+++ b/mp_image.h	Thu Feb 28 00:53:01 2002 +0000
@@ -1,21 +1,37 @@
 
-// set if it's internal buffer of the codec, and shouldn't be modified:
-#define MP_IMGFLAG_READONLY 0x01
+// set if buffer content shouldn't be modified:
+#define MP_IMGFLAG_PRESERVE 0x01
+// set if buffer content will be READED for next frame's MC: (I/P mpeg frames)
+#define MP_IMGFLAG_READABLE 0x02
 // set if buffer is allocated (used in destination images):
-#define MP_IMGFLAG_ALLOCATED 0x02
+#define MP_IMGFLAG_ALLOCATED 0x04
 // set if it's in video buffer/memory:
-#define MP_IMGFLAG_DIRECT 0x04
+#define MP_IMGFLAG_DIRECT 0x08
+// codec accept any stride (>=width):
+#define MP_IMGFLAG_ACCEPT_STRIDE 0x10
+// stride should be aligned to 16-byte (MB) boundary:
+#define MP_IMGFLAG_ALIGNED_STRIDE 0x20
+// codec uses drawing/rendering callbacks (draw_slice()-like thing, DR method 2)
+#define MP_IMGFLAG_DRAW_CALBACK 0x40
 
 // set if number of planes > 1
-#define MP_IMGFLAG_PLANAR 0x10
+#define MP_IMGFLAG_PLANAR 0x100
 // set if it's YUV colorspace
-#define MP_IMGFLAG_YUV 0x20
+#define MP_IMGFLAG_YUV 0x200
 // set if it's swapped plane/byteorder
-#define MP_IMGFLAG_SWAPPED 0x40
+#define MP_IMGFLAG_SWAPPED 0x400
 
+// codec doesn't support any form of direct rendering - it has own buffer
+// allocation. so we just export its buffer pointers:
 #define MP_IMGTYPE_EXPORT 0
+// codec requires a static WO buffer, but it does only partial updates later:
 #define MP_IMGTYPE_STATIC 1
+// codec just needs some WO memory, where it writes/copies the whole frame to:
 #define MP_IMGTYPE_TEMP 2
+// I+P type, requires 2+ independent static R/W buffers
+#define MP_IMGTYPE_IP 3
+// I+P+B type, requires 2+ independent static R/W and 1+ temp WO buffers
+#define MP_IMGTYPE_IPB 4
 
 typedef struct mp_image_s {
     unsigned short flags;