Mercurial > mplayer.hg
annotate libvo/spuenc.c @ 27450:4da9ce4d8327
Fix 'cast from pointer to integer of different size' on 64bit architectures. Casting to long should work for 32bit and 64bit and not make a difference to the boolean operation (since 'format' is always 32bit (int) the upper 32bit of 'arg' won't matter, but the compiler should be happy now. Casting both to unsigned makes sure the compiler isn't messing things up by sign-extending 'format' to 64bit before masking)
author | ranma |
---|---|
date | Sun, 24 Aug 2008 13:52:54 +0000 |
parents | 2a34d9fa52ab |
children | d5d66bff938a |
rev | line source |
---|---|
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
1 /* |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
2 * subpic_encode.c - encodes a pixmap with RLE |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
3 * |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
4 * Copyright (C) 2000 Alejandro J. Cura <alecu@protocultura.net> |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
5 * |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
6 * (modified a bit to work with the dxr3 driver...4/2/2002 cg) |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
7 * |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
8 * Based on the hard work of: |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
9 * |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
10 * Samuel Hocevar <sam@via.ecp.fr> and Michel Lespinasse <walken@via.ecp.fr> |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
11 * |
26739
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
12 * This file is part of MPlayer. |
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
13 * |
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
14 * MPlayer is free software; you can redistribute it and/or modify |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
15 * it under the terms of the GNU General Public License as published by |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
16 * the Free Software Foundation; either version 2 of the License, or |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
17 * (at your option) any later version. |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
18 * |
26739
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
19 * MPlayer is distributed in the hope that it will be useful, |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
22 * GNU General Public License for more details. |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
23 * |
26739
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
24 * You should have received a copy of the GNU General Public License along |
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
25 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
2a34d9fa52ab
Use standard license headers with standard formatting.
diego
parents:
17367
diff
changeset
|
26 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
27 */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
28 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
29 #include <stdio.h> |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
30 #include <stdlib.h> |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
31 #include "unistd.h" |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
32 #include "spuenc.h" |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
33 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
34 static void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
35 encode_do_control(int x,int y, encodedata* ed, pixbuf* pb) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
36 int controlstart= ed->count; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
37 int x1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
38 int i; |
6855
fb56a6c15dca
fix silly shorthand that could cause trouble porting
rfelker
parents:
5491
diff
changeset
|
39 unsigned int top, left, bottom, right; |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
40 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
41 top= 450 - pb->y/2; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
42 left=(720 / 2) - (pb->x / 2); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
43 top= 32;//this forces the first bit to be visible on a TV |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
44 left= 32;//you could actually pass in x/y and do some nice |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
45 //calculations for making it look right... |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
46 bottom= top + pb->y - 1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
47 right= left + pb->x - 1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
48 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
49 /* the format of this is well described by a page: |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
50 * http://members.aol.com/mpucoder/DVD/spu.html |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
51 * |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
52 * note I changed the layout of commands to turn off the subpic as the |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
53 * first command, and then turn on the new subpic...this is so we can |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
54 * leave the subpic on for an arbitrary ammount of time as controlled by |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
55 * mplayer (ie when we turn on the subpic we don't know how long it should |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
56 * stay on when using mplayer). |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
57 * with this layout we turn off the last subpic as we are turning on the |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
58 * new one. |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
59 * The original hd it turn on the subpic, and delay the turn off command using |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
60 * the durration/delay feature. |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
61 * */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
62 /* start at x0+2*/ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
63 i= controlstart; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
64 /* display duration... */ |
5491 | 65 // ed->data[i++]= 0x00; |
66 // ed->data[i++]= 0x00; //durration before turn off command occurs | |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
67 //in 90000/1024 units |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
68 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
69 /* x1 */ |
5491 | 70 // x1=i+4; |
71 // ed->data[i++]= x1 >> 8;//location of next command block | |
72 // ed->data[i++]= x1 & 0xff; | |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
73 /* finish it */ |
5491 | 74 // ed->data[i++]= 0x02;//turn off command |
75 // ed->data[i++]= 0xff;//end of command block | |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
76 x1= i; //marker for last command block address |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
77 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
78 /* display duration... */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
79 ed->data[i++]= 0x00; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
80 ed->data[i++]= 0x00; //durration before turn on command occurs |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
81 //in 90000/1024 units |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
82 /* x1 */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
83 ed->data[i++]= x1 >> 8; //since this is the last command block, this |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
84 ed->data[i++]= x1 & 0xff;//points back to itself |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
85 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
86 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
87 /* 0x01: start displaying */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
88 ed->data[i++]= 0x01; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
89 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
90 /* 0x03: palette info */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
91 ed->data[i++]= 0x03; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
92 ed->data[i++]= 0x08; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
93 ed->data[i++]= 0x7f; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
94 /* |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
95 * The palette is a coded index (one of 16) 0 is black, 0xf is white |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
96 * (unless you screw with the default palette) |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
97 * for what I am doing I only use white. |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
98 * 7 is lt grey, and 8 is dk grey... |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
99 * */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
100 /* 0x04: transparency info (reversed) */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
101 ed->data[i++]= 0x04; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
102 ed->data[i++]= 0xFF;//change the opacity values of the color entries |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
103 ed->data[i++]= 0xF0;//say if you wanted white text on a black backround |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
104 //note you will have to work harder, by finding the |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
105 //bounding box of the text, and use a non transparent black palette |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
106 // entry to fill the backround with, (say color 1 instead of 0) |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
107 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
108 /* 0x05: coordinates */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
109 ed->data[i++]= 0x05; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
110 ed->data[i++]= left >> 4; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
111 ed->data[i++]= ((left&0xf)<<4)+(right>>8); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
112 ed->data[i++]= (right&0xff); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
113 ed->data[i++]= top >> 4; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
114 ed->data[i++]= ((top&0xf)<<4)+(bottom>>8); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
115 ed->data[i++]= (bottom&0xff); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
116 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
117 /* 0x06: both fields' offsets */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
118 ed->data[i++]= 0x06; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
119 ed->data[i++]= 0x00; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
120 ed->data[i++]= 0x04; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
121 ed->data[i++]= ed->oddstart >> 8; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
122 ed->data[i++]= ed->oddstart & 0xff; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
123 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
124 /* 0xFF: end sequence */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
125 ed->data[i++]= 0xFF; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
126 if(! i&1 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
127 ed->data[i++]= 0xff; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
128 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
129 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
130 /* x0 */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
131 ed->data[2]= (controlstart) >> 8; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
132 ed->data[3]= (controlstart) & 0xff; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
133 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
134 /* packet size */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
135 ed->data[0]= i >> 8; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
136 ed->data[1]= i & 0xff; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
137 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
138 ed->count= i; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
139 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
140 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
141 static void |
6855
fb56a6c15dca
fix silly shorthand that could cause trouble porting
rfelker
parents:
5491
diff
changeset
|
142 encode_put_nibble( encodedata* ed, unsigned char nibble ) { |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
143 if( ed->nibblewaiting ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
144 ed->data[ed->count++]|= nibble; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
145 ed->nibblewaiting= 0; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
146 } else { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
147 ed->data[ed->count]= nibble<<4; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
148 ed->nibblewaiting= 1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
149 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
150 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
151 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
152 static void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
153 encode_pixels( encodedata* ed, int color, int number ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
154 if(number > 3) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
155 if(number > 15) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
156 encode_put_nibble( ed, 0 ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
157 if(number > 63) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
158 encode_put_nibble( ed, (number & 0xC0)>>6 ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
159 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
160 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
161 encode_put_nibble( ed, (number & 0x3C)>>2 ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
162 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
163 encode_put_nibble( ed, ((number & 0xF)<<2) | color); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
164 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
165 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
166 static void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
167 encode_eol( encodedata* ed ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
168 if( ed->nibblewaiting ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
169 ed->count++; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
170 ed->nibblewaiting= 0; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
171 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
172 ed->data[ed->count++]= 0x00; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
173 ed->data[ed->count++]= 0x00; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
174 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
175 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
176 static void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
177 encode_do_row( encodedata* ed, pixbuf* pb, int row ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
178 int i= 0; |
6855
fb56a6c15dca
fix silly shorthand that could cause trouble porting
rfelker
parents:
5491
diff
changeset
|
179 unsigned char* pix= pb->pixels + row * pb->x; |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
180 int color= *pix; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
181 int n= 0; /* the number of pixels of this color */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
182 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
183 while( i++ < pb->x ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
184 /* FIXME: watch this space for EOL */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
185 if( *pix != color || n == 255 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
186 encode_pixels( ed, color, n ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
187 color= *pix; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
188 n= 1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
189 } else { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
190 n++; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
191 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
192 pix++; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
193 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
194 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
195 /* this small optimization: (n>63) can save up to two bytes per line |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
196 * I wonder if this is compatible with all the hardware... */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
197 if( color == 0 && n > 63 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
198 encode_eol( ed ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
199 } else { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
200 encode_pixels( ed, color, n ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
201 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
202 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
203 if( ed->nibblewaiting ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
204 ed->count++; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
205 ed->nibblewaiting= 0; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
206 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
207 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
208 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
209 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
210 void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
211 pixbuf_encode_rle(int x, int y, int w, int h, char *inbuf, int stride,encodedata *ed){ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
212 pixbuf pb; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
213 int i, row; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
214 pb.x = w; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
215 pb.y = h; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
216 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
217 pb.pixels = inbuf; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
218 ed->count= 4; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
219 ed->nibblewaiting= 0; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
220 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
221 row= 0; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
222 for( i= 0; i < pb.y; i++ ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
223 encode_do_row(ed, &pb, row); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
224 row+= 2; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
225 if( row > pb.y ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
226 row= 1; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
227 ed->oddstart= ed->count; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
228 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
229 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
230 encode_do_control(x,y, ed, &pb); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
231 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
232 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
233 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
234 void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
235 pixbuf_load_xpm( pixbuf* pb, char* xpm[] ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
236 int colors, chrs, l, n; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
237 char c[4], table[256]; |
6855
fb56a6c15dca
fix silly shorthand that could cause trouble porting
rfelker
parents:
5491
diff
changeset
|
238 unsigned char *b, *i; |
5467
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
239 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
240 sscanf( xpm[0], "%d %d %d %d", &pb->x, &pb->y, &colors, &chrs); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
241 if( colors > 4 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
242 fprintf( stderr, "the pixmap MUST be 4 colors or less\n"); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
243 exit (-1); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
244 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
245 if( chrs != 1 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
246 fprintf( stderr, "the XPM format MUST be 1 char per pixel\n"); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
247 exit (-1); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
248 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
249 if( pb->x > 0xFFF || pb->y > 0xFFF ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
250 fprintf( stderr, "the size is excesive\n"); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
251 exit (-1); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
252 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
253 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
254 for( l=0; l<colors; l++ ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
255 n= sscanf( xpm[l+1], "%c c #%x", &c[l], &pb->rgb[l]); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
256 if( n < 2 ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
257 /* this one is transparent */ |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
258 pb->rgb[l]=0xff000000; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
259 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
260 table[(int)c[l]]=l; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
261 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
262 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
263 pb->pixels= malloc( pb->x * pb->y ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
264 b= pb->pixels; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
265 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
266 for( l= colors+1; l <= pb->y + colors; l++ ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
267 i= xpm[l]; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
268 while( (int)*i) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
269 *b++ = table[*i++]; |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
270 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
271 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
272 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
273 |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
274 void |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
275 pixbuf_delete( pixbuf* pb ) { |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
276 free( pb->pixels ); |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
277 } |
7c2afd5b5163
Subpic encoder added (used on DXR3 and similar hardware that has a subpic channel)
mswitch
parents:
diff
changeset
|
278 |