2006-01-22 David Schleef * README: * plugin/plugin.c: Update some words. 2006-01-22 David Schleef * plugin/Makefile.am: Don't link against mozilla libs, since we don't actually use them. 2006-01-09 David Schleef * NEWS: update the news * configure.ac: bump version 2006-01-09 David Schleef * configure.ac: remove more player bits * player/.cvsignore: 2006-01-09 David Schleef * INSTALL: updated by autoconf. * configure.ac: we only use pkg-config to detect mozilla now. start using gstreamer-0.10. Remove SDL check. * Makefile.am: remove SDL player subdir * libswfdec/actions_tags.c: add audio_stop_sounds() * libswfdec/proto.h: add protect() * libswfdec/swf.c: disable experimental code by default * libswfdec/swfdec_audio.c: implement audio_stop_sounds() * libswfdec/swfdec_audio.h: same * libswfdec/swfdec_image.c: handle jpegtables better * libswfdec/swfdec_render.c: change ERROR to DEBUG * libswfdec/swfdec_tag.c: implement protect * plugin/gstswfdec.c: hacking to make plugin better * plugin/swfdec-mozilla-player.c: same * test/Makefile.am: disable some tests that don't compile * player/Makefile.am: remove SDL player * player/swf_play.c: remove SDL player 2006-01-09 David Schleef * plugin/Makefile.am: * plugin/gstappsrc.c: * plugin/gstappsrc.h: * plugin/gstswfdec.c: * plugin/gstswfdec.h: * plugin/plugin.c: * plugin/swfdec-mozilla-player.c: Dude, the mojira plugin all works and shit. 2006-01-08 David Schleef * plugin/Makefile.am: * plugin/gstswfdec.c: * plugin/gstswfdec.h: * plugin/swfdec-mozilla-player.c: Checkpoint on plugin/player fixes. 2005-12-16 David Schleef * libswfdec/actions.c: * libswfdec/actions_tags.c: * libswfdec/swf.c: * libswfdec/swfdec_render.c: * libswfdec/swfdec_render.h: * libswfdec/swfdec_render_cairo.c: Add some debuggering code. Fix some bugs: - fix image translation matrix - fix (finally?) how the next frame is decided - assume id==0 is the main sprite - fix random crashes 2005-12-16 David Schleef * libswfdec/Makefile.am: * libswfdec/actions_tags.c: * libswfdec/swf.c: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_decoder_internal.h: * libswfdec/swfdec_internal.h: Add a function to flag running experimental code. 2005-12-16 David Schleef * libswfdec/swfdec_button.c: (swfdec_button_dispose): Fix a leak. 2005-12-05 David Schleef * README: The Limitations section was out of date. 2005-11-30 David Schleef * libswfdec/js/js.c: (ZZ_formatter): * libswfdec/js/jsapi.c: (TryArgumentFormatter): * libswfdec/js/jsapi.h: * libswfdec/js/jspubtd.h: Fix usage of 'va_list *', it's wrong and doesn't work on powerpc. Noticed (and mostly fixed) by David Woodhouse. * player/swf_play.c: Remove unnecessary header. 2005-10-25 David Schleef * libswfdec/swfdec_button.c: Fix silly crasher and memleak. 2005-10-25 David Schleef * libswfdec/swfdec_cache.c: New code to help with caching data. * libswfdec/swfdec_cache.h: * libswfdec/swfdec_internal.h: * libswfdec/Makefile.am: * libswfdec/swf.c: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_image.c: Use cache/handles in image decoding. * libswfdec/swfdec_image.h: * libswfdec/swfdec_render_cairo.c: * libswfdec/swfdec_shape.c: * libswfdec/swfdec_types.h: 2005-10-23 David Schleef * libswfdec/Makefile.am: Move almost all tag parsing code into swfdec_tag.c * libswfdec/actions.c: * libswfdec/actions_builtin.c: * libswfdec/color.c: * libswfdec/swf.c: * libswfdec/swfdec_button.c: * libswfdec/swfdec_display.c: * libswfdec/swfdec_display.h: * libswfdec/swfdec_font.c: * libswfdec/swfdec_internal.h: * libswfdec/swfdec_render.c: * libswfdec/swfdec_shape.c: * libswfdec/swfdec_sprite.c: * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_tag.c: * libswfdec/swfdec_text.c: 2005-10-19 David Schleef * libswfdec/actions_builtin.c: (mc_attachMovie): Change sprite data structure so that each frame has a struct that contains information about the frame, including layers and sprite segments to display. * libswfdec/render.c: (tag_place_object_2), (tag_remove_object), (tag_remove_object_2), (tag_show_frame): * libswfdec/swf.c: (swf_parse_header2): * libswfdec/swfdec_render.c: (swfdec_render_get_image), (swfdec_render_get_audio): * libswfdec/swfdec_sound.c: (tag_func_start_sound): * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose), (swfdec_sprite_add_sound_chunk), (swfdec_sprite_add_action), (swfdec_sprite_render_iterate), (swfdec_sprite_render), (tag_func_define_sprite), (swfdec_sprite_get_seg), (swfdec_sprite_frame_add_seg), (swfdec_sprite_frame_remove_seg), (swfdec_spriteseg_place_object_2), (swfdec_spriteseg_remove_object), (swfdec_spriteseg_remove_object_2): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_types.h: * test/Makefile.am: add parse * test/dump.c: (dump_sprite): Disable code instead of fixing it. * test/parse.c: (buffer_free), (main): only parse input, don't render. 2005-10-19 Eric Anholt * libswfdec/actions_tags.c: (action_extends): Throw together a slightly less stubbed ActionExtends. May still have issues with the constructor getting hooked up. 2005-10-17 David Schleef * plugin/plugin.c: Update message. 2005-10-16 Eric Anholt * libswfdec/Makefile.am: * libswfdec/actions_builtin.c: * libswfdec/actions_tags.c: * libswfdec/swf.c: * libswfdec/swfdec_audio.c: * libswfdec/swfdec_bits.c: * libswfdec/swfdec_debug.h: * libswfdec/swfdec_object.c: * libswfdec/swfdec_shape.c: * libswfdec/swfdec_sound.c: Minor cleanups exposed by sparse: mark several things static, add a prototype for another, and add descriptions for some MB actions. Fix a broken include path that sparse choked on. 2005-10-16 Eric Anholt * libswfdec/actions_tags.c: (action_push): Fix a memory leak in string pushes. 2005-10-10 David Schleef * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock): * libswfdec/jpeg/jpeg.c: (generate_code_table): * libswfdec/jpeg/jpeg_debug.h: Turn off JPEG debugging. 2005-08-29 Eric Anholt * libswfdec/actions_builtin.c: (movieclip_new): Fix another GC breakage in movieclip rooting. Roots are added as pointers to gc-things (where a gc-thing is a pointer to a JS_object, jdouble, etc.). However, the pointer-to-gcthing must remain valid until JS_RemoveRoot, while we were passing a pointer to a stack variable. Many thanks to Brendan Eich (spidermonkey developer) for giving me the pointer on how to fix it. 2005-08-29 Eric Anholt * libswfdec/actions.c: (swfdec_init_context): * libswfdec/actions_builtin.c: (action_register_sprite_seg): * libswfdec/swfdec_actions.h: Expand the scope of GC debugging, exposing a new issue quickly. 2005-08-29 Eric Anholt * libswfdec/actions_builtin.c: (swfdec_init_context_builtins): Don't forget to initialize the jsval when setting _root. Fixes a GC crash, at a minimum. 2005-08-27 Eric Anholt * libswfdec/actions.c: (swfdec_init_context), (action_script_call), (swfdec_action_script_execute), (stack_push): * libswfdec/actions_builtin.c: (movieclip_new): * libswfdec/actions_tags.c: (stack_pop_to_string), (stack_pop_to_object), (stack_pop_to_number), (stack_pop_to_int32), (stack_pop_to_bool), (action_alloc_stack_argv), (action_free_stack_argv), (action_push), (action_binary_op), (action_string_equals), (action_string_length), (action_string_add), (action_string_extract), (action_string_less), (action_mb_string_length), (action_mb_string_extract), (action_to_integer), (action_char_to_ascii), (action_ascii_to_char), (action_mb_char_to_ascii), (action_mb_ascii_to_char), (action_if), (action_get_variable), (action_set_variable), (action_define_local), (action_get_property), (action_set_property), (action_clone_sprite), (action_start_drag), (action_trace), (action_random_number), (action_call_function), (action_call_method), (action_define_function), (action_get_member), (action_init_object), (action_new_method), (action_new_object), (action_set_member), (action_to_number), (action_to_string), (action_add_2), (action_less_2), (action_unary_op), (action_string_greater), (action_extends): Improve GC-safety of actionscript code by being more careful with storage of short-lived values and results of conversions. Also corrects some misuse of the result of JS_ValueToNumber, improves error checking, and fixes JS_AddRoot arguments. Finally, a define is added to allow for forcing frequent GCing, which exposes that we've got issues (still). 2005-08-17 David Schleef * libswfdec/swfdec_bits.c: (swfdec_bits_syncbits): disable the endpoint checking, because it's not important here. * libswfdec/swfdec_render.c: (swfdec_render_iterate): change errors into debugging * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render): handle button mapping in cairo backend, the same crappy way we do with libart. 2005-08-11 David Schleef * libswfdec/actions_tags.c: (action_goto_frame), (action_next_frame), (action_previous_frame): Trying to make all the frame navigation code work together. * libswfdec/art.c: (art_rgb_fill_run), (art_rgb_run_alpha_2), (compose_const_rgb888_u8), (compose_rgb888_u8): * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock): bug fix in debugging output. * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment), (jpeg_decoder_addbits): Make debugging quieter. * libswfdec/swfdec_bits.c: (swfdec_bits_valid), (swfdec_bits_getbit), (swfdec_bits_getbits), (swfdec_bits_getsbits), (swfdec_bits_peek_u8), (swfdec_bits_get_u8), (swfdec_bits_get_u16), (swfdec_bits_get_s16), (swfdec_bits_get_be_u16), (swfdec_bits_get_u32), (swfdec_bits_syncbits): Check validity of pointers. * libswfdec/swfdec_button.c: (swfdec_button_execute): execute code at the end of a frame. * libswfdec/swfdec_decoder.h: same * libswfdec/swfdec_render.c: (swfdec_render_iterate): same * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate): same * libswfdec/swfdec_sprite.h: same * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render): set pattern extension correctly. * libswfdec/swfdec_shape.c: (swf_shape_add_styles), (swf_morphshape_add_styles): remove mysterious factor, because it's not necessary with cairo. * libswfdec/swfdec_text.c: (define_text): more checking. 2005-06-28 David Schleef * configure.ac: Make cairo backend default, because I like it. * libswfdec/swfdec_audio.c: (swfdec_audio_render): remove debugging * libswfdec/swfdec_render_cairo.c: (swfdec_matrix_to_cairo), (swfdec_shape_render): Add gradients and images. * plugin/swfdec-mozilla-player.c: (create_pipeline): use gconfaudiosink element instead of gconf stuff. 2005-06-16 Eric Anholt * libswfdec/swf.c: * libswfdec/tags.h: Document a couple more tag names. Couldn't find what MX4 is. 2005-06-16 Eric Anholt * libswfdec/swfdec_shape.c: (swf_shape_add_styles), (swfdec_shape_compose): Add support for fill style type 0x42 and 0x43, the unsmoothed versions of the previous two fill styles. Actually, the previous two are unsmoothed in our current implementation. Also, attempt to support repeating fill styles, though I don't have a good test for them. 2005-05-27 David Schleef * MAINTAINERS: add contact info * README: 2005-05-21 David Schleef * libswfdec/swfdec_audio.c: (swfdec_audio_render): Fix copy-past-end-of-buffer bug that was causing noise. 2005-05-21 David Schleef * libswfdec/Makefile.am: * libswfdec/swf.c: * libswfdec/swfdec_audio.c: * libswfdec/swfdec_audio.h: * libswfdec/swfdec_buffer.c: * libswfdec/swfdec_buffer.h: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_internal.h: * libswfdec/swfdec_render.c: * libswfdec/swfdec_sound.c: Mostly implement an audio mixing subsystem. 2005-05-12 David Schleef * plugin/swfdec-mozilla-player.c: (create_pipeline): Add a colorspace to the pipeline, since a negotiation failure will occur unless the XImage format is exactly the same as swfdec's colorspace. 2005-05-08 David Schleef Fixes for -wsigned-compare, default in gcc-4.0: * configure.ac: reenable -Werror * libswfdec/actions.c: (stack_pop), (stack_show), (stack_show_value): * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment): * libswfdec/js/Makefile.am: * libswfdec/js/jsdtoa.c: (ulp), (b2d), (JS_strtod): * libswfdec/js/jsinterp.c: (js_Interpret): * libswfdec/js/jsstr.c: (str_split): * libswfdec/swfdec_actions.h: * libswfdec/swfdec_bits.c: (swfdec_bits_get_string): * libswfdec/swfdec_decoder.h: 2005-05-08 David Schleef * configure.ac: oops, checked in a mistake. * libswfdec/actions_tags.c: (action_define_function_2): fix warning * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start), (swfdec_render_be_clear), (swfdec_shape_render), (swfdec_text_render): Update to new cairo API. * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock): remove random printf * plugin/Makefile.am: Disable plugin building if gstreamer isn't around. Fixes for -wsigned-compare, default in gcc-4.0: * libswfdec/swfdec_decoder.h: fix endianness * pixbuf-loader/io-swf.c: (fill_info): * player/swf_play.c: (main): * plugin/gstappsrc.c: (gst_appsrc_loop): * plugin/swfdec-mozilla-player.c: (found_tags): * test/dump.c: (main): 2005-05-06 Eric Anholt * libswfdec/actions.c: (action_script_call), (swfdec_action_script_execute), (name_object): * libswfdec/actions_builtin.c: (swfdec_init_context_builtins), (action_register_sprite_seg): * libswfdec/actions_tags.c: (action_call_function), (action_call_method): * libswfdec/swfdec_actions.h: - Add new named movieclips as members of their parent movieclip. - Store the root object in the actionscript context, and use that instead of looking it up all the time. - Make name_object public (perhaps needs a better name) and make it recognize _root as well. Use it in registering movieclips as well as stack_show(). 2005-05-05 Eric Anholt * libswfdec/actions_tags.c: (action_mb_char_to_ascii), (action_mb_ascii_to_char), (action_get_time), (action_enumerate_2), (action_extends): - Re-add code for MB conversion actions, though it is untested. These were removed with the conversion to js code. - Add warnings in some unimplemented actions, along with the FIXMEs. 2005-05-05 Eric Anholt * libswfdec/actions.c: (action_script_call), (stack_show), (jsval_as_object): * libswfdec/actions_tags.c: (action_define_local), (action_new_object), (action_set_member): - Fix setting of register arguments for Function2s. It was still trying to stack_pop them from before when arguments were made to be passed through argv[]. - Don't pop the set of arguments for an ActionNew twice. - Fix printing of integers in stack_show(). - Increase verbosity of debugging info in ActionDefineLocal and ActionSetProperty. 2005-05-05 Eric Anholt * libswfdec/actions.c: (jsval_as_object): * libswfdec/actions_builtin.c: (mc_getBytesLoaded), (mc_getBytesTotal): * libswfdec/actions_tags.c: (action_call_function), (action_call_method), (action_get_member), (action_new_object), (action_set_member), (action_extends): * libswfdec/swfdec_actions.h: - Add a new jsval_as_object function. This checks if the value is an object and returns it before trying to use JS_ValueToObject. JS_ValueToObject had some strange side effects when being called on objects, and we might not even need to use JS_ValueToObject in handling AS bytecode. Workarounds were happening in the code for specific problems as a result of this already. Leave an INFO message in to see if we ever hit the JS_ValueToObject case. - Add stubs for getBytesLoaded and getBytesTotal, which are called frequently. Returning 0 (undef) for getBytesTotal is likely to lead to divides by zero. - Make CallFunction check for methods in the root object along with global. It's not clear what the scope for functions is from the docs, so we'll have to settle with an accumulated list for now. 2005-05-05 David Schleef * libswfdec/actions_tags.c: (action_call_method): workaround for TAG_C corruption. 2005-04-22 David Schleef * libswfdec/actions.c: (action_script_call), (swfdec_action_script_execute): debug skipped action tags * libswfdec/actions_builtin.c: (mc_attachMovie): properly terminate movieclip_props. * libswfdec/actions_tags.c: (action_goto_frame), (action_call_method): hack fix for goto_frame. Check for bogus argc parameters in call_method. * libswfdec/swf.c: (swfdec_decoder_get_version): Add function. * libswfdec/swfdec.h: same. * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate): Disable code that causes rendering problems. * plugin/gstswfdec.c: (gst_swfdec_loop): create gst tag for codec version. * plugin/swfdec-mozilla-player.c: (main), (create_pipeline), (new_gtk_window), (do_error_message), (timeout), (menu_report_bug), (menu_copy_url), (button_press_event), (expose), (found_tags): Random hacking: clean up error handling, print errors as a label, add "Copy URL" to menu, check codec version (from tag) and complain if it's too high. 2005-04-10 Eric Anholt * libswfdec/actions_builtin.c: (mc_play), (mc_stop): * libswfdec/actions_tags.c: (action_get_variable), (action_get_member), (action_new_object), (action_define_function_2): Hook up named function2s (like original functions), and improve some debugging output while I'm here. 2005-04-10 Eric Anholt * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate): Logging of frame numbers during render_iterate isn't WARNING material. 2005-04-10 Eric Anholt * libswfdec/actions_builtin.c: (mc_attachMovie), (mc_x_get), (mc_x_set), (mc_y_get), (mc_y_set), (movieclip_find): * libswfdec/swf.c: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_sprite.c: (swfdec_exports_lookup), (tag_func_export_assets): * libswfdec/swfdec_sprite.h: - Support ExportAssets, which is used in attachMovie to refer to sprites by name. - Fill in MovieClip.attachMovie and add getters/setters for MovieClip._x and _y. 2005-04-08 Eric Anholt * libswfdec/js/INTEGRATION: * libswfdec/js/jsprf.c: Use G_VA_COPY instead of looking for a define from elsewhere, partially fixing 64-bit builds. 2005-04-08 Eric Anholt * libswfdec/actions.c: (action_script_call), (swfdec_action_script_execute): * libswfdec/actions_builtin.c: (mc_play), (mc_stop), (mc_attachMovie), (movieclip_new), (movieclip_find), (swfdec_init_context_builtins), (action_register_sprite_seg): * libswfdec/actions_tags.c: (action_goto_frame), (action_next_frame), (action_previous_frame), (action_play), (action_stop), (action_call_function), (action_call_method): * libswfdec/js/jslibmath.h: * libswfdec/render.c: (tag_place_object_2): * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse), (swfdec_decoder_free), (swf_parse_header2): * libswfdec/swfdec_actions.h: * libswfdec/swfdec_bits.c: (swfdec_bits_get_string): * libswfdec/swfdec_debug.c: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_font.c: (tag_func_define_font_2): * libswfdec/swfdec_render.c: (swfdec_render_iterate): * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate), (swfdec_sprite_render), (swfdec_spriteseg_dup), (swfdec_spriteseg_free), (swfdec_spriteseg_place_object_2): * libswfdec/swfdec_sprite.h: - Make a sprite segment to handle the root Timeline, simplifying the swfdec_sprite_render_iterate loop and actionscript code. "stopped" is now set in segments, rather than global render state, and some frame index control has moved there as well. Fix the render_iterate loop for recursion. - Attach a MovieClip instance to all segments, not just ones with PlaceObject2 performed on them with a name. - Handle the "root" variable in actionscripts, mostly. There's a lockroot property of movieclips which affects it, and we don't handle that. - Make the "this" value of global functions and action_script_execute calls be "root" rather than "_global". This is not quite correct, as clipevents (for example) use the movie clip they're associated with, not the root timeline. - Flesh out the MovieClip class a little, providing a play and stop function and a stub attachMovie which is the next to be filled in, most likely. - Eliminate some dead code. 2005-04-08 Eric Anholt * .cvsignore: * glib-compat/glib/.cvsignore: * libswfdec/js/.cvsignore: * plugin/.cvsignore: Add some more .cvsignore bits. 2005-04-07 Eric Anholt * libswfdec/actions.c: (pc_is_valid): Allow jumps to endpc to handle functions which jump outside themselves in order to return. action_script_call correctly returns when this happens. 2005-04-07 Eric Anholt * plugin/Makefile.am: Don't attempt to build the plugin or the associated player if WITH_MOZILLA is unset. 2005-04-07 David Schleef * configure.ac: Switch to using GLOBAL_CFLAGS for -Wall and -Werror, so they get propograted everywhere. * gimp-loader/Makefile.am: * glib-compat/glib/Makefile.am: * libswfdec/Makefile.am: * libswfdec/jpeg/Makefile.am: * libswfdec/js/Makefile.am: * libswfdec/mpeg/Makefile.am: * pixbuf-loader/Makefile.am: * player/Makefile.am: * plugin/Makefile.am: * test/Makefile.am: 2005-04-07 David Schleef * libswfdec/swf.c: (tag_func_ignore): Fix segfault. 2005-04-07 Eric Anholt * libswfdec/actions_tags.c: (action_new_object): Check if the class name of the object looked up during ActionNewObject matches the object's name. If not, then it's probably js_ObjectClass (or is that js_FunctionClass?) and we're dealing with a class that was defined by the script and not a standard one. Since these classes don't get their constructors found by JS_* functions, make a new object and call the constructor ourselves. Also, use the "parent" field properly, I hope. 2005-04-05 David Schleef * configure.ac: disable creating _stdint.h * libswfdec/Makefile.am: set CFLAGS correctly for js * libswfdec/art.c: use glib types * libswfdec/js/Makefile.am: create jsautocfg.h at compile time * libswfdec/js/jsautocfg.h: remove * libswfdec/js/jslibmath.h: disable math code that isn't slurped * libswfdec/swfdec_internal.h: don't include _stdint.h * libswfdec/swfdec_render.c: use glib types 2005-04-04 Eric Anholt * .cvsignore: * configure.ac: * libswfdec/Makefile.am: * libswfdec/actions.c: * libswfdec/actions_builtin.c: * libswfdec/actions_tags.c: * libswfdec/js/.cvsignore: * libswfdec/js/INTEGRATION: * libswfdec/js/Makefile.am: * libswfdec/js/js.c: * libswfdec/js/js.msg: * libswfdec/js/jsapi.c: * libswfdec/js/jsapi.h: * libswfdec/js/jsarena.c: * libswfdec/js/jsarena.h: * libswfdec/js/jsarray.c: * libswfdec/js/jsarray.h: * libswfdec/js/jsatom.c: * libswfdec/js/jsatom.h: * libswfdec/js/jsautocfg.h: * libswfdec/js/jsbit.h: * libswfdec/js/jsbool.c: * libswfdec/js/jsbool.h: * libswfdec/js/jsclist.h: * libswfdec/js/jscntxt.c: * libswfdec/js/jscntxt.h: * libswfdec/js/jscompat.h: * libswfdec/js/jsconfig.h: * libswfdec/js/jscpucfg.c: * libswfdec/js/jscpucfg.h: * libswfdec/js/jsdate.c: * libswfdec/js/jsdate.h: * libswfdec/js/jsdbgapi.c: * libswfdec/js/jsdbgapi.h: * libswfdec/js/jsdhash.c: * libswfdec/js/jsdhash.h: * libswfdec/js/jsdtoa.c: * libswfdec/js/jsdtoa.h: * libswfdec/js/jsemit.c: * libswfdec/js/jsemit.h: * libswfdec/js/jsexn.c: * libswfdec/js/jsexn.h: * libswfdec/js/jsfile.c: * libswfdec/js/jsfile.h: * libswfdec/js/jsfun.c: * libswfdec/js/jsfun.h: * libswfdec/js/jsgc.c: * libswfdec/js/jsgc.h: * libswfdec/js/jshash.c: * libswfdec/js/jshash.h: * libswfdec/js/jsinterp.c: * libswfdec/js/jsinterp.h: * libswfdec/js/jslibmath.h: * libswfdec/js/jslock.c: * libswfdec/js/jslock.h: * libswfdec/js/jslog2.c: * libswfdec/js/jslong.c: * libswfdec/js/jslong.h: * libswfdec/js/jsmath.c: * libswfdec/js/jsmath.h: * libswfdec/js/jsnum.c: * libswfdec/js/jsnum.h: * libswfdec/js/jsobj.c: * libswfdec/js/jsobj.h: * libswfdec/js/jsopcode.c: * libswfdec/js/jsopcode.h: * libswfdec/js/jsopcode.tbl: * libswfdec/js/jsosdep.h: * libswfdec/js/jsotypes.h: * libswfdec/js/jsparse.c: * libswfdec/js/jsparse.h: * libswfdec/js/jsprf.c: * libswfdec/js/jsprf.h: * libswfdec/js/jsprvtd.h: * libswfdec/js/jspubtd.h: * libswfdec/js/jsregexp.c: * libswfdec/js/jsregexp.h: * libswfdec/js/jsscan.c: * libswfdec/js/jsscan.h: * libswfdec/js/jsscope.c: * libswfdec/js/jsscope.h: * libswfdec/js/jsscript.c: * libswfdec/js/jsscript.h: * libswfdec/js/jsshell.msg: * libswfdec/js/jsstddef.h: * libswfdec/js/jsstr.c: * libswfdec/js/jsstr.h: * libswfdec/js/jstypes.h: * libswfdec/js/jsutil.c: * libswfdec/js/jsutil.h: * libswfdec/js/jsxdrapi.c: * libswfdec/js/jsxdrapi.h: * libswfdec/js/prmjtime.c: * libswfdec/js/prmjtime.h: * libswfdec/render.c: * libswfdec/swf.c: * libswfdec/swfdec_actions.h: * libswfdec/swfdec_bits.c: * libswfdec/swfdec_debug.c: * libswfdec/swfdec_font.c: * libswfdec/swfdec_render.c: (swfdec_render_get_image): * libswfdec/swfdec_render.h: * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate), (swfdec_sprite_render), (swfdec_spriteseg_free), (swfdec_get_clipeventflags), (swfdec_spriteseg_place_object_2): * libswfdec/swfdec_sprite.h: * libswfdec/tags.h: Add initial support for ActionScript 2, used in Flash 5+ scripts: - Bring in Mozilla's Spidermonkey JS code, and connect it to the build. Include an INTEGRATION file noting the changes made to the code from the upstream. - Replace ActionVals with jsvals, the multiple-type value used in spidermonkey. - Set up a JS context when initializing the AS context, including array objects for stack and registers. We must be careful to store all jsvals used in our structs in some sort of rooted object, or they will be automatically garbage collected. The spidermonkey code comes with the standard Math, String, Number, etc. classes from ECMA-262. - Add support for function and method calls by moving the actionscript opcode parsing into a new action_script_call JS native function and wrapping it in JS function objects to call, including when doing the intial action_script_execute. - Add implementations of the following actions: CallFunction, CallMethod, DefineFunction, GetMember, InitObject, NewObject, SetMember, ToNumber, ToString, Modulo, BitAnd, BitLShift, BitOr, BitRShift, BitURShift, BitXor, Decrement, Increment, PushDuplicate, Swap, StoreRegister, StringGreater - Add incomplete implementations of the following actions: DefineLocal, DefineLocal2, Equals2, Typeof, Add2, Less2, Greater - Add stubs of the following actions: Delete2, NewMethod, Enumerate2, Extends - Stub out ActionMBAsciiToChar and ActionMBCharToAscii (oops). - Support the DoInitAction control tag, which executes actionscript on a given sprite once, rather than on a specific frame. - Note the names of the new MX* control tags described in the Flash 7 spec. - Add initial support for ClipEvents in PlaceObject2 control tag. - Add a callback from PlaceObject2 to actions.c so that new MovieClip objects can be created corresponding to the object. - Split the actions.c file into three -- actions_builtin.c for the native classes and functions, actions_tags.c for the Action* implementations, and actions.c contains the remainder of execution, object, type, stack, etc. support. - Remove the RenderState object and replace it with a frame_index number in the SpriteSegment. To deal with MovieClips, we will need to move more play control into the SpriteSegment (instance of a Sprite). This is a significant step towards playing Flash 5+ files correctly, but there is significant work to do. ActionNewObject appears to not call the constructor necessary if it's one we set up (as in, any class created by the script), which kills some scripts, and is a major regression from the non-spidermonkey patch. However, if this can be resolved, the spidermonkey route is clearly the way to go. MovieClip class support is also critical and used regularly by scripts. 2005-03-25 David Schleef * libswfdec/actions.c: (action_push): Check that the register isn't NULL before copying. 2005-03-24 David Schleef * libswfdec/swfdec_font.c: (tag_func_define_font_2): downgrade a SWFDEC_ERROR() * plugin/gstappsrc.c: (gst_appsrc_loop): quiet a GST_ERROR * plugin/gstswfdec.c: (art_warn): quiet a GST_ERROR * plugin/plugin.c: (plugin_newp), (plugin_destroy): Apparently Mozilla sends NULLs instead of strings occasionally. Account for this. Turn off debugging (again). 2005-03-24 David Schleef * Makefile.am: Re-add m4 directory * configure.ac: Use a real macro to generate stdint.h * libswfdec/actions.c: (pc_is_valid), (action_jump), (action_if), (action_constant_pool): Check PC values when jumping. Fix memleak when freeing constant pools. (From Eric Anholt) * libswfdec/proto.h: cleanup * libswfdec/swf.c: (tag_func_end), (tag_func_ignore): cleanup. Make Protect tag quieter. * libswfdec/swfdec_internal.h: include local stdint.h * libswfdec/swfdec_shape.c: (swf_shape_get_recs), (swf_shape_ignore_recs), (swf_morphshape_get_recs): fix gratuitous use of int16_t. * m4/ax_create_stdint_h.m4: add 2005-03-24 David Schleef Changes from Eric Anholt * configure.ac: Create a stdint.h if it doesn't exist. * libswfdec/actions.c: Fix go_to_label * libswfdec/swfdec_button.c: (tag_func_define_button_2): Use the correct segment length -- fixes warning. 2005-03-24 David Schleef * configure.ac: version bump 2005-03-24 David Schleef * plugin/gstappsrc.c: (gst_appsrc_class_init), (gst_appsrc_init), (gst_appsrc_get_property), (gst_appsrc_loop): Add source_url property, for relaying metadata from Mozilla * plugin/gstappsrc.h: add to object * plugin/plugin.c: (plugin_thread), (plugin_newp), (plugin_set_window): push metadata info from Mozilla to helper app * plugin/spp.h: Add new GO_TO_URL2 and METADATA methods. GO_TO_URL2 sends both the target and URL. METADATA sends metadata from Mozilla to the app. * plugin/swfdec-mozilla-player.c: (menu_open), (menu_report_bug), (button_press_event), (embed_url), (packet_go_to_url): Use new methods. 2005-03-24 David Schleef * configure.ac: version bump * libswfdec/actions.c: (action_set_variable): set variable to the value, not the variable name. (fix from Eric Anholt) === release 0.3.4 === 2005-03-19 David Schleef * configure.ac: version nano bump * plugin/Makefile.am: * plugin/gstswfdec.c: Pull from gst-plugins, since the only version that works with swfdec-mozilla-player is unreleased. * plugin/gstswfdec.h: * plugin/swfdec-mozilla-player.c: (main): use local swfdec element 2005-03-19 David Schleef * configure.ac: use $MOZILLA_CONFIG, not mozilla-config === release 0.3.3 === 2005-03-17 David Schleef * configure.ac: version bump 2005-03-17 David Schleef * libswfdec/actions.c: (swfdec_action_script_execute), (action_get_url): quiet debugging * libswfdec/art.c: (art_rgb_svp_alpha_callback): dynamically allocate temp scanline * libswfdec/swf.c: (swfdec_decoder_set_image_size): resize fixes * libswfdec/swfdec_render.c: (swfdec_render_get_audio): quiet debugging * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start): dynamically allocate temp scanline * plugin/gstappsrc.c: (gst_appsrc_loop): remove dead code * plugin/plugin.c: (plugin_thread), (plugin_newp), (plugin_destroy), (plugin_set_window): add instance to debugging * plugin/swfdec-mozilla-player.c: (main), (new_gtk_window), (timeout), (check_playing), (window_state_event), (visibility_notify_event), (unmap), (desired_size): convert to threaded pipeline, add window management stuff 2005-02-11 David Schleef * Makefile.am: don't dist removed m4 files * configure.ac: remove m4 from ACLOCAL_FLAGS. Disable gimp plugin whenever prefix is different from gimp's prefix. Check for gstreamer. * gimp-loader/Makefile.am: disable correctly 2005-02-11 David Schleef Major plugin changes: start using a gstreamer-based player, copying the appsrc element from gst-mozilla-player. Merge bugfixes from Debian packaging, including limiting the number of players and unblocking signals (esp. SIGHUP) so that the helper player gets killed correctly. * plugin/Makefile.am: * plugin/gstappsrc.c: (gst_appsrc_get_event_mask), (gst_appsrc_get_formats), (_do_init), (gst_appsrc_base_init), (gst_appsrc_class_init), (gst_appsrc_init), (gst_appsrc_event_handler), (gst_appsrc_set_property), (gst_appsrc_get_property), (gst_appsrc_loop), (gst_appsrc_change_state), (gst_appsrc_uri_get_type), (gst_appsrc_uri_get_protocols), (gst_appsrc_uri_get_uri), (gst_appsrc_uri_set_uri), (gst_appsrc_uri_handler_init), (plugin_init): * plugin/gstappsrc.h: * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_newp), (plugin_destroy), (plugin_set_window): * plugin/swfdec-mozilla-player.c: (main), (do_help), (print_formats), (new_gtk_window), (button_press_event), (button_release_event), (key_press), (motion_notify), (configure_cb), (expose_cb), (destroy_cb), (embedded), (video_widget_realize), (video_widget_allocate), (desired_size), (embed_url), (packet_write): 2005-01-28 David Schleef * configure.ac: fix liboil dependency * libswfdec/actions.c: (swfdec_action_script_execute), (action_goto_frame), (action_get_url), (action_stop), (action_stop_sounds), (action_push), (action_get_property), (action_constant_pool): implement constant pools, add warnings * libswfdec/art.c: (paint), (art_rgb_svp_alpha_callback), (swfdec_art_bpath_from_points): cleanups, use liboil * libswfdec/render.c: cleanup * libswfdec/swf.c: (swfdec_decoder_get_url): add get_url() * libswfdec/swfdec.h: same * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_free): fix leak * libswfdec/swfdec_button.c: (swfdec_button_init), (swfdec_button_dispose), (swfdec_button_render), (tag_func_define_button_2), (tag_func_define_button), (swfdec_button_execute): implement button actions * libswfdec/swfdec_button.h: same * libswfdec/swfdec_decoder.h: add url and button handling * libswfdec/swfdec_font.c: (tag_func_define_font_2): check for broken kerning entries * libswfdec/swfdec_render.c: (swfdec_render_iterate), (swfdec_render_get_image), (swfdec_render_get_audio): implement button actions. * libswfdec/swfdec_render.h: same * libswfdec/swfdec_render_libart.c: (swfdec_shape_render), (swfdec_text_render), (swfdec_render_in_button_area): implement button actions. * libswfdec/swfdec_render_libart.h: add prototypes * libswfdec/swfdec_shape.h: implement define_button * player/swf_play.c: (main), (do_safe), (packet_write): implement buttons and url handling. * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_set_window): implement url handling * plugin/spp.h: same 2005-01-12 David Schleef * plugin/plugin.c: (NP_GetValue): Downgrade to flash 4.0, in an attempt to get more web pages to work. 2005-01-12 David Schleef * Makefile.am: autoregenify * autogen.sh: same * configure.ac: same * m4/as-ac-expand.m4: remove * m4/as-libtool.m4: remove * m4/as-version.m4: remove 2005-01-10 David Schleef * gimp-loader/Makefile.am: depends on HAVE_GIMP * libswfdec/swfdec_sound.c: fixes from last checkin * libswfdec/swfdec_sound.h: same 2004-12-26 David Schleef * configure.ac: bump to liboil-0.3 * libswfdec/actions.c: major rewrite * libswfdec/art.c: (art_bpath_cat), (art_vpath_cat): oilify * libswfdec/jpeg/jpeg.c: merge code from liboil * libswfdec/jpeg/jpeg_debug.h: debug jpeg code at swfdec level * libswfdec/swf.c: (swfdec_decoder_set_mouse), (swfdec_decoder_set_image_size), (swf_parse_header2): add mouse handling, add SoundStreamHead2 * libswfdec/swfdec.h: add mouse handling * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_pull), (swfdec_buffer_queue_peek): oilify * libswfdec/swfdec_button.c: (tag_func_define_button_2): remove get_actions() call * libswfdec/swfdec_decoder.h: add some fields * libswfdec/swfdec_render.c: (swfdec_render_resize), (compare_lists), (swfdec_render_get_image), (swfdec_render_get_audio): implement caching of partially-rendered images * libswfdec/swfdec_render.h: add protos * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start), (swfdec_render_be_clear), (draw_line), (draw), (draw_rev), (draw_x), (swfdec_shape_render), (swfdec_text_render): cleanup * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start), (swfdec_render_be_clear): add backend clearing * libswfdec/swfdec_sound.c: (swfdec_sound_dispose), (tag_func_define_sound), (tag_func_sound_stream_head), (get_soundinfo), (tag_func_start_sound), (swfdec_sound_mp3_decode), (swfdec_sound_mp3_decode_stream), (convert_synth_to_buffer): implement decoding/playing of sound objects * libswfdec/swfdec_sound.h: add protos * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose), (tag_func_define_sprite): primitive sound rendering * libswfdec/swfdec_sprite.h: add field * libswfdec/swfdec_types.h: add SwfdecActionContext * player/swf_play.c: (main), (do_safe), (sound_setup), (render_idle_audio): handle mouse events. * swfdec.pc.in: add liboil to requires: 2004-12-10 David Schleef * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render), (swfdec_text_render): Fix line rendering and add text rendering. 2004-12-09 David Schleef * libswfdec/swfdec_render_cairo.c: (draw_line), (draw), (draw_rev), (draw_x), (swfdec_shape_render): fixes to make the cairo backend work somewhat correctly. 2004-12-08 David Schleef * libswfdec/swfdec_render_cairo.c: (draw_x): oops, fix typo. 2004-12-08 David Schleef * configure.ac: Add switch for using the cairo backend, and fix cairo detection * libswfdec/Makefile.am: add cairo backend * libswfdec/swf.c: same * libswfdec/swfdec_decoder.h: same * libswfdec/swfdec_layer.c: same * libswfdec/swfdec_render.c: (swfdec_render_get_image): move some rendering stuff to backends * libswfdec/swfdec_render.h: move backend functions to here, since they're common to both * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start), (swfdec_render_be_stop), (swfdec_layervec_render), (draw), (draw_rev), (draw_x), (swfdec_shape_render), (swfdec_text_render), (swf_config_colorspace), (swfdec_render_layervec_free): add cairo backend * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start), (swfdec_render_be_stop): move some rendering stuff to backend * libswfdec/swfdec_shape.c: add cairo backend * libswfdec/swfdec_text.c: same * libswfdec/swfdec_transform.h: same * player/swf_play.c: (render_idle_audio): disable debugging and add noskip * test/render-fast.c: remove libart header * test/render.c: same 2004-11-24 David Schleef * configure.ac: * gimp-loader/Makefile.am: Install gimp plugin into the directory suggested by pkg-config. 2004-11-16 David Schleef * libswfdec/Makefile.am: put headers in /usr/include/swfdec-0.3 * swfdec.pc.in: same 2004-11-15 David Schleef * libswfdec/swfdec_render.c: (swfdec_render_get_image): Fix crasher when increasing size of window. * player/swf_play.c: (main), (do_safe), (new_window), (render_idle_audio): Implement --safe. Attempt to make SDL handle events when plugged. * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_newp), (plugin_destroy), (plugin_set_window), (plugin_write_ready), (plugin_write), (plugin_event), (plugin_set_value), (NP_Initialize), (DEBUG): Merge plugin code from gstreamer. 2004-11-14 David Schleef * player/swf_play.c: (main): g_file_get_contents() takes gsize, not int. * test/dump.c: (main): * test/render.c: (main): 2004-11-06 David Schleef Global reindent. * libswfdec/actions.c: (get_actions), (tag_func_do_action), (swfdec_action_script_execute): * libswfdec/art.c: (art_vpath_reverse), (art_rgb_svp_alpha2), (art_rgb565_fillrect), (art_rgb_fillrect), (art_rgb565_svp_alpha_callback), (art_rgb_svp_alpha_compose_callback), (art_rgb_svp_alpha_callback), (art_grey_svp_alpha_callback), (swfdec_art_bpath_from_points), (art_bpath_affine_transform_inplace): * libswfdec/art.h: * libswfdec/color.c: (swfdec_color_apply_transform): * libswfdec/color.h: * libswfdec/render.c: (tag_place_object_2), (swfdec_spriteseg_render), (swfdec_layer_render): * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new), (swfdec_decoder_add_data), (swfdec_decoder_add_buffer), (swfdec_decoder_eof), (swfdec_decoder_parse), (swfdec_decoder_free), (swfdec_decoder_set_image_size), (swf_inflate_init), (swf_parse_header2), (tag_func_dumpbits), (tag_func_frame_label): * libswfdec/swfdec.h: * libswfdec/swfdec_actions.h: * libswfdec/swfdec_bits.c: (swfdec_bits_get_color_transform), (swfdec_bits_get_transform): * libswfdec/swfdec_bits.h: * libswfdec/swfdec_buffer.c: (swfdec_buffer_new), (swfdec_buffer_new_and_alloc), (swfdec_buffer_new_with_data), (swfdec_buffer_new_subbuffer), (swfdec_buffer_ref), (swfdec_buffer_unref), (swfdec_buffer_free_mem), (swfdec_buffer_free_subbuffer), (swfdec_buffer_queue_new), (swfdec_buffer_queue_get_depth), (swfdec_buffer_queue_get_offset), (swfdec_buffer_queue_free), (swfdec_buffer_queue_push), (swfdec_buffer_queue_pull), (swfdec_buffer_queue_peek): * libswfdec/swfdec_buffer.h: * libswfdec/swfdec_button.c: (swfdec_button_base_init), (swfdec_button_class_init), (swfdec_button_init), (swfdec_button_dispose), (swfdec_button_render), (tag_func_define_button_2): * libswfdec/swfdec_button.h: * libswfdec/swfdec_debug.c: (swfdec_debug_log), (art_warn): * libswfdec/swfdec_debug.h: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_display.c: (tag_func_place_object_2): * libswfdec/swfdec_font.c: (swfdec_font_base_init), (swfdec_font_class_init), (swfdec_font_init), (swfdec_font_dispose), (swfdec_font_get_glyph), (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_font.h: * libswfdec/swfdec_image.c: (swfdec_image_base_init), (swfdec_image_class_init), (swfdec_image_init), (swfdec_image_dispose), (lossless), (define_bits_lossless), (swfdec_image_colormap_decode): * libswfdec/swfdec_image.h: * libswfdec/swfdec_layer.c: (swfdec_render_get_sublayer): * libswfdec/swfdec_object.c: (swfdec_object_get_type), (swfdec_object_base_init), (swfdec_object_class_init), (swfdec_object_init), (swfdec_object_dispose), (swfdec_object_unref), (swfdec_object_get): * libswfdec/swfdec_object.h: * libswfdec/swfdec_rect.c: (swfdec_rect_intersect), (swfdec_rect_union), (swfdec_rect_is_empty): * libswfdec/swfdec_rect.h: * libswfdec/swfdec_render.c: (swfdec_render_free), (swfdec_render_iterate), (swfdec_render_get_object_state), (swfdec_render_seek), (swfdec_render_get_frame_index), (swfdec_render_get_image), (swfdec_render_get_audio): * libswfdec/swfdec_render.h: * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render), (swfdec_shape_render), (swfdec_text_render), (swf_config_colorspace), (swfdec_render_layervec_free): * libswfdec/swfdec_render_libart.h: * libswfdec/swfdec_shape.c: (swfdec_shape_base_init), (swfdec_shape_class_init), (swfdec_shape_init), (swfdec_shape_dispose), (swfdec_shapevec_free), (get_shape_rec), (tag_func_define_shape), (tag_define_shape), (tag_define_shape_3), (swf_shape_add_styles), (swfdec_shape_get_fill0style), (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle), (swf_shape_get_recs), (swfdec_shape_compose), (swfdec_shape_compose_gradient), (my_root), (swfdec_gradient_to_palette), (tag_define_morph_shape), (swf_shape_ignore_recs), (swf_morphshape_add_styles), (swf_morphshape_get_recs): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sound.c: (swfdec_sound_base_init), (swfdec_sound_class_init), (swfdec_sound_init), (swfdec_sound_dispose), (tag_func_sound_stream_block), (swfdec_decoder_sound_buffer_append), (adpcm_decode), (swfdec_sound_render), (swfdec_sound_mp3_init), (swfdec_sound_mp3_cleanup), (swfdec_sound_mp3_decode), (swfdec_sound_mp3_decode_stream): * libswfdec/swfdec_sound.h: * libswfdec/swfdec_sprite.c: (swfdec_sprite_base_init), (swfdec_sprite_class_init), (swfdec_sprite_init), (swfdec_sprite_dispose), (swfdec_sprite_add_sound_chunk), (swfdec_sprite_add_action), (swfdec_sprite_render), (tag_func_define_sprite), (swfdec_sprite_get_seg), (swfdec_spriteseg_place_object_2): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_text.c: (swfdec_text_base_init), (swfdec_text_class_init), (swfdec_text_init), (swfdec_text_dispose), (define_text), (tag_func_define_text_2): * libswfdec/swfdec_text.h: * libswfdec/swfdec_transform.c: (swfdec_transform_is_translation), (swfdec_transform_multiply), (swfdec_transform_invert), (swfdec_transform_init_identity), (swfdec_transform_translate), (swfdec_transform_get_expansion): * libswfdec/swfdec_transform.h: * libswfdec/tags.h: * player/swf_play.c: (main), (do_help), (new_window), (fill_audio), (sound_setup), (render_idle_audio), (render_idle_noaudio), (fd_is_ready), (packet_get), (packet_free): * plugin/plugin.c: (plugin_fork), (plugin_newp), (plugin_destroy), (plugin_set_window), (plugin_new_stream), (plugin_destroy_stream), (plugin_write_ready), (plugin_write), (plugin_stream_as_file), (NP_GetValue), (NP_GetMIMEDescription), (NP_Initialize), (NP_Shutdown), (NPP_DestroyStream), (NPP_URLNotify), (packet_write): * plugin/spp.h: 2004-11-04 David Schleef * configure.ac: bump nano === release 0.3.1 === 2004-11-04 David Schleef * Makefile.am: prep for release * configure.ac: * player/Makefile.am: * plugin/Makefile.am: 2004-11-04 David Schleef * README: add dependency on liboil * player/swf_play.c: (main), (do_help), (new_window), (sound_setup), (render_idle_audio), (fd_is_ready), (packet_get): Cleanup. 2004-11-04 David Schleef * README: random fixes * libswfdec/swf.c: (swfdec_decoder_set_image_size): change scaling back to browser-friendly policy. * libswfdec/swfdec_render.c: (swfdec_render_iterate): change eof policy back to being browser-friendly * libswfdec/swfdec_shape.c: (swfdec_shape_compose_gradient), (my_root): optimization for circular gradients * player/Makefile.am: include plugin dir for spp.h * player/swf_play.c: (main), (do_help), (sound_setup), (render_idle_audio), (packet_get), (packet_free): Add SPP protocol handling. Additional fixes to make plugin work again. * plugin/plugin.c: (plugin_fork), (plugin_newp), (plugin_destroy), (plugin_set_window), (plugin_destroy_stream), (plugin_write), (plugin_stream_as_file), (NP_GetValue), (NP_Initialize), (NPP_DestroyStream), (packet_write): Add SPP protocol handling. Other random fixes. * plugin/spp.h: SPP protocol. 2004-10-26 David Schleef * player/swf_play.c: (render_idle_audio): endianness fixes 2004-10-08 David Schleef * Makefile.am: player no longer depends on glib * glib-compat/glib-object.h: new * glib-compat/glib.h: more compatibility * glib-compat/glib/Makefile.am: add gobject.c * glib-compat/glib/gobject.c: (g_type_init), (g_type_name), (g_object_new), (g_object_unref): * libswfdec/jpeg/Makefile.am: * libswfdec/swfdec_debug.c: (swfdec_debug_log): glib-compat stuff * libswfdec/swfdec_display.c: (tag_func_place_object_2), (tag_func_remove_object), (tag_func_remove_object_2): remove g_print() * libswfdec/swfdec_font.h: glib-compat * libswfdec/swfdec_image.h: same * libswfdec/swfdec_object.c: same * libswfdec/swfdec_object.h: same * libswfdec/swfdec_render.c: (swfdec_render_get_image): same * libswfdec/swfdec_shape.c: (get_shape_rec), (tag_func_define_shape): remove g_print() * libswfdec/swfdec_shape.h: glib-compat * libswfdec/swfdec_sound.h: same * libswfdec/swfdec_sprite.h: same * libswfdec/swfdec_text.h: same * player/swf_play.c: (main), (render_idle_audio), (render_idle_noaudio): remove glib dependency * test/Makefile.am: dump works with glib-compat * test/dump.c: (main): same 2004-10-08 David Schleef * libswfdec/swfdec_render.c: (swfdec_render_get_object_state): add object id as identifier for object state. Improves rendering of sprites. * libswfdec/swfdec_render.h: * libswfdec/swfdec_shape.c: (swfdec_shape_get_fill0style), (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle): * libswfdec/swfdec_sprite.c: (swfdec_sprite_render): * player/Makefile.am: Remove gtk dependency. * player/swf_play.c: (main), (new_window), (render_idle_audio), (render_idle_noaudio): Remove gtk dependency. SDL-only now. 2004-10-07 David Schleef * libswfdec/swf.c: disable DefineMorphShape * libswfdec/swfdec_render.c: (swfdec_render_iterate): return FALSE if we know the animation has ended. * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): fix parsing to handle changes in tag lookup function. 2004-10-05 David Schleef * Makefile.am: distcheck fixes * configure.ac: * libswfdec/Makefile.am: 2004-10-05 David Schleef * TODO: random notes * libswfdec/actions.c: (get_actions), (swfdec_action_script_execute): minor execution improvements * libswfdec/swf.c: (swfdec_decoder_parse), (swfdec_decoder_get_tag_func): check for invalid tags differently. * libswfdec/swfdec_bits.c: (swfdec_bits_get_morph_gradient): add function * libswfdec/swfdec_bits.h: ditto * libswfdec/swfdec_render.c: (swfdec_render_iterate), (swfdec_render_get_audio): stop if iterating past end. Increase audio buffer size. * libswfdec/swfdec_shape.c: (tag_func_define_shape), (tag_define_shape), (tag_define_shape_3), (swf_shape_add_styles), (swfdec_gradient_to_palette), (tag_define_morph_shape), (swf_shape_ignore_recs), (swf_morphshape_add_styles), (swf_morphshape_get_recs): improve debugging. Add morph shape parsing (incomplete) * libswfdec/swfdec_shape.h: add protos * libswfdec/swfdec_sound.c: (swfdec_sound_mp3_decode), (swfdec_sound_mp3_decode_stream): resync more correctly * libswfdec/swfdec_sound.h: change buffer size * libswfdec/swfdec_sprite.c: (swfdec_sprite_render): decrease warning level 2004-10-04 David Schleef * libswfdec/Makefile.am: * libswfdec/swfdec_actions.h: new file 2004-10-04 David Schleef * libswfdec/Makefile.am: export art_warn * libswfdec/actions.c: (tag_func_do_action), (swfdec_action_script_execute): minimal AS execution * libswfdec/jpeg/huffman.c: switch to swfdec debugging system * libswfdec/jpeg/jpeg.c: same. Check for image overruns when decoding macroblocks. * libswfdec/jpeg/jpeg_debug.h: same * libswfdec/jpeg/test.c: same * libswfdec/jpeg/test_rgb.c: same * libswfdec/render.c: add debugging * libswfdec/swf.c: add debugging. allocate action buffer array * libswfdec/swfdec_buffer.c: quiet debugging. Add get_offset. * libswfdec/swfdec_buffer.h: same * libswfdec/swfdec_button.c: Fix button rendering. * libswfdec/swfdec_button.h: same * libswfdec/swfdec_debug.c: override art_warn. it's annoying. * libswfdec/swfdec_decoder.h: add stopped field. * libswfdec/swfdec_image.c: add debugging * libswfdec/swfdec_internal.h: add swfdec_actions.h * libswfdec/swfdec_render.c: improve iteration, fix clipping. * libswfdec/swfdec_render.h: improve iteration * libswfdec/swfdec_shape.c: check for inconsistent SWF files * libswfdec/swfdec_sound.c: replace SoundChunk with Buffer * libswfdec/swfdec_sound.h: same * libswfdec/swfdec_sprite.c: record actions. Fix clipping rendering and parsing. * libswfdec/swfdec_sprite.h: Add action buffer array. * player/swf_play.c: minor fixes * test/dump.c: dump more information 2004-09-22 David Schleef * libswfdec/jpeg/bits.h: reindent * libswfdec/jpeg/huffman.c: * libswfdec/jpeg/huffman.h: * libswfdec/jpeg/jpeg.c: * libswfdec/jpeg/jpeg.h: * libswfdec/jpeg/jpeg_debug.h: * libswfdec/jpeg/jpeg_internal.h: * libswfdec/jpeg/jpeg_rgb_decoder.c: * libswfdec/jpeg/jpeg_rgb_decoder.h: * libswfdec/jpeg/jpeg_rgb_internal.h: * libswfdec/jpeg/test.c: * libswfdec/jpeg/test_rgb.c: 2004-09-17 David Schleef Switch to using buffers for the input stream. * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new), (swfdec_decoder_add_buffer), (swfdec_decoder_parse), (swfdec_decoder_free), (swf_parse_header1), (swf_inflate_init), (swf_parse_header2), (swfdec_decoder_get_tag_name), (swfdec_decoder_get_tag_func), (tag_func_ignore_quiet), (tag_func_ignore): * libswfdec/swfdec_bits.h: * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_new), (swfdec_buffer_queue_get_depth), (swfdec_buffer_queue_free), (swfdec_buffer_queue_push), (swfdec_buffer_queue_pull), (swfdec_buffer_queue_peek): * libswfdec/swfdec_buffer.h: * libswfdec/swfdec_button.c: (tag_func_define_button_2): * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_image.c: (swfdec_image_jpegtables), (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_render.c: (swfdec_render_iterate), (swfdec_render_get_frame_index), (swfdec_render_get_audio): * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block), (tag_func_define_sound), (swfdec_sound_mp3_decode_stream): * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): * libswfdec/swfdec_types.h: * test/render.c: (main): 2004-09-13 David Schleef * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new): Check SWFDEC_DEBUG env var, and call init in decoder_new(). 2004-09-13 David Schleef * configure.ac: export GLIB_REQUIRES * glib-compat/glib/gfileutils.c: (g_file_test), (g_file_error_quark), (g_file_error_from_errno), (get_contents_stdio), (get_contents_regfile), (get_contents_posix), (get_contents_win32), (g_mkstemp), (g_file_open_tmp), (g_build_pathv), (g_build_path), (g_build_filename), (g_file_read_link), (g_readfile_new), (g_readfile_get_length), (g_readfile_get_contents), (g_readfile_free): more compat stuff * glib-compat/glib/gstrfuncs.c: (g_memdup): same * glib-compat/glib/gstrfuncs.h: same 2004-09-13 David Schleef * .cvsignore: Some cvsignore files * gimp-loader/.cvsignore: * glib-compat/.cvsignore: * libswfdec/.cvsignore: * libswfdec/jpeg/.cvsignore: * libswfdec/mpeg/.cvsignore: * pixbuf-loader/.cvsignore: * player/.cvsignore: * plugin/.cvsignore: * test/.cvsignore: * test/dump.c: (main), (dump_sprite): oops, these never got added * test/render.c: (buffer_free), (main): same 2004-09-13 David Schleef * configure.ac: Bump soname for liboil and swfdec * libswfdec/art.c: (art_rgb_run_alpha_2): adjust for liboil API * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment): same * libswfdec/swf.c: (swfdec_decoder_parse): ERROR->WARNING 2004-09-01 David Schleef Make more compatibile with glib-compat. * Makefile.am: * README: * configure.ac: * gimp-loader/Makefile.am: * gimp-loader/swf-gimp.c: * libswfdec/Makefile.am: * swfdec.pc.in: Glib compatibility stuff. Mostly taken from glib. * glib-compat/Makefile.am: * glib-compat/glib.h: * glib-compat/glib/Makefile.am: * glib-compat/glib/config.h: * glib-compat/glib/garray.c: * glib-compat/glib/garray.h: * glib-compat/glib/gdebug.h: * glib-compat/glib/gfileutils.c: * glib-compat/glib/gfileutils.h: * glib-compat/glib/glist.c: * glib-compat/glib/glist.h: * glib-compat/glib/gmacros.h: * glib-compat/glib/gmem.c: * glib-compat/glib/gmem.h: * glib-compat/glib/gmessages.h: * glib-compat/glib/gprintfint.h: * glib-compat/glib/gstrfuncs.c: * glib-compat/glib/gstrfuncs.h: * glib-compat/glib/gtypes.h: * glib-compat/glibconfig.h: 2004-09-01 David Schleef Make less dependent on gobject. Change API to use SwfdecBuffer. * libswfdec/Makefile.am: remove swf.h * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_add_data), (swfdec_decoder_add_buffer), (swfdec_decoder_free): * libswfdec/swf.h: remove * libswfdec/swfdec.h: * libswfdec/swfdec_buffer.c: (swfdec_buffer_unref): * libswfdec/swfdec_button.c: (tag_func_define_button_2): * libswfdec/swfdec_button.h: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_font.c: (swfdec_font_dispose), (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_object.c: (swfdec_object_new), (swfdec_object_unref): * libswfdec/swfdec_object.h: * libswfdec/swfdec_render.c: (swfdec_render_free): Fix memleak. * libswfdec/swfdec_shape.c: (tag_define_shape), (tag_define_shape_3): * libswfdec/swfdec_sound.c: (tag_func_define_sound), (tag_func_sound_stream_head), (swfdec_sound_render), (swfdec_sound_chunk_free): * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): * libswfdec/swfdec_text.c: (swfdec_text_base_init), (swfdec_text_class_init), (swfdec_text_init), (swfdec_text_dispose), (define_text): * pixbuf-loader/io-swf.c: (swf_add_bits): * player/swf_play.c: (main), (do_help), (new_gtk_window), (fill_audio), (sound_setup), (tv_diff), (fixup_buffer), (render_idle_audio), (render_idle_noaudio): * test/render-fast.c: (read_swf_file): 2004-08-27 David Schleef Add mpeg decoding library ripped from ffmpeg. Doesn't work. * libswfdec/mpeg/Makefile.am: * libswfdec/mpeg/avcodec.h: * libswfdec/mpeg/bswap.h: * libswfdec/mpeg/common.h: * libswfdec/mpeg/dsputil.h: * libswfdec/mpeg/mpeg_config.h: * libswfdec/mpeg/mpegaudio.h: * libswfdec/mpeg/mpegaudiodec.c: (l1_unscale), (l2_unscale_group), (l3_unscale), (int_pow_init), (int_pow), (decode_init), (dct32), (round_sample), (synth_filter), (imdct12), (imdct36), (check_header), (decode_header), (mpa_decode_header), (mp_decode_layer1), (l2_select_table), (mp_decode_layer2), (seek_to_maindata), (lsf_sf_expand), (exponents_from_scale_factors), (get_bitsz), (huffman_decode), (reorder_block), (compute_stereo), (compute_antialias_integer), (compute_antialias_float), (compute_imdct), (sample_dump), (mp_decode_layer3), (mp_decode_frame), (decode_frame): * libswfdec/mpeg/mpegaudiodectab.h: * libswfdec/mpeg/rational.h: 2004-08-27 David Schleef Merge prerender into render. Use SwfdecBuffer. Make sprites work again. Make sound work again. Essentially back up to the level of 0.2.2 now. * libswfdec/render.c: (swfdec_spriteseg_render): * libswfdec/swf.c: (swfdec_decoder_addbits): * libswfdec/swfdec.h: * libswfdec/swfdec_buffer.c: * libswfdec/swfdec_button.c: (swfdec_button_class_init), (swfdec_button_render): * libswfdec/swfdec_button.h: * libswfdec/swfdec_debug.c: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_object.h: * libswfdec/swfdec_render.c: (swfdec_render_iterate), (swfdec_render_get_object_state), (swfdec_render_get_image), (swfdec_render_get_audio): * libswfdec/swfdec_render.h: * libswfdec/swfdec_render_libart.c: (swfdec_shape_render), (swfdec_text_render): * libswfdec/swfdec_render_libart.h: * libswfdec/swfdec_shape.c: (swfdec_shape_class_init), (swfdec_shape_compose): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sprite.c: (swfdec_sprite_class_init), (swfdec_sprite_render), (tag_func_define_sprite): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_text.c: (swfdec_text_class_init): * libswfdec/swfdec_types.h: 2004-08-26 David Schleef Add new files * libswfdec/swfdec_buffer.c: * libswfdec/swfdec_buffer.h: * libswfdec/swfdec_render.h: 2004-08-26 David Schleef Remove these * libswfdec/jpeg/conv8x8_f64_s16.h: * libswfdec/jpeg/idct8_f64.h: * libswfdec/jpeg/idct8x8_f64.h: * libswfdec/jpeg/idct8x8_s16.h: * libswfdec/jpeg/sl_block8x8.h: * libswfdec/jpeg/sl_types.h: * libswfdec/jpeg/unzigzag8x8_s16.h: rewrite rendering code * libswfdec/Makefile.am: * libswfdec/render.c: (swf_invalidate_irect): * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse), (swfdec_decoder_set_colorspace): * libswfdec/swfdec_button.c: (swfdec_button_class_init): * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_internal.h: * libswfdec/swfdec_layer.c: * libswfdec/swfdec_layer.h: * libswfdec/swfdec_render.c: (swfdec_render_new), (swfdec_render_free), (swfdec_render_iterate), (swfdec_render_seek), (swfdec_render_get_image), (swfdec_render_get_audio), (swfdec_spriteseg_prerender), (swfdec_layer_render): * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render): * libswfdec/swfdec_sound.c: (swfdec_decoder_sound_buffer_append), (swfdec_sound_render), (swfdec_sound_mp3_decode_stream): * libswfdec/swfdec_sound.h: * libswfdec/swfdec_types.h: 2004-08-24 David Schleef Change malloc/free to g_malloc/g_free. * libswfdec/actions.c: (action_add), (action_substring), (action_string_concat): * libswfdec/art.c: (art_bpath_cat), (art_vpath_cat), (art_vpath_reverse): * libswfdec/jpeg/Makefile.am: * libswfdec/jpeg/jpeg.c: (jpeg_decoder_sof_baseline_dct): * libswfdec/jpeg/test.c: (getfile): * libswfdec/jpeg/test_rgb.c: (main2), (getfile): * libswfdec/render.c: (swf_render_frame): * libswfdec/swf.c: (swfdec_decoder_parse), (swfdec_decoder_free), (swf_parse_header2), (swfdec_decoder_render): * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_render_libart.c: (swfdec_shape_prerender), (swfdec_text_prerender): * libswfdec/swfdec_shape.c: (swf_shape_get_recs): * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block), (swfdec_sound_chunk_free): * libswfdec/swfdec_sound.h: * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose), (swfdec_sprite_add_sound_chunk), (tag_func_define_sprite): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_types.h: 2004-08-11 David Schleef Lots of hacking. Modularizing libart dependency. * configure.ac: * libswfdec/Makefile.am: * libswfdec/actions.c: (action_add), (action_subtract), (action_multiply), (action_divide), (action_equal), (action_less_than), (action_logical_and), (action_logical_or), (action_logical_not), (action_string_equal), (action_string_length), (action_substring), (action_int), (action_string_concat): * libswfdec/art.c: (art_svp_make_convex), (art_rgb565_fillrect), (art_rgb_fillrect), (swfdec_art_bpath_from_points), (art_bpath_affine_transform_inplace): * libswfdec/art.h: * libswfdec/color.c: (swfdec_color_apply_transform), (tag_func_set_background_color): * libswfdec/color.h: * libswfdec/proto.h: * libswfdec/render.c: (swf_invalidate_irect), (tag_place_object_2), (tag_remove_object), (tag_remove_object_2), (tag_show_frame), (swf_render_frame): * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_addbits), (swfdec_decoder_parse), (swfdec_decoder_free), (swfdec_decoder_set_image_size), (swfdec_decoder_get_sound_chunk), (zalloc), (zfree), (swf_inflate_init), (swf_parse_header2), (tag_func_frame_label), (swfdec_decoder_render): * libswfdec/swfdec_bits.c: (swfdec_bits_get_color_transform), (swfdec_bits_get_transform), (swfdec_bits_get_fill_style): * libswfdec/swfdec_bits.h: * libswfdec/swfdec_button.c: (swfdec_button_base_init), (swfdec_button_class_init), (swfdec_button_init), (swfdec_button_dispose), (swfdec_button_prerender), (tag_func_define_button_2): * libswfdec/swfdec_debug.c: (swfdec_debug_log): * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_display.c: (tag_func_place_object_2), (tag_func_remove_object), (tag_func_remove_object_2): * libswfdec/swfdec_font.c: (swfdec_font_base_init), (swfdec_font_class_init), (swfdec_font_init), (swfdec_font_dispose): * libswfdec/swfdec_image.c: (swfdec_image_base_init), (swfdec_image_class_init), (swfdec_image_init), (swfdec_image_dispose), (zalloc), (zfree), (lossless), (swfdec_image_jpegtables), (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_internal.h: * libswfdec/swfdec_layer.c: (swfdec_layer_free): * libswfdec/swfdec_layer.h: * libswfdec/swfdec_object.h: * libswfdec/swfdec_rect.c: (swfdec_rect_union_to_masked), (swfdec_rect_intersect), (swfdec_rect_union), (swfdec_rect_copy), (swfdec_rect_is_empty): * libswfdec/swfdec_rect.h: * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render), (art_svp_translate), (art_svp_bbox), (swfdec_shape_prerender), (swfdec_text_prerender), (swf_config_colorspace), (swfdec_render_layervec_free): * libswfdec/swfdec_render_libart.h: * libswfdec/swfdec_shape.c: (swfdec_shape_base_init), (swfdec_shape_class_init), (swfdec_shape_init), (swfdec_shape_dispose), (swfdec_shapevec_free), (get_shape_rec), (tag_func_define_shape), (tag_define_shape), (tag_define_shape_3), (swf_shape_add_styles), (tag_define_shape_2), (swfdec_shape_compose), (swfdec_shape_compose_gradient), (swfdec_gradient_to_palette): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sound.c: (swfdec_sound_base_init), (swfdec_sound_class_init), (swfdec_sound_init), (swfdec_sound_dispose), (tag_func_sound_stream_block), (tag_func_define_sound), (tag_func_sound_stream_head), (get_soundinfo), (tag_func_start_sound), (tag_func_define_button_sound), (adpcm_decode), (swfdec_sound_mp3_cleanup), (swfdec_sound_mp3_decode): * libswfdec/swfdec_sprite.c: (swfdec_sprite_base_init), (swfdec_sprite_class_init), (swfdec_sprite_init), (swfdec_sprite_dispose), (swfdec_sprite_prerender), (swfdec_spriteseg_place_object_2): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_text.c: (swfdec_text_get_type), (define_text): * libswfdec/swfdec_text.h: * libswfdec/swfdec_transform.c: (swfdec_transform_is_translation), (swfdec_transform_multiply), (swfdec_transform_invert), (swfdec_transform_init_identity), (swfdec_transform_translate), (swfdec_transform_get_expansion): * libswfdec/swfdec_transform.h: * libswfdec/swfdec_types.h: 2004-08-05 David Schleef * libswfdec/art.c: (swfdec_art_bpath_from_points), (art_bpath_affine_transform_inplace): Minor speedup. * libswfdec/art.h: 2004-08-05 David Schleef Store shape points as shorts, not doubles. (Saves 85% memory.) * libswfdec/art.c: (swfdec_art_bpath_from_points): * libswfdec/art.h: * libswfdec/swfdec_shape.c: (swf_shape_vec_new), (swf_shape_get_recs), (swfdec_shape_prerender): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_text.c: (swfdec_text_prerender): 2004-08-04 David Schleef convert jpeg to liboil * libswfdec/Makefile.am: * libswfdec/jpeg/Makefile.am: * libswfdec/jpeg/huffman.c: * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment): * libswfdec/swf.c: (swfdec_decoder_parse), (tag_func_dumpbits): make more quiet. * libswfdec/swfdec_bits.h: compile fix 2004-08-03 David Schleef Fixes for bits_t change * libswfdec/internal.h: * libswfdec/swfdec_bits.c: (swfdec_bits_needbits): * libswfdec/swfdec_debug.c: * libswfdec/swfdec_image.c: (lossless), (swfdec_image_colormap_decode): * libswfdec/swfdec_internal.h: * libswfdec/swfdec_sound.c: (swfdec_sound_mp3_decode_stream): 2004-08-02 David Schleef Global change bits_t -> SwfdecBits. Prepend swfdec_bits_ to all bit related functions. * Makefile.am: * configure.ac: * gimp-loader/swf-gimp.c: (load_dialog): * libswfdec/Makefile.am: * libswfdec/actions.c: (get_actions), (swfdec_action_script_execute): * libswfdec/bits.h: * libswfdec/color.c: (tag_func_set_background_color): * libswfdec/get.c: * libswfdec/get.h: * libswfdec/proto.h: * libswfdec/render.c: (art_place_object_2), (art_remove_object), (art_remove_object_2): * libswfdec/swf.c: (swfdec_decoder_parse), (dumpbits), (swf_parse_header1), (swf_parse_header2), (swf_parse_tag), (tag_func_dumpbits), (tag_func_frame_label): * libswfdec/swfdec_button.c: (tag_func_define_button_2): * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_display.c: (tag_func_place_object_2), (tag_func_remove_object), (tag_func_remove_object_2): * libswfdec/swfdec_font.c: (tag_func_define_font), (get_kerning_record), (tag_func_define_font_2): * libswfdec/swfdec_image.c: (swfdec_image_jpegtables), (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_internal.h: * libswfdec/swfdec_shape.c: (get_shape_rec), (tag_func_define_shape), (art_define_shape), (art_define_shape_3), (swf_shape_add_styles), (swf_shape_get_recs): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block), (tag_func_define_sound), (tag_func_sound_stream_head), (get_soundinfo), (tag_func_start_sound), (tag_func_define_button_sound), (adpcm_decode): * libswfdec/swfdec_sprite.c: (tag_func_define_sprite), (swfdec_spriteseg_place_object_2), (swfdec_spriteseg_remove_object), (swfdec_spriteseg_remove_object_2): * libswfdec/swfdec_text.c: (define_text): * swfdec.pc.in: * test/Makefile.am: * test/display-shape.c: 2004-08-02 David Schleef Lots and lots of hacking. * libswfdec/art.c: (art_rgb_run_alpha_2), (art_rgb_fillrect), (art_rgb_svp_alpha_compose_callback), (art_rgb_svp_alpha_callback): * libswfdec/art.h: * libswfdec/mpglib/Makefile.am: * libswfdec/mpglib/README: * libswfdec/mpglib/clipconv_f32_s16.h: * libswfdec/mpglib/common.c: * libswfdec/mpglib/dct32_f32.h: * libswfdec/mpglib/dct64_i386.c: * libswfdec/mpglib/decode_i386.c: * libswfdec/mpglib/huffman.h: * libswfdec/mpglib/interface.c: * libswfdec/mpglib/l2tables.h: * libswfdec/mpglib/layer1.c: * libswfdec/mpglib/layer2.c: * libswfdec/mpglib/layer3.c: * libswfdec/mpglib/main.c: * libswfdec/mpglib/mpglib.h: * libswfdec/mpglib/mpglib_config.h: * libswfdec/mpglib/mpglib_internal.h: * libswfdec/mpglib/tabinit.c: * libswfdec/render.c: (swf_render_frame): * libswfdec/sound.c: * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new), (swfdec_decoder_eof), (swfdec_decoder_free), (swfdec_decoder_set_image_size), (swf_inflate_init), (swf_parse_header2), (swf_parse_tag), (swfdec_decoder_render): * libswfdec/swfdec.h: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_image.c: (swfdec_image_dispose): * libswfdec/swfdec_layer.c: (swfdec_render_get_layer), (swfdec_layervec_render): * libswfdec/swfdec_shape.c: (swfdec_shape_get_fill0style), (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle), (swf_shape_get_recs), (swfdec_shape_prerender): * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block), (tag_func_define_sound), (tag_func_sound_stream_head), (swfdec_sound_mp3_init), (swfdec_sound_mp3_decode), (swfdec_sound_mp3_decode_stream): * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose), (swfdec_sprite_prerender), (tag_func_define_sprite), (swfdec_spriteseg_remove_object), (swfdec_spriteseg_remove_object_2): * libswfdec/swfdec_text.c: (define_text), (swfdec_text_prerender): * swfdec.pc.in: * test/Makefile.am: 2004-07-02 David Schleef * libswfdec/Makefile.am: Don't use mpglib * libswfdec/swf.c: (swf_parse_tag): * libswfdec/swfdec_debug.c: * libswfdec/swfdec_object.c: (swfdec_object_dump): * libswfdec/swfdec_object.h: * test/Makefile.am: 2004-06-05 David Schleef * libswfdec/Makefile.am: Global change from SWF_DEBUG to SWFDEC_LOG, SWFDEC_DEBUG, etc. * libswfdec/actions.c: (get_actions), (swfdec_action_script_execute): * libswfdec/color.c: (transform_color): * libswfdec/render.c: (art_place_object_2), (swf_render_frame), (swfdec_spriteseg_prerender): * libswfdec/sound.c: (tag_func_sound_stream_block), (tag_func_define_sound), (tag_func_sound_stream_head), (swfdec_sound_render): * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse), (swf_parse_header2), (swf_parse_tag), (tag_func_ignore): * libswfdec/swfdec_button.c: (tag_func_define_button_2): * libswfdec/swfdec_debug.c: (swfdec_debug_log), (swfdec_debug_set_level), (swfdec_debug_get_level): * libswfdec/swfdec_debug.h: * libswfdec/swfdec_decoder.h: * libswfdec/swfdec_font.c: (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_image.c: (swfdec_image_jpegtables), (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_internal.h: * libswfdec/swfdec_object.c: (swfdec_object_get): * libswfdec/swfdec_shape.c: (tag_func_define_shape), (art_define_shape), (art_define_shape_3), (swf_shape_add_styles), (swf_shape_get_recs), (swfdec_shape_prerender), (swfdec_shape_compose), (swfdec_shape_compose_gradient): * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block), (tag_func_define_sound), (tag_func_sound_stream_head), (swfdec_sound_render): * libswfdec/swfdec_sprite.c: (swfdec_sprite_prerender), (swfdec_sprite_render), (tag_func_define_sprite), (swfdec_spriteseg_place_object_2): 2004-06-05 David Schleef * COPYING: switch to LGPL * INSTALL: unknown * autogen.sh: bump libtool to 1.5 * compile: remove * configure.ac: add majorminor * depcomp: remove * install-sh: remove * libswfdec/Makefile.am: hacking * libswfdec/proto.h: * libswfdec/render.c: (art_show_frame), (swf_render_frame), (swfdec_spriteseg_prerender): * libswfdec/swfdec_button.c: (swfdec_button_class_init), (tag_func_define_button_2): * libswfdec/swfdec_button.h: * libswfdec/swfdec_font.c: (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_object.c: (swfdec_object_class_init), (swfdec_object_get): * libswfdec/swfdec_object.h: * libswfdec/swfdec_shape.c: (swfdec_shape_class_init), (art_define_shape), (art_define_shape_3): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sound.c: (tag_func_define_sound), (tag_func_sound_stream_head): * libswfdec/swfdec_sprite.c: (swfdec_sprite_class_init), (swfdec_sprite_render), (tag_func_define_sprite): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_text.c: (swfdec_text_class_init), (define_text): * libswfdec/swfdec_text.h: * libswfdec/version_script: remove * missing: remove * mkinstalldirs: remove 2004-04-20 David Schleef Cleanups. * libswfdec/swfdec_button.c: (tag_func_define_button_2): * libswfdec/swfdec_font.c: (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3), (define_bits_lossless): * libswfdec/swfdec_shape.c: (art_define_shape), (art_define_shape_3): * libswfdec/swfdec_sound.c: (tag_func_define_sound), (tag_func_sound_stream_head): * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): * libswfdec/swfdec_text.c: (define_text): * player/swf_play.c: (render_idle), (convert_image): 2004-04-20 David Schleef Fixes to get swfdec compiling and semi-working again. * configure.ac: * libswfdec/swf.c: (swfdec_decoder_new): * libswfdec/swfdec_button.c: (swfdec_button_get_type): * libswfdec/swfdec_button.h: * libswfdec/swfdec_font.c: (swfdec_font_get_type), (tag_func_define_font), (tag_func_define_font_2): * libswfdec/swfdec_font.h: * libswfdec/swfdec_image.c: (swfdec_image_get_type): * libswfdec/swfdec_image.h: * libswfdec/swfdec_object.c: * libswfdec/swfdec_object.h: * libswfdec/swfdec_shape.c: (swfdec_shape_get_type), (swfdec_shape_init): * libswfdec/swfdec_shape.h: * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): * libswfdec/swfdec_sprite.h: * libswfdec/swfdec_text.c: (swfdec_text_init): 2004-02-25 David Schleef * configure.ac: Add liboil dependency. * libswfdec/Makefile.am: Add liboil dependency. * libswfdec/art.c: (art_rgb_svp_alpha2), (art_rgb_fill_run), (art_rgb_run_alpha), (compose_const_rgb888_u8_ref), (compose_const_rgb888_u8_fast), (compose_rgb888_u8_ref), (compose_const_rgb888_rgb888_ref), (compose_rgb888_rgb888_ref), (art_rgb_svp_alpha_callback): Convert to 32-bit RGB colorspace. * libswfdec/color.c: (swf_config_colorspace): same * libswfdec/jpeg/jpeg_rgb_decoder.c: (convert): same * libswfdec/shape.c: (swfdec_gradient_to_palette): same * libswfdec/swf.c: (swfdec_decoder_new): same * libswfdec/swfdec_image.c: (define_bits_lossless), (swfdec_image_colormap_decode): same