Main > Software Forum

MAME Movie Maker released

<< < (138/153) > >>

cdbrown:
have tried the -resolution 128x128 in batch.bat and also within mame.ini.  But the output in moviesnp is the original resolution from within mame.  I did some playing around with the .vdb file prior to vdub being run and entered the 2 lines
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[0].Config(128,128,2);
and it produced a nice 128x128 res video.

Silver:
If memory serves, whatever resolution you run mame at, the pngs that come out are always the same as the original game resolution.

Plus I don't think mame lets you run the games at any resolution you specify.There may be a way that you can alter the png saving code (or the image generation) to any resolution you specify within mame. In fact, it would probably be easier if there was...

If not, then there are resize filters available freely to add to virtualdub (http://neuron2.net/resize.html) that can maintain aspect ratio and trim down to a set height or width (eg 128 pixels).


On a slightly seperate note - I notice there is a ssf.txt in the listgen.zuo distribution - but all the end frames are 3000? Is this on purpose?

@cdbrown:
 the filter linked above (just download and place in your virtualdub/plugins directory) will allow you to resize and maintain aspect ratio. To resize everything to have a height of 128 add these 2 lines:

VirtualDub.video.filters.Add("smart resize (1.1)");
VirtualDub.video.filters.instance[0].Config(187,128,0,4,187,128,0x000000,"1 1 1 1 128 128 100 0 0 0 0 4 4 2 2");

(if that wraps round, thats all 1 line with all those numbers)

cdbrown:
Those lines do work with the plugin but having to go this manually would be a big pain.  Also the encode rate drops by half (using game 005 from 19kbps to 9kbps) is that part of the filter command?  Ends up causing the the output to be blurry

Silver:
Ah the blurryness is because its bilinear or bicubic filtering.

Config(187,128,0,4....

Change the "4" above to be one of:

0 Nearest Neighbour
1 Bilinear
2 Bicubic
3 Precise Bilinear
4 Precise Bicubic

0 should be faster and not blurry.

Any kind of filtering will add some overhead. There is an assembly optimised 2:1 reduction inbuilt in Vdub, but there will be an overhead for custom resolution changes.

@Buddabing

I had forgotton about the moviesquare option. Presumbly you already have the ability to change the output res? Obviously using that means having the code in your mame build, not all in an external program, but I lost track of whether that was a good thing or not....

Buddabing:

--- Quote from: Silver on September 27, 2005, 11:59:25 pm ---Look like -movievideo 4 was the option, and it will look for a file vcodec.dat.

Buddabing, currently you import:

VirtualDub.video.SetCompression
VirtualDub.video.SetCompData

from the vcodec.dat. If you are interested in adding support for filters (eg resize) then all you need to do is change the import so that it imports an extra couple of lines.

This is what we currently have in the vdb file:

VirtualDub.video.SetCompression
VirtualDub.video.SetCompData
VirtualDub.video.filters.Clear();
VirtualDub.audio.filters.Clear();

With a filter we want:

VirtualDub.video.SetCompression
VirtualDub.video.SetCompData
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[0].Config(128,128,2);
VirtualDub.audio.filters.Clear();

So the 2 extra lines to import must go after the:

VirtualDub.video.filters.Clear();

Is that doable?

EDIT: Just to clarify, I can put the filters in the vcodec.dat now, but if I do that, the next line that buddamame places after them is:

VirtualDub.video.filters.Clear();

which clears the filters. I can include that line in vcodec.dat, so all you need to do is remove the above line when movievideo 4 is selected....

--- End quote ---

The moviesquare option puts the following into the vdb file:

--- Code: ---VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[0].Config(256,256,1);

--- End code ---

Please check to see if moving the Clear() line  to right after the SetRange() statement will work right.

I can also make the -moviesquare option take the parameter as the size instead of just using 256. So the MAME parameter would be -moviesquare 128 or -moviesquare 256. Moviesquaree 0 would clear it. I probably should have done that in the first place.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version