[Spice-devel] [spice-server PATCH v1 3/12] jpeg_encoder: fix alignment warnings (convert_line)
Frediano Ziglio
fziglio at redhat.com
Thu Aug 6 05:27:08 PDT 2015
>
> As the input line could be uint8_t*, uint16_t* or uint32_t*, changing
> the default from uint8_t* to void* seems the correct choice to deal with
> upcasting warnings.
>
> clang output:
> jpeg_encoder.c:109:26: error: cast from 'uint8_t *'
> (aka 'unsigned char *') to 'uint16_t *' (aka 'unsigned short *')
> increases required alignment from 1 to 2 [-Werror,-Wcast-align]
> uint16_t *src_line = (uint16_t *)line;
> ^~~~~~~~~~~~~~~~
>
> jpeg_encoder.c:144:26: error: cast from 'uint8_t *'
> (aka 'unsigned char *') to 'uint32_t *' (aka 'unsigned int *')
> increases required alignment from 1 to 4 [-Werror,-Wcast-align]
> uint32_t *src_line = (uint32_t *)line;
> ^~~~~~~~~~~~~~~~
> ---
> server/jpeg_encoder.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/server/jpeg_encoder.c b/server/jpeg_encoder.c
> index 01732ff..0296e9b 100644
> --- a/server/jpeg_encoder.c
> +++ b/server/jpeg_encoder.c
> @@ -35,7 +35,7 @@ typedef struct JpegEncoder {
> int height;
> int stride;
> unsigned int out_size;
> - void (*convert_line_to_RGB24) (uint8_t *line, int width, uint8_t
> **out_line);
> + void (*convert_line_to_RGB24) (void *line, int width, uint8_t
> **out_line);
> } cur_image;
> } JpegEncoder;
>
> @@ -104,9 +104,9 @@ void jpeg_encoder_destroy(JpegEncoderContext* encoder)
> free(encoder);
> }
>
> -static void convert_RGB16_to_RGB24(uint8_t *line, int width, uint8_t
> **out_line)
> +static void convert_RGB16_to_RGB24(void *line, int width, uint8_t
> **out_line)
> {
> - uint16_t *src_line = (uint16_t *)line;
> + uint16_t *src_line = line;
> uint8_t *out_pix;
> int x;
>
> @@ -122,11 +122,11 @@ static void convert_RGB16_to_RGB24(uint8_t *line, int
> width, uint8_t **out_line)
> }
> }
>
> -static void convert_BGR24_to_RGB24(uint8_t *line, int width, uint8_t
> **out_line)
> +static void convert_BGR24_to_RGB24(void *in_line, int width, uint8_t
> **out_line)
> {
> int x;
> uint8_t *out_pix;
> -
> + uint8_t *line = in_line;
> spice_assert(out_line && *out_line);
>
> out_pix = *out_line;
> @@ -139,9 +139,9 @@ static void convert_BGR24_to_RGB24(uint8_t *line, int
> width, uint8_t **out_line)
> }
> }
>
> -static void convert_BGRX32_to_RGB24(uint8_t *line, int width, uint8_t
> **out_line)
> +static void convert_BGRX32_to_RGB24(void *line, int width, uint8_t
> **out_line)
> {
> - uint32_t *src_line = (uint32_t *)line;
> + uint32_t *src_line = line;
> uint8_t *out_pix;
> int x;
>
> @@ -157,7 +157,7 @@ static void convert_BGRX32_to_RGB24(uint8_t *line, int
> width, uint8_t **out_line
> }
> }
>
> -static void convert_RGB24_to_RGB24(uint8_t *line, int width, uint8_t
> **out_line)
> +static void convert_RGB24_to_RGB24(void *line, int width, uint8_t
> **out_line)
> {
> *out_line = line;
> }
> --
> 2.4.3
>
Acked-by!
Frediano
More information about the Spice-devel
mailing list