| 143 | } |
| 144 | |
| 145 | int av_image_fill_pointers(uint8_t *data[4], enum AVPixelFormat pix_fmt, int height, |
| 146 | uint8_t *ptr, const int linesizes[4]) |
| 147 | { |
| 148 | int i, ret; |
| 149 | ptrdiff_t linesizes1[4]; |
| 150 | size_t sizes[4]; |
| 151 | |
| 152 | memset(data , 0, sizeof(data[0])*4); |
| 153 | |
| 154 | for (i = 0; i < 4; i++) |
| 155 | linesizes1[i] = linesizes[i]; |
| 156 | |
| 157 | ret = av_image_fill_plane_sizes(sizes, pix_fmt, height, linesizes1); |
| 158 | if (ret < 0) |
| 159 | return ret; |
| 160 | |
| 161 | ret = 0; |
| 162 | for (i = 0; i < 4; i++) { |
| 163 | if (sizes[i] > INT_MAX - ret) |
| 164 | return AVERROR(EINVAL); |
| 165 | ret += sizes[i]; |
| 166 | } |
| 167 | |
| 168 | if (!ptr) |
| 169 | return ret; |
| 170 | |
| 171 | data[0] = ptr; |
| 172 | for (i = 1; i < 4 && sizes[i]; i++) |
| 173 | data[i] = data[i - 1] + sizes[i - 1]; |
| 174 | |
| 175 | return ret; |
| 176 | } |
| 177 | |
| 178 | int avpriv_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt) |
| 179 | { |