mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
(RPNG) Add PNG_PROCESS_* enums
This commit is contained in:
parent
75598e5e60
commit
96b16d4205
@ -437,6 +437,14 @@ static bool png_reverse_filter_regular(uint32_t **data_, const struct png_ihdr *
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum png_process_code
|
||||||
|
{
|
||||||
|
PNG_PROCESS_ERROR = -2,
|
||||||
|
PNG_PROCESS_ERROR_END = -1,
|
||||||
|
PNG_PROCESS_NEXT = 0,
|
||||||
|
PNG_PROCESS_END = 1,
|
||||||
|
};
|
||||||
|
|
||||||
static int png_reverse_filter_adam7_iterate(uint32_t **data_,
|
static int png_reverse_filter_adam7_iterate(uint32_t **data_,
|
||||||
const struct png_ihdr *ihdr,
|
const struct png_ihdr *ihdr,
|
||||||
struct rpng_process_t *pngp)
|
struct rpng_process_t *pngp)
|
||||||
@ -451,16 +459,16 @@ static int png_reverse_filter_adam7_iterate(uint32_t **data_,
|
|||||||
ret = png_reverse_filter_init(ihdr, pngp);
|
ret = png_reverse_filter_init(ihdr, pngp);
|
||||||
|
|
||||||
if (ret == 1)
|
if (ret == 1)
|
||||||
return 0;
|
return PNG_PROCESS_NEXT;
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return -1;
|
return PNG_PROCESS_ERROR_END;
|
||||||
|
|
||||||
if (png_reverse_filter_init(&pngp->ihdr, pngp) == -1)
|
if (png_reverse_filter_init(&pngp->ihdr, pngp) == -1)
|
||||||
return -2;
|
return PNG_PROCESS_ERROR;
|
||||||
|
|
||||||
if (!png_reverse_filter_regular(&pngp->data,
|
if (!png_reverse_filter_regular(&pngp->data,
|
||||||
&pngp->ihdr, pngp))
|
&pngp->ihdr, pngp))
|
||||||
return -2;
|
return PNG_PROCESS_ERROR;
|
||||||
|
|
||||||
pngp->inflate_buf += pngp->pass.size;
|
pngp->inflate_buf += pngp->pass.size;
|
||||||
pngp->adam7_restore_buf_size += pngp->pass.size;
|
pngp->adam7_restore_buf_size += pngp->pass.size;
|
||||||
@ -476,7 +484,7 @@ static int png_reverse_filter_adam7_iterate(uint32_t **data_,
|
|||||||
pngp->pass.size = 0;
|
pngp->pass.size = 0;
|
||||||
pngp->adam7_pass_initialized = false;
|
pngp->adam7_pass_initialized = false;
|
||||||
|
|
||||||
return 0;
|
return PNG_PROCESS_NEXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int png_reverse_filter_adam7(uint32_t **data_,
|
static int png_reverse_filter_adam7(uint32_t **data_,
|
||||||
@ -488,13 +496,13 @@ static int png_reverse_filter_adam7(uint32_t **data_,
|
|||||||
|
|
||||||
switch (ret)
|
switch (ret)
|
||||||
{
|
{
|
||||||
case -1:
|
case PNG_PROCESS_ERROR_END:
|
||||||
case 1: /* end */
|
case PNG_PROCESS_END:
|
||||||
break;
|
break;
|
||||||
case 0: /* continue iterating */
|
case PNG_PROCESS_NEXT:
|
||||||
pngp->pass.pos++;
|
pngp->pass.pos++;
|
||||||
return 0;
|
return 0;
|
||||||
case -2: /* error */
|
case PNG_PROCESS_ERROR:
|
||||||
if (pngp->data)
|
if (pngp->data)
|
||||||
free(pngp->data);
|
free(pngp->data);
|
||||||
pngp->inflate_buf -= pngp->adam7_restore_buf_size;
|
pngp->inflate_buf -= pngp->adam7_restore_buf_size;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user