Mercurial > mplayer.hg
comparison mp_image.h @ 4877:9d97874d8691
new flags added for direct rendering (libmpcodecs core)
author | arpi |
---|---|
date | Thu, 28 Feb 2002 00:53:01 +0000 |
parents | 82a4c1c80021 |
children | 429994672d8c |
comparison
equal
deleted
inserted
replaced
4876:5320e2e683e8 | 4877:9d97874d8691 |
---|---|
1 | 1 |
2 // set if it's internal buffer of the codec, and shouldn't be modified: | 2 // set if buffer content shouldn't be modified: |
3 #define MP_IMGFLAG_READONLY 0x01 | 3 #define MP_IMGFLAG_PRESERVE 0x01 |
4 // set if buffer content will be READED for next frame's MC: (I/P mpeg frames) | |
5 #define MP_IMGFLAG_READABLE 0x02 | |
4 // set if buffer is allocated (used in destination images): | 6 // set if buffer is allocated (used in destination images): |
5 #define MP_IMGFLAG_ALLOCATED 0x02 | 7 #define MP_IMGFLAG_ALLOCATED 0x04 |
6 // set if it's in video buffer/memory: | 8 // set if it's in video buffer/memory: |
7 #define MP_IMGFLAG_DIRECT 0x04 | 9 #define MP_IMGFLAG_DIRECT 0x08 |
10 // codec accept any stride (>=width): | |
11 #define MP_IMGFLAG_ACCEPT_STRIDE 0x10 | |
12 // stride should be aligned to 16-byte (MB) boundary: | |
13 #define MP_IMGFLAG_ALIGNED_STRIDE 0x20 | |
14 // codec uses drawing/rendering callbacks (draw_slice()-like thing, DR method 2) | |
15 #define MP_IMGFLAG_DRAW_CALBACK 0x40 | |
8 | 16 |
9 // set if number of planes > 1 | 17 // set if number of planes > 1 |
10 #define MP_IMGFLAG_PLANAR 0x10 | 18 #define MP_IMGFLAG_PLANAR 0x100 |
11 // set if it's YUV colorspace | 19 // set if it's YUV colorspace |
12 #define MP_IMGFLAG_YUV 0x20 | 20 #define MP_IMGFLAG_YUV 0x200 |
13 // set if it's swapped plane/byteorder | 21 // set if it's swapped plane/byteorder |
14 #define MP_IMGFLAG_SWAPPED 0x40 | 22 #define MP_IMGFLAG_SWAPPED 0x400 |
15 | 23 |
24 // codec doesn't support any form of direct rendering - it has own buffer | |
25 // allocation. so we just export its buffer pointers: | |
16 #define MP_IMGTYPE_EXPORT 0 | 26 #define MP_IMGTYPE_EXPORT 0 |
27 // codec requires a static WO buffer, but it does only partial updates later: | |
17 #define MP_IMGTYPE_STATIC 1 | 28 #define MP_IMGTYPE_STATIC 1 |
29 // codec just needs some WO memory, where it writes/copies the whole frame to: | |
18 #define MP_IMGTYPE_TEMP 2 | 30 #define MP_IMGTYPE_TEMP 2 |
31 // I+P type, requires 2+ independent static R/W buffers | |
32 #define MP_IMGTYPE_IP 3 | |
33 // I+P+B type, requires 2+ independent static R/W and 1+ temp WO buffers | |
34 #define MP_IMGTYPE_IPB 4 | |
19 | 35 |
20 typedef struct mp_image_s { | 36 typedef struct mp_image_s { |
21 unsigned short flags; | 37 unsigned short flags; |
22 unsigned char type; | 38 unsigned char type; |
23 unsigned char bpp; // bits/pixel. NOT depth! for RGB it will be n*8 | 39 unsigned char bpp; // bits/pixel. NOT depth! for RGB it will be n*8 |