Mercurial > libavcore.hg
annotate imgutils.c @ 8:f214f755f5de libavcore
Move fill_image_linesize() and fill_image_data_ptr() from
libavcodec/imgconvert.c and make them public in libavcore/imgutils.h,
with the names av_fill_image_linesizes() and av_fill_image_pointers().
author | stefano |
---|---|
date | Thu, 29 Jul 2010 23:44:57 +0000 |
parents | |
children | 4cecefd36670 |
rev | line source |
---|---|
8
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
1 /* |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
2 * This file is part of FFmpeg. |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
3 * |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
4 * FFmpeg is free software; you can redistribute it and/or |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
5 * modify it under the terms of the GNU Lesser General Public |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
6 * License as published by the Free Software Foundation; either |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
7 * version 2.1 of the License, or (at your option) any later version. |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
8 * |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
9 * FFmpeg is distributed in the hope that it will be useful, |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
12 * Lesser General Public License for more details. |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
13 * |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
14 * You should have received a copy of the GNU Lesser General Public |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
15 * License along with FFmpeg; if not, write to the Free Software |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
17 */ |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
18 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
19 /** |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
20 * @file |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
21 * misc image utilities |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
22 */ |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
23 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
24 #include "imgutils.h" |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
25 #include "libavutil/pixdesc.h" |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
26 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
27 int av_fill_image_linesizes(int linesize[4], enum PixelFormat pix_fmt, int width) |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
28 { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
29 int i; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
30 const AVPixFmtDescriptor *desc = &av_pix_fmt_descriptors[pix_fmt]; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
31 int max_plane_step [4]; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
32 int max_plane_step_comp[4]; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
33 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
34 memset(linesize, 0, 4*sizeof(linesize[0])); |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
35 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
36 if (desc->flags & PIX_FMT_HWACCEL) |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
37 return -1; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
38 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
39 if (desc->flags & PIX_FMT_BITSTREAM) { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
40 linesize[0] = (width * (desc->comp[0].step_minus1+1) + 7) >> 3; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
41 return 0; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
42 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
43 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
44 memset(max_plane_step , 0, sizeof(max_plane_step )); |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
45 memset(max_plane_step_comp, 0, sizeof(max_plane_step_comp)); |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
46 for (i = 0; i < 4; i++) { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
47 const AVComponentDescriptor *comp = &(desc->comp[i]); |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
48 if ((comp->step_minus1+1) > max_plane_step[comp->plane]) { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
49 max_plane_step [comp->plane] = comp->step_minus1+1; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
50 max_plane_step_comp[comp->plane] = i; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
51 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
52 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
53 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
54 for (i = 0; i < 4; i++) { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
55 int s = (max_plane_step_comp[i] == 1 || max_plane_step_comp[i] == 2) ? desc->log2_chroma_w : 0; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
56 linesize[i] = max_plane_step[i] * (((width + (1 << s) - 1)) >> s); |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
57 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
58 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
59 return 0; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
60 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
61 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
62 int av_fill_image_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int height, |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
63 uint8_t *ptr, const int linesize[4]) |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
64 { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
65 int size, h2, size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
66 const AVPixFmtDescriptor *desc = &av_pix_fmt_descriptors[pix_fmt]; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
67 |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
68 size = linesize[0] * height; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
69 switch(pix_fmt) { |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
70 case PIX_FMT_YUV420P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
71 case PIX_FMT_YUV422P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
72 case PIX_FMT_YUV444P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
73 case PIX_FMT_YUV410P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
74 case PIX_FMT_YUV411P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
75 case PIX_FMT_YUV440P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
76 case PIX_FMT_YUVJ420P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
77 case PIX_FMT_YUVJ422P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
78 case PIX_FMT_YUVJ444P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
79 case PIX_FMT_YUVJ440P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
80 case PIX_FMT_YUV420P16LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
81 case PIX_FMT_YUV422P16LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
82 case PIX_FMT_YUV444P16LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
83 case PIX_FMT_YUV420P16BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
84 case PIX_FMT_YUV422P16BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
85 case PIX_FMT_YUV444P16BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
86 h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
87 size2 = linesize[1] * h2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
88 data[0] = ptr; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
89 data[1] = data[0] + size; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
90 data[2] = data[1] + size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
91 data[3] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
92 return size + 2 * size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
93 case PIX_FMT_YUVA420P: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
94 h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
95 size2 = linesize[1] * h2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
96 data[0] = ptr; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
97 data[1] = data[0] + size; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
98 data[2] = data[1] + size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
99 data[3] = data[1] + size2 + size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
100 return 2 * size + 2 * size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
101 case PIX_FMT_NV12: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
102 case PIX_FMT_NV21: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
103 h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
104 size2 = linesize[1] * h2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
105 data[0] = ptr; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
106 data[1] = data[0] + size; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
107 data[2] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
108 data[3] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
109 return size + size2; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
110 case PIX_FMT_RGB24: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
111 case PIX_FMT_BGR24: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
112 case PIX_FMT_ARGB: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
113 case PIX_FMT_ABGR: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
114 case PIX_FMT_RGBA: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
115 case PIX_FMT_BGRA: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
116 case PIX_FMT_RGB48BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
117 case PIX_FMT_RGB48LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
118 case PIX_FMT_GRAY16BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
119 case PIX_FMT_GRAY16LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
120 case PIX_FMT_BGR444BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
121 case PIX_FMT_BGR444LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
122 case PIX_FMT_BGR555BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
123 case PIX_FMT_BGR555LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
124 case PIX_FMT_BGR565BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
125 case PIX_FMT_BGR565LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
126 case PIX_FMT_RGB444BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
127 case PIX_FMT_RGB444LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
128 case PIX_FMT_RGB555BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
129 case PIX_FMT_RGB555LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
130 case PIX_FMT_RGB565BE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
131 case PIX_FMT_RGB565LE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
132 case PIX_FMT_YUYV422: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
133 case PIX_FMT_UYVY422: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
134 case PIX_FMT_UYYVYY411: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
135 case PIX_FMT_RGB4: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
136 case PIX_FMT_BGR4: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
137 case PIX_FMT_MONOWHITE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
138 case PIX_FMT_MONOBLACK: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
139 case PIX_FMT_Y400A: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
140 data[0] = ptr; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
141 data[1] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
142 data[2] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
143 data[3] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
144 return size; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
145 case PIX_FMT_PAL8: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
146 case PIX_FMT_RGB8: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
147 case PIX_FMT_BGR8: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
148 case PIX_FMT_RGB4_BYTE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
149 case PIX_FMT_BGR4_BYTE: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
150 case PIX_FMT_GRAY8: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
151 size2 = (size + 3) & ~3; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
152 data[0] = ptr; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
153 data[1] = ptr + size2; /* palette is stored here as 256 32 bit words */ |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
154 data[2] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
155 data[3] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
156 return size2 + 256 * 4; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
157 default: |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
158 data[0] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
159 data[1] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
160 data[2] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
161 data[3] = NULL; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
162 return -1; |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
163 } |
f214f755f5de
Move fill_image_linesize() and fill_image_data_ptr() from
stefano
parents:
diff
changeset
|
164 } |