diff --git a/LoveVideo/lovevideo.lua b/LoveVideo/lovevideo.lua index e44bf30..9f594b3 100644 --- a/LoveVideo/lovevideo.lua +++ b/LoveVideo/lovevideo.lua @@ -57,8 +57,10 @@ function lovevideo.newVideo(target) "Information file missing: `"..target.."/info.lua`.") self._info = require(target.."/info") - assert(self._info.image_format == "jpg" or self._info.image_format == "png", - "info.image_formate must be `jpg` or `png`.") + assert(self._info.image_format == "jpg" or + self._info.image_format == "png" or + self._info.image_format == "dds", + "info.image_formate must be `jpg`, `png` or `dds`.") assert(type(self._info.fps)=="number" and self._info.fps > 0, "info.fps must be a positive number.") assert(type(self._info.frame)=="table", diff --git a/tools/convert.sh b/tools/convert.sh index 4f774b8..e9442d0 100755 --- a/tools/convert.sh +++ b/tools/convert.sh @@ -18,7 +18,16 @@ ROWS=`expr $OPEN_GL_TEXTURE_MAX / $HEIGHT` TILE_COUNT=`expr $ROWS \* $COLUMNS` EXTRACT_FORMAT=png -FORMAT=jpg + +# DDS - requires imagemagick 6.8.6-10 or greater +FORMAT=dds +FORMAT_FLAGS="-define dds:compression=dxt1" + +# JPG +#FORMAT=jpg +#FORMAT_FLAGS="" + +IMAGEMAGICK_MONTAGE=montage echo "Converting $INPUT_FILE to raw $EXTRACT_FORMAT ($TEMP) .." @@ -45,7 +54,7 @@ do NEW_FRAME_INDEX=$((NEW_FRAME_INDEX+1)) echo "Processing frame $NEW_FRAME_INDEX/$NEW_FRAME_TOTAL .." COUNT=0 - montage \ + $IMAGEMAGICK_MONTAGE \ $NEW_FRAME_INPUTS \ -quality $QUALITY \ -tile $COLUMNS -geometry +0+0 $OUTPUT_DIR/$NEW_FRAME_INDEX.$FORMAT