Benjamin Otte
2007-Dec-10 21:37 UTC
[Swfdec] 5 commits - libswfdec/jpeg libswfdec/swfdec_as_interpret.c libswfdec/swfdec_bits.c libswfdec/swfdec_cached.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec_audio.c libswfdec/swfdec_flash_security.c libswfdec/swfdec_image.c libswfdec/swfdec_interval.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c libswfdec/swfdec_shape_parser.c libswfdec/swfdec_sound.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie_html.c
libswfdec/jpeg/jpeg.h | 2 +- libswfdec/jpeg/jpeg_rgb_decoder.c | 26 +++++++++++++------------- libswfdec/swfdec_as_interpret.c | 26 +++++++++++++++++++------- libswfdec/swfdec_bits.c | 4 ++-- libswfdec/swfdec_cached.c | 2 +- libswfdec/swfdec_codec_adpcm.c | 2 +- libswfdec/swfdec_codec_audio.c | 2 +- libswfdec/swfdec_flash_security.c | 2 ++ libswfdec/swfdec_image.c | 20 ++++++++++++-------- libswfdec/swfdec_interval.c | 4 ++-- libswfdec/swfdec_net_stream.c | 8 ++++---- libswfdec/swfdec_player.c | 4 ++-- libswfdec/swfdec_shape_parser.c | 8 ++++---- libswfdec/swfdec_sound.c | 4 ++-- libswfdec/swfdec_text_field_movie.c | 4 ++-- libswfdec/swfdec_text_field_movie_html.c | 1 + 16 files changed, 69 insertions(+), 50 deletions(-) New commits: commit 534341e14aba5a7c80f962b3dcad6e9d04959f40 Author: Benjamin Otte <otte at gnome.org> Date: Mon Dec 10 22:37:29 2007 +0100 silence invalid alignment warnings diff --git a/libswfdec/swfdec_cached.c b/libswfdec/swfdec_cached.c index e49d42a..4279d1e 100644 --- a/libswfdec/swfdec_cached.c +++ b/libswfdec/swfdec_cached.c @@ -72,7 +72,7 @@ swfdec_cached_set_cache (SwfdecCached *cached, SwfdecCache *cache) static void swfdec_cached_unload_func (gpointer data) { - SwfdecCached *cached = SWFDEC_CACHED ((guint8 *) data - G_STRUCT_OFFSET (SwfdecCached, handle)); + SwfdecCached *cached = SWFDEC_CACHED ((void *) ((guint8 *) data - G_STRUCT_OFFSET (SwfdecCached, handle))); cached->handle.unload = NULL; swfdec_cached_unload (cached); diff --git a/libswfdec/swfdec_codec_adpcm.c b/libswfdec/swfdec_codec_adpcm.c index 1fc17ee..0aa39ab 100644 --- a/libswfdec/swfdec_codec_adpcm.c +++ b/libswfdec/swfdec_codec_adpcm.c @@ -79,7 +79,7 @@ swfdec_audio_decoder_adpcm_decode_chunk (SwfdecBits *bits, guint n_bits, guint c len = swfdec_bits_left (bits) / channels / n_bits; len = MIN (len, 4095); ret = swfdec_buffer_new_and_alloc ((len + 1) * sizeof (gint16) * channels); - out = (gint16 *) ret->data; + out = (gint16 *) (void *) ret->data; /* output initial value */ SWFDEC_LOG ("decoding %u samples", len + 1); for (ch = 0; ch < channels; ch++) diff --git a/libswfdec/swfdec_codec_audio.c b/libswfdec/swfdec_codec_audio.c index 46e6d47..34edbe9 100644 --- a/libswfdec/swfdec_codec_audio.c +++ b/libswfdec/swfdec_codec_audio.c @@ -45,7 +45,7 @@ swfdec_audio_decoder_uncompressed_decode_8bit (SwfdecAudioDecoder *decoder, return; ret = swfdec_buffer_new_and_alloc (buffer->length * 2); - out = (gint16 *) ret->data; + out = (gint16 *) (void *) ret->data; in = buffer->data; for (i = 0; i < buffer->length; i++) { *out = ((gint16) *in << 8) ^ (-1); diff --git a/libswfdec/swfdec_flash_security.c b/libswfdec/swfdec_flash_security.c index 5f31d4a..03f15a4 100644 --- a/libswfdec/swfdec_flash_security.c +++ b/libswfdec/swfdec_flash_security.c @@ -217,6 +217,8 @@ swfdec_flash_security_allow_url (SwfdecSecurity *guard, const SwfdecURL *url, break; default: g_assert_not_reached (); + allowed = FALSE; + break; } callback (url, allowed, user_data); diff --git a/libswfdec/swfdec_image.c b/libswfdec/swfdec_image.c index ee200d9..be63312 100644 --- a/libswfdec/swfdec_image.c +++ b/libswfdec/swfdec_image.c @@ -451,18 +451,21 @@ swfdec_image_lossless_load (SwfdecImage *image) } else if (format == 5) { SwfdecBuffer *buffer; int i, j; + guint32 *p; + buffer = swfdec_bits_decompress (&bits, -1, 4 * image->width * image->height); if (buffer == NULL) { SWFDEC_ERROR ("failed to decompress data"); data = g_malloc0 (4 * image->width * image->height); goto out; } - ptr = data = buffer->data; + data = buffer->data; + p = (void *) data; /* image is stored in 0RGB format. We use ARGB/BGRA. */ for (j = 0; j < image->height; j++) { for (i = 0; i < image->width; i++) { - *((guint32 *) ptr) = GUINT32_FROM_BE (*((guint32 *) ptr)); - ptr += 4; + *p = GUINT32_FROM_BE (*p); + p++; } } /* FIXME: this can fail if the returned buffer does not contain malloc'd @@ -633,8 +636,8 @@ cairo_surface_t * swfdec_image_create_surface_transformed (SwfdecImage *image, const SwfdecColorTransform *trans) { cairo_surface_t *surface, *source; - guint8 *tdata; - const guint8 *sdata; + guint32 *tdata; + const guint32 *sdata; guint i, n; gboolean has_alpha = FALSE; @@ -653,15 +656,16 @@ swfdec_image_create_surface_transformed (SwfdecImage *image, const SwfdecColorTr return NULL; } /* FIXME: This code assumes a rowstride of 4 * width */ - sdata = cairo_image_surface_get_data (source); + /* FIXME: This code assumes an alignment of 4 */ + sdata = (void *) cairo_image_surface_get_data (source); n = image->width * image->height; for (i = 0; i < n; i++) { - ((guint32 *) tdata)[i] = swfdec_color_apply_transform_premultiplied (((guint32 *) sdata)[i], trans); + tdata[i] = swfdec_color_apply_transform_premultiplied (sdata[i], trans); /* optimization: check for alpha channel to speed up compositing */ has_alpha = tdata[4 * i + SWFDEC_COLOR_INDEX_ALPHA] != 0xFF; } cairo_surface_destroy (source); - surface = cairo_image_surface_create_for_data (tdata, + surface = cairo_image_surface_create_for_data ((unsigned char *) tdata, has_alpha ? CAIRO_FORMAT_ARGB32 : CAIRO_FORMAT_RGB24, image->width, image->height, image->width * 4); cairo_surface_set_user_data (surface, &key, tdata, g_free); diff --git a/libswfdec/swfdec_interval.c b/libswfdec/swfdec_interval.c index 1199290..59f3ea7 100644 --- a/libswfdec/swfdec_interval.c +++ b/libswfdec/swfdec_interval.c @@ -84,8 +84,8 @@ static void swfdec_interval_trigger (SwfdecTimeout *timeout) { SwfdecAsValue ret; - SwfdecInterval *interval = SWFDEC_INTERVAL (((guchar *) timeout) - - G_STRUCT_OFFSET (SwfdecInterval, timeout)); + SwfdecInterval *interval = SWFDEC_INTERVAL ((void *) (((guchar *) timeout) + - G_STRUCT_OFFSET (SwfdecInterval, timeout))); SwfdecAsContext *context = SWFDEC_AS_OBJECT (interval)->context; SwfdecPlayer *player = SWFDEC_PLAYER (context); diff --git a/libswfdec/swfdec_net_stream.c b/libswfdec/swfdec_net_stream.c index b822991..35c8c8e 100644 --- a/libswfdec/swfdec_net_stream.c +++ b/libswfdec/swfdec_net_stream.c @@ -159,7 +159,7 @@ swfdec_net_stream_video_goto (SwfdecNetStream *stream, guint timestamp) static void swfdec_net_stream_timeout (SwfdecTimeout *timeout) { - SwfdecNetStream *stream = SWFDEC_NET_STREAM ((guchar *) timeout - G_STRUCT_OFFSET (SwfdecNetStream, timeout)); + SwfdecNetStream *stream = SWFDEC_NET_STREAM ((void *) ((guchar *) timeout - G_STRUCT_OFFSET (SwfdecNetStream, timeout))); SWFDEC_LOG ("timeout fired"); stream->timeout.callback = NULL; @@ -322,7 +322,7 @@ swfdec_net_stream_loader_target_init (SwfdecLoaderTargetInterface *iface) static void swfdec_net_stream_input_connect (SwfdecVideoMovieInput *input, SwfdecVideoMovie *movie) { - SwfdecNetStream *stream = SWFDEC_NET_STREAM ((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input)); + SwfdecNetStream *stream = SWFDEC_NET_STREAM ((void *)((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input))); stream->movies = g_list_prepend (stream->movies, movie); g_object_ref (stream); @@ -331,7 +331,7 @@ swfdec_net_stream_input_connect (SwfdecVideoMovieInput *input, SwfdecVideoMovie static void swfdec_net_stream_input_disconnect (SwfdecVideoMovieInput *input, SwfdecVideoMovie *movie) { - SwfdecNetStream *stream = SWFDEC_NET_STREAM ((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input)); + SwfdecNetStream *stream = SWFDEC_NET_STREAM ((void *)((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input))); stream->movies = g_list_remove (stream->movies, movie); g_object_unref (stream); @@ -340,7 +340,7 @@ swfdec_net_stream_input_disconnect (SwfdecVideoMovieInput *input, SwfdecVideoMov static cairo_surface_t * swfdec_net_stream_input_get_image (SwfdecVideoMovieInput *input) { - SwfdecNetStream *stream = SWFDEC_NET_STREAM ((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input)); + SwfdecNetStream *stream = SWFDEC_NET_STREAM ((void *)((guchar *) input - G_STRUCT_OFFSET (SwfdecNetStream, input))); return stream->surface; } diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c index 62c3e38..2c5f47c 100644 --- a/libswfdec/swfdec_player.c +++ b/libswfdec/swfdec_player.c @@ -507,7 +507,7 @@ swfdec_player_perform_external_actions (SwfdecPlayer *player) static void swfdec_player_trigger_external_actions (SwfdecTimeout *advance) { - SwfdecPlayer *player = SWFDEC_PLAYER ((guint8 *) advance - G_STRUCT_OFFSET (SwfdecPlayer, external_timeout)); + SwfdecPlayer *player = SWFDEC_PLAYER ((void *) ((guint8 *) advance - G_STRUCT_OFFSET (SwfdecPlayer, external_timeout))); player->external_timeout.callback = NULL; swfdec_player_perform_external_actions (player); @@ -1254,7 +1254,7 @@ swfdec_player_execute_on_load_init (SwfdecPlayer *player) static void swfdec_player_iterate (SwfdecTimeout *timeout) { - SwfdecPlayer *player = SWFDEC_PLAYER ((guint8 *) timeout - G_STRUCT_OFFSET (SwfdecPlayer, iterate_timeout)); + SwfdecPlayer *player = SWFDEC_PLAYER ((void *) ((guint8 *) timeout - G_STRUCT_OFFSET (SwfdecPlayer, iterate_timeout))); GList *walk; /* add timeout again - do this first because later code can change it */ diff --git a/libswfdec/swfdec_shape_parser.c b/libswfdec/swfdec_shape_parser.c index 90e09ef..4eba39a 100644 --- a/libswfdec/swfdec_shape_parser.c +++ b/libswfdec/swfdec_shape_parser.c @@ -272,8 +272,8 @@ swfdec_shape_parser_finish (SwfdecShapeParser *parser) if (style->draw == NULL) continue; if (style->subpaths) { - swfdec_style_finish (style, (SwfdecSubPath *) parser->subpaths->data, - parser->subpaths2->len ? (SwfdecSubPath *) parser->subpaths->data : NULL, FALSE); + swfdec_style_finish (style, (SwfdecSubPath *) (void *) parser->subpaths->data, + parser->subpaths2->len ? (SwfdecSubPath *) (void *) parser->subpaths->data : NULL, FALSE); parser->draws = g_slist_prepend (parser->draws, g_object_ref (style->draw)); } else if (parser->parse_fill) { SWFDEC_WARNING ("fillstyle %u has no path", i); @@ -286,8 +286,8 @@ swfdec_shape_parser_finish (SwfdecShapeParser *parser) if (style->draw == NULL) continue; if (style->subpaths) { - swfdec_style_finish (style, (SwfdecSubPath *) parser->subpaths->data, - parser->subpaths2->len ? (SwfdecSubPath *) parser->subpaths->data : NULL, TRUE); + swfdec_style_finish (style, (SwfdecSubPath *) (void *) parser->subpaths->data, + parser->subpaths2->len ? (SwfdecSubPath *) (void *) parser->subpaths->data : NULL, TRUE); parser->draws = g_slist_prepend (parser->draws, g_object_ref (style->draw)); } else { SWFDEC_WARNING ("linestyle %u has no path", i); diff --git a/libswfdec/swfdec_sound.c b/libswfdec/swfdec_sound.c index dffe212..ef0641e 100644 --- a/libswfdec/swfdec_sound.c +++ b/libswfdec/swfdec_sound.c @@ -549,9 +549,9 @@ swfdec_sound_buffer_render (gint16 *dest, const SwfdecBuffer *source, } } if (channels == 2) { - swfdec_sound_buffer_render_stereo (dest, (const gint16 *) source->data, offset, n_samples, rate); + swfdec_sound_buffer_render_stereo (dest, (const void *) source->data, offset, n_samples, rate); } else { - swfdec_sound_buffer_render_mono (dest, (const gint16 *) source->data, offset, n_samples, rate); + swfdec_sound_buffer_render_mono (dest, (const void *) source->data, offset, n_samples, rate); } g_free (fixme); } diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c index 50b7a57..ab33f55 100644 --- a/libswfdec/swfdec_text_field_movie.c +++ b/libswfdec/swfdec_text_field_movie.c @@ -368,7 +368,7 @@ swfdec_text_field_movie_get_paragraphs (SwfdecTextFieldMovie *text, int *num) if (text->text->password) swfdec_text_field_movie_ensure_asterisks (text, max_length); - return (SwfdecParagraph *)g_array_free (paragraphs, FALSE); + return (SwfdecParagraph *) (void *) g_array_free (paragraphs, FALSE); } static void @@ -698,7 +698,7 @@ swfdec_text_field_movie_get_layouts (SwfdecTextFieldMovie *text, int *num, if (num != NULL) *num = layouts->len; - return (SwfdecLayout *)g_array_free (layouts, FALSE); + return (SwfdecLayout *) (void *) g_array_free (layouts, FALSE); } static void diff --git a/libswfdec/swfdec_text_field_movie_html.c b/libswfdec/swfdec_text_field_movie_html.c index 1a007a9..d3907ff 100644 --- a/libswfdec/swfdec_text_field_movie_html.c +++ b/libswfdec/swfdec_text_field_movie_html.c @@ -516,6 +516,7 @@ swfdec_text_field_movie_html_text_align_to_string (SwfdecTextAlign align) return "JUSTIFY"; default: g_assert_not_reached (); + return ""; } } commit 193de9aa3a9bb0772fb7af32fcd7628e297c0d47 Author: Benjamin Otte <otte at gnome.org> Date: Mon Dec 10 22:36:08 2007 +0100 fix unaligned reads diff --git a/libswfdec/swfdec_bits.c b/libswfdec/swfdec_bits.c index edc79a8..5298012 100644 --- a/libswfdec/swfdec_bits.c +++ b/libswfdec/swfdec_bits.c @@ -359,9 +359,9 @@ swfdec_bits_get_bdouble (SwfdecBits * b) SWFDEC_BYTES_CHECK (b, 8); #if G_BYTE_ORDER == G_BIG_ENDIAN - d = *((double *) b->ptr); + memcpy (&d, b->ptr, 8); #elif G_BYTE_ORDER == G_LITTLE_ENDIAN - tmp = *((guint64 *) b->ptr); + memcpy (&tmp, b->ptr, 8); tmp = GUINT64_FROM_BE (tmp); p = &tmp; d = *((double *) p); commit 66ec2cbf1f9c456306eb523a7d00921e6e646fb2 Author: Benjamin Otte <otte at gnome.org> Date: Mon Dec 10 22:35:57 2007 +0100 fix unaligned reads diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index 0b48d67..975a447 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -1321,6 +1321,7 @@ swfdec_action_string_compare (SwfdecAsContext *cx, guint action, const guint8 *d cond = strcmp (l, r) < 0; break; default: + cond = FALSE; g_assert_not_reached (); break; } commit b995903b20f0327f8d4845eea183b9aae0134d03 Author: Benjamin Otte <otte at gnome.org> Date: Mon Dec 10 21:52:53 2007 +0100 fix alignment warnings diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index c37b2bf..0b48d67 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swfdec_as_interpret.c @@ -116,7 +116,7 @@ swfdec_action_goto_frame (SwfdecAsContext *cx, guint action, const guint8 *data, SWFDEC_ERROR ("GotoFrame action length invalid (is %u, should be 2", len); return; } - frame = GUINT16_FROM_LE (*((guint16 *) data)); + frame = (data[0] | data[1] << 8); if (SWFDEC_IS_SPRITE_MOVIE (cx->frame->target)) { SwfdecSpriteMovie *movie = SWFDEC_SPRITE_MOVIE (cx->frame->target); swfdec_sprite_movie_goto (movie, frame + 1); @@ -225,7 +225,7 @@ swfdec_script_skip_actions (SwfdecAsContext *cx, guint jump) if (*pc & 0x80) { if (pc + 2 >= endpc) break; - pc += 3 + GUINT16_FROM_LE (*((guint16 *) (pc + 1))); + pc += 3 + (pc[1] | (pc[2] << 8)); } else { pc++; } @@ -1086,11 +1086,14 @@ swfdec_action_not (SwfdecAsContext *cx, guint action, const guint8 *data, guint static void swfdec_action_jump (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { + gint16 offset; + if (len != 2) { SWFDEC_ERROR ("Jump action length invalid (is %u, should be 2", len); return; } - cx->frame->pc += 5 + GINT16_FROM_LE (*((gint16*) data)); + offset = data[0] | (data[1] << 8); + cx->frame->pc += 5 + (int) data; } static void @@ -1100,8 +1103,10 @@ swfdec_action_if (SwfdecAsContext *cx, guint action, const guint8 *data, guint l SWFDEC_ERROR ("Jump action length invalid (is %u, should be 2", len); return; } - if (swfdec_as_value_to_boolean (cx, swfdec_as_stack_peek (cx, 1))) - cx->frame->pc += 5 + GINT16_FROM_LE (*((gint16*) data)); + if (swfdec_as_value_to_boolean (cx, swfdec_as_stack_peek (cx, 1))) { + gint16 offset = data[0] | (data[1] << 8); + cx->frame->pc += 5 + (int) offset; + } swfdec_as_stack_pop (cx); } @@ -2946,21 +2951,27 @@ swfdec_action_print_get_url (guint action, const guint8 *data, guint len) static char * swfdec_action_print_if (guint action, const guint8 *data, guint len) { + gint16 offset; + if (len != 2) { SWFDEC_ERROR ("If action length invalid (is %u, should be 2", len); return NULL; } - return g_strdup_printf ("If %d", GINT16_FROM_LE (*((gint16*) data))); + offset = data[0] | (data[1] << 8); + return g_strdup_printf ("If %d", (int) offset); } static char * swfdec_action_print_jump (guint action, const guint8 *data, guint len) { + gint16 offset; + if (len != 2) { SWFDEC_ERROR ("Jump action length invalid (is %u, should be 2", len); return NULL; } - return g_strdup_printf ("Jump %d", GINT16_FROM_LE (*((gint16*) data))); + offset = data[0] | (data[1] << 8); + return g_strdup_printf ("Jump %d", (int) offset); } static char * commit 2d1a6f8bcb285b461508efc1138cbc7de5cf052c Author: Benjamin Otte <otte at gnome.org> Date: Mon Dec 10 21:26:54 2007 +0100 make all decoder functions use uint32_t diff --git a/libswfdec/jpeg/jpeg.h b/libswfdec/jpeg/jpeg.h index eff4c03..6c0ba41 100644 --- a/libswfdec/jpeg/jpeg.h +++ b/libswfdec/jpeg/jpeg.h @@ -155,7 +155,7 @@ int jpeg_decoder_get_component_subsampling(JpegDecoder *dec, int id, int jpeg_decoder_get_component_ptr(JpegDecoder *dec, int id, unsigned char **image, int *rowstride); -unsigned char *jpeg_decoder_get_argb_image (JpegDecoder *dec); +uint32_t *jpeg_decoder_get_argb_image (JpegDecoder *dec); int jpeg_decode_argb (uint8_t *data, int length, uint32_t **image, int *width, int *height); diff --git a/libswfdec/jpeg/jpeg_rgb_decoder.c b/libswfdec/jpeg/jpeg_rgb_decoder.c index 6fc49c8..3c01914 100644 --- a/libswfdec/jpeg/jpeg_rgb_decoder.c +++ b/libswfdec/jpeg/jpeg_rgb_decoder.c @@ -29,10 +29,10 @@ static int16_t jfif_matrix[24] = { }; -unsigned char * get_argb_444 (JpegDecoder *dec); -unsigned char * get_argb_422 (JpegDecoder *dec); -unsigned char * get_argb_422v (JpegDecoder *dec); -unsigned char * get_argb_420 (JpegDecoder *dec); +uint32_t * get_argb_444 (JpegDecoder *dec); +uint32_t * get_argb_422 (JpegDecoder *dec); +uint32_t * get_argb_422v (JpegDecoder *dec); +uint32_t * get_argb_420 (JpegDecoder *dec); #if 0 static void imagescale2h_u8 (unsigned char *dest, int d_rowstride, @@ -66,7 +66,7 @@ int jpeg_decode_argb (uint8_t *data, int length, uint32_t **image, return TRUE; } -unsigned char * +uint32_t * jpeg_decoder_get_argb_image (JpegDecoder *dec) { @@ -126,7 +126,7 @@ upsample (uint8_t *d, uint8_t *s, int n) } -unsigned char * +uint32_t * get_argb_444 (JpegDecoder *dec) { uint32_t *tmp; @@ -151,10 +151,10 @@ get_argb_444 (JpegDecoder *dec) argbp += dec->width; } free(tmp); - return (unsigned char *)argb_image; + return argb_image; } -unsigned char * +uint32_t * get_argb_422 (JpegDecoder *dec) { uint32_t *tmp; @@ -187,10 +187,10 @@ get_argb_422 (JpegDecoder *dec) free(tmp); free(tmp_u); free(tmp_v); - return (unsigned char *)argb_image; + return argb_image; } -unsigned char * +uint32_t * get_argb_422v (JpegDecoder *dec) { uint32_t *tmp; @@ -232,10 +232,10 @@ get_argb_422v (JpegDecoder *dec) free(tmp); free(tmp_u); free(tmp_v); - return (unsigned char *)argb_image; + return argb_image; } -unsigned char * +uint32_t * get_argb_420 (JpegDecoder *dec) { uint32_t *tmp; @@ -284,7 +284,7 @@ get_argb_420 (JpegDecoder *dec) free(tmp_u); free(tmp_v); free(tmp1); - return (unsigned char *)argb_image; + return argb_image; } #if 0
Seemingly Similar Threads
- 12 commits - configure.ac doc/swfdec-sections.txt libswfdec-gtk/swfdec_playback_alsa.c libswfdec/jpeg libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c
- 12 commits - configure.ac doc/Makefile.am libswfdec/swfdec_as_frame.c libswfdec/swfdec_audio.c libswfdec/swfdec_audio_event.c libswfdec/swfdec_audio_event.h libswfdec/swfdec_shape_parser.c libswfdec/swfdec_sound.c test/sound
- libswfdec/jpeg libswfdec/swfdec_image.c
- 6 commits - libswfdec/Makefile.am libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_flv.h libswfdec/swfdec_audio_stream.c libswfdec/swfdec_audio_stream.h libswfdec/swfdec_buffer.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec_audio.c
- 9 commits - libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_audio_stream.c libswfdec/swfdec_audio_stream.h libswfdec/swfdec_cache.c libswfdec/swfdec_cached.c libswfdec/swfdec_cached.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_image.c