[G1 Android Development] sparksco:
I am simply reposting this from the mytouch thread by elegos, who is the creator of this script, I take no credit for this whatsoever.

Hello there!

This is a G1 / Magic tool to easily convert images in splash screen ones.

This tool is based upon ffmpeg and you need it installed on your system before proceeding (it will prompt you about the program missing in any case)

REQUIREMENTS

ffmpeg installed on your system

$ sudo apt-get install ffmpeg

a 320x480 image

a 320x480 device (i.e. G1 / Magic) with engineering SPL (S-OFF)

USAGE

./file [--help][-h]

Prints out how to use the script

./file your_image_file

Converts your image into a flashable splash screen, if you want the script will continue flashing the file directly.

NOTE: if you wish to make this script work with the Nexus One or any other device which doesn't share the same 320x480 resolution, just change these two variables:

size_check=307200
size_desc="320x480"

size_check is in bytes, size_desc is just a descriptive string.

I ASSUME NO RESPONSABILITY ABOUT THE USAGE OF THIS SCRIPT. USE IT "AS IS", LOOK AT THE OUTPUTS AND YOU'LL AVOID BRICKS!

Please, if you wish to redistribute this script, give the right credits and don't change the prog_header please (maybe link this discussion in a text file)!

Edit: I have added a already to use script for 320x480 devices only! Or you can make your own script using elegos's code. The script should already be marked as executable, if not then make executable:

http://www.mediafire.com/?wz83iff1eg3fv38

Usage for this script:

$ ./splash_creator fileimagename.whatever

Here the code is, just slap it in a text file, give it the executive permission (chmod +x filename) and use it!

#!/bin/bash
prog_header() {
echo "###############################"
echo "####### EleGoS's FFMPEG #######"
echo "# G1/Sapphire/MyTouch3G/Magic #"
echo "### Splash Screen converter ###"
echo "###############################"
echo "version 1.0"
echo ""
}

if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
prog_header
echo "Usage"
echo "$0 your_image_file"
exit 0
fi

warning() {
printf "\e[0;31m$1\e[0m \n"
}

check_ok() {
printf "\e[0;32m$1\e[0m \n"
}

ffmpeg_check=$(which ffmpeg)
size_check=307200
size_desc="320x480"

if [ "$ffmpeg_check" != "" ]; then
OUTPUT=$(echo "$1" | cut -d'.' -f1).raw565
clear
prog_header
ffmpeg -i $1 -f rawvideo -pix_fmt rgb565 $OUTPUT
clear
prog_header
FILESIZE=$(cat $OUTPUT | wc -c)
if [ $FILESIZE -eq $size_check ]; then
check_ok "$OUTPUT is ready to be flashed."
else
rm $OUTPUT
warning "$OUTPUT filesize mismatches! Wrong image size ($size_desc)? Aborted."
exit 0
fi
echo "In order to flash this image you have to plug your phone in fastboot mode."
read -p "Flash it now? (y/n) "
if [ "$REPLY" == "y" ] || [ "$REPLY" == "Y" ]; then
fastboot devices | grep -q "fastboot"
if [ $? -ne 0 ]; then
warning "The USB cable is not plugged, or the device is not in fastboot mode."
echo "To flash the splash screen, manually execute this command once in fastboot mode:"
echo "fastboot flash splash1 $OUTPUT"
exit 0
else
fastboot flash splash1 $OUTPUT
fi
else
echo "To flash the splash screen, execute this command once in fastboot mode:"
echo "fastboot flash splash1 $OUTPUT"
exit 0
fi
else
warning "ffmpeg not found! Please install it before running this script!\ni.e. (DEBIAN) apt-get install ffmpeg / (OSX) sudo port install ffmpeg"
fi

Edit:

Also feel free to post your splash screens here as well :D