Mercurial > repos > blastem
view ppm.c @ 1356:4d16c09210fd
Fix resampling code to deal with case in which output frequency is greater than the input frequency. Probably could stand to be improved, but at least it doesn't cause the emulator to deadlock
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 11 May 2017 07:51:28 -0700 |
parents | 5f65a16c23ff |
children | da2e06c42d16 |
line wrap: on
line source
#include <stdint.h> #include <stdio.h> void save_ppm(FILE *f, uint32_t *buffer, uint32_t width, uint32_t height, uint32_t pitch) { fprintf(f, "P6\n%d %d\n255\n", width, height); for(uint32_t y = 0; y < height; y++) { uint32_t *line = buffer; for (uint32_t x = 0; x < width; x++, line++) { uint8_t buf[3] = { *line >> 16, //red *line >> 8, //green *line //blue }; fwrite(buf, 1, sizeof(buf), f); } buffer = buffer + pitch / sizeof(uint32_t); } }