Rank: 60 based on 560 downloads (last 30 days) and 2 files submitted
photo

David Foti

E-mail
Company/University
The MathWorks, Inc.

Personal Profile:
Professional Interests:

 

Watch this Author's files

 

Files Posted by David View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
07 Jan 2010 mpgread The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti mpeg, convert, graphics import, graphics export, movie, utilities 83 36
  • 4.0
4.0 | 16 ratings
07 Jan 2010 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti movie, convert, mpeg, graphics import, graphics export, utilities 477 97
  • 4.06944
4.1 | 73 ratings
Comments and Ratings on David's Files View all
Updated File Comment by Comments Rating
19 Jan 2012 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti Julia

Seems to work so far. Just wanted to say I'm running Windows and was having the same trouble as many people, but Andrea's detailed advice on installing and using Visual Studio as a compiler made all the difference.

I'm copy-pasting the key part from the website Andrea linked, even though it's long, since this was the key part for me.
http://grantnz.blogspot.com/2010/07/compiling-matlab-mpgwrite-with-vs2010.html

Compiling Matlab mpgwrite with VS2010 for 64 bit Windows
I was having trouble producing Matlab movies of reasonable quality on my 64 bit Windows 7 laptop until I was able to compile and run mpgwrite (source available from Matlab Central http://www.mathworks.com/matlabcentral/fileexchange/309-mpgwrite).

It wasn't obvious how to get this to compile and run so in case someone else would like to do this I've documented what I did:

1. Ensure Visual Studio 2010 installation includes the "X64 Compilers and Tools" (and option under the Visual C++ feature in the Visual Studio 2010 installer).

2. Configure the mex script for VS2010.
Matlab R2009b and earlier doesn't directly support Visual Studio 2010 but you can still use it by running
mex -setup
from Matlab.
a. Answer n to the first question (Would you like mex to locate installed compilers [y]/n? )
b. Select "Microsoft Visual C++ 2008 SP1 " (option 5)
c. The script will output:
The default location for Microsoft Visual C++ 2008 SP1 compilers is
C:\Program Files (x86)\Microsoft Visual Studio 9.0,
but that directory does not exist on this machine.
Use C:\Program Files (x86)\Microsoft Visual Studio 9.0 anyway [y]/n?

Answer n
d. Locate your Visual Studio 2010 installation folder and enter this in response to the next question. Visual Studio 2010 was probably installed to C:\Program Files (x86)\Microsoft Visual Studio 10.0
e. Finally, you will be asked to confirm the settings and Matlab will create a file mexopts.bat with the configuration information.

3. From Microsoft Visual Studio 2010\Visual Studio Tools open "Visual Studio x64 Win64 Command prompt (2010)".

4. Change to the src folder of the downloaded the mpgwrite source code using the "cd" command.

5. Edit the file makefile and replace $(MCC) $(MCFLAGS) after the call to mex with
-v -DWIN32
That is, your makefile should contain:

mpgread:
mex -v -DWIN32 mpgwrite.c mfwddct.c \
postdct.c huff.c bitio.c mheaders.c iframe.c \
pframe.c bframe.c psearch.c bsearch.c block.c \
mpeg.c subsampl.c jrevdct.c frame.c fsize.c

5. Run
nmake -f makefile

6. This should generate the file
mpgwrite.mexw64
Copy this file to a folder on the matlab path.

You should now be able to generate mpeg movies from matlab.

05 Jan 2012 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti Amir

To Dan Massie (03 Nov 2011) : the problem you noticed is due to the limitations of getframe command ( see http://www.mathworks.com/help/techdoc/ref/getframe.html ), and has nothing to do with mpgwrite.

14 Dec 2011 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti Wang, Yuanye

Super! Just unzip and it runs!

14 Dec 2011 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti Wang, Yuanye
04 Nov 2011 mpgread The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti Rami

Hi David, Thanks for nice program. I am using this as follow:
mpg_mov= mpgread('tumor1.mpg','indexed');
video = {mpg_mov.cdata}

Got error "??? Attempt to reference field of non-structure array."

Could you please help me resolve this problem. What alternative I should you to get cdata? Thanks

Top Tags Applied by David
convert, graphics export, graphics import, movie, mpeg
Files Tagged by David View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
07 Jan 2010 mpgread The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti mpeg, convert, graphics import, graphics export, movie, utilities 83 36
  • 4.0
4.0 | 16 ratings
07 Jan 2010 mpgwrite The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file. Author: David Foti movie, convert, mpeg, graphics import, graphics export, utilities 477 97
  • 4.06944
4.1 | 73 ratings

Contact us at files@mathworks.com