Made to Order Software Corporation Logo

properly

DefineBitsJPEG

Tag Info
Tag Number: 
6
Tag Type: 
Define
Tag Flash Version: 
1
Brief Description: 

Define a JPEG bit stream.

Tag Structure: 
struct swf_definebitsjpeg {
	swf_long_tag		f_tag;		/* 6, 21, 35 or 90 */
	unsigned short		f_image_id;
	if(f_tag == DefineBitsJPEG3 + f_tag == DefineBitsJPEG4) {
		/* sizeof(f_encoding_tables) + sizeof(f_image_data) + 2 when JPEG4 */
		unsigned long		f_offset_to_alpha;
	}
	if(f_tag == DefineBitsJPEG4) {
		unsigned short fixed	f_deblocking_filter_parameter;
	}
	if(f_tag != DefineBitsJPEG) {
		/* when DefineBitsJPEG, use JPEGTables instead */
		unsigned char		f_encoding_tables[<variable size>];
	}
	unsigned char		f_image_data[<variable size>];
	if(f_tag == DefineBitsJPEG3 || f_tag == DefineBitsJPEG41) {
		unsigned char		f_alpha[<variable size>];
	}
};
  • 1. JPEG4 optionally accepts the f_alpha field. [To be verified]

These tags define an image saved using the JPEG compression scheme.

DefineBitsJPEG (V1.0) does not include the encoding tables which are defined in the unique JPEGTables tag instead. All the DefineBitsJPEG of an SWF file use the only JPEGTables tag. Yes... This means you need a tool that is capable of reusing the same tables over and over again to make sure that all your DefineBitsJPEGs work properly (or use it just once.)

The other tags incorporate their own version of the JPEG encoding tables.

The DefineBitsJPEG3 and DefineBitsJPEG4 support an alpha channel bit plane (8 bits.) ...

PlaceObject

Tag Info
Tag Number: 
4
Tag Type: 
Display
Tag Flash Version: 
1
Brief Description: 

Place the specified object in the current display list.

Tag Structure: 
struct swf_placeobject {
	swf_tag			f_tag;		/* 4 */
	unsigned short		f_objec_id_ref;
	unsigned short		f_depth;
	swf_matrix		f_matrix;
	if(f_tag_data_real_size is large enough) {1
		swf_color_transform	f_color_transform;
	}
};
  • 1. The f_color_transform is an optional field. The size of the tag data determines whether it was saved or not.

This tag will be used to specify where and how to place an object in the next frame. The PlaceObject2 and PlaceObject3 tags are much different and is presented below.

About SWF

Brief History

At the very beginning, a company created the SWF format to generate small vector animations on the Internet called Shockwave Flash (hence the name of the format, SWF.) It also included images. This company was bought by Macromedia around 1997 (if I recall properly). This is when Flash v3 was created. Since then, Macromedia created a new version about once a year up to version 8. At that time (in 2005/2006), Macromedia sealed a deal with Adobe which wanted to use the SWF format in their PDF files.

Today (May 1st, 2008), the SWF format is available for free to all.

There was ...

Terms & Conditions

Made to Order Software Corporation
Terms and Conditions for the Online Services
offered by Made to Order Software Corporation

This Agreement ("Agreement") is by and between Made to Order Software Corporation ("m2osw") a Californian Corporation and You, your heirs, your agents, successors and assigns ("You" and "Your"), and is made effective as of the date of electronic execution, which is when you register for an electronic account to use the Web site of m2osw. This Agreement sets forth the terms and conditions of Your use of the Online Services ...

CuteMenu Installation & Uninstallation

Installation

CuteMenu can be installed like any other Drupal modules. Extract the tar ball in sites/all/modules. The module makes use of two tables in your database. If you do not want to use it anymore, make sure to Uninstall it before deleting the files or you will still have the tables hanging.

Go to Administer » Building site » Modules to select the module so you can use it.

Bug in the core menu system (until Drupal 6.9)

At this time (Oct 25, 2008) there is a "bug" in the core menu system that needs to be fixed for the CuteMenu to work 100%. The only problem ...

Testing PHP properly...

I have been wondering, for a little while, how can I properly test my PHP code?! Only my server can run it, right? Well, no, there is CLI. Okay, but how can I make that work in there?

The best answer I’ve got so far: simpletest. This PHP library let you write a test a la C++. You simply create a class derived from a SimpleTest class, and voilà. You are done. Well… you still have to implement test functions. But that is still a breeze.

I used this library to test the PHP eFax classes and got about 4 bugs out (not too bad, considering I wrote over 1,000 lines of code and ...

LinuxWorld Conference & Expo 2008

This year, 2008, I decided to register and go to LinuxWorld. It is in August and my kids are not at school so it was easy to manage. Also, I had to go to the French consulate to get a birth certificate for my daughter. In other words, I had the chance to do two things at once!

I found it quite interesting to hear that many people were not too excited about the event. Many of the people walking around are like me: they themselves sell their own Linux solution. In other words, they are not going to be customers. I had the chance to talk with Roger Levi, the Vice President of the Open Platform ...

Google Web Tools

Today, I stumbled upon a new link in Google. A link that brought me to a page full of tools a webmaster can use to know how their website is doing according to the Google Spider (the program that search all the pages on your website.)

https://developers.google.com/search

I was not aware of the fact that you could download a CSV file (spreadsheet file compatible with Open Office and MS Excel) with all the errors last generated by the Google spider. You can also look at the errors directly in your account.

So… did I have errors? Well! Many. In part because each page is duplicated 3 ...

Security Issues with the US government

Some people, I have noticed, have been skeptical about the amount of care taken by the US government and agencies in the last few years. Companies are also catching up. The security measures change every year, when not every semester, every month and for some, probably every day.

For sure, making sure that the most wanted information remains top-secret, you need top level security features on your network. I do not know how much data is of interest, but I found out today that there are hackers attacking the federal websites quite a bit…

“The Pentagon last month acknowledged ...

Pointers and proper exception handling...

Many C++ programmers have been C programmers first. Therefore, a lot of times, you find statements written this way:

ptr = new type;

if(ptr == 0) // handle error...

This is a C programmer that does not yet know that the new operator will throw an error if the allocation cannot happen. This makes a lot of sense, but what does that mean to the C++ programmer?