<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7036.0">
<TITLE>Mpeg ps test results</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Arial">Latest transcode.c.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">If I start VLC with --sout-transcode-fps 25, vlc apparently is outputting a frame_rate_code corresponding to 25. The resulting .mpg files produced are OK when checked with ProjectX, and also with the mjpegtools (able to use DVD authoring software that relies on varies open-source tools to demux the VLC stream, then reencode it).</FONT></P>
<P><FONT SIZE=2 FACE="Arial">If I start VLC with a --sout-transcode-fps either greater than (say 29.97), or less than (say, 20.0) the actual 25 fps being used to generate the PTS, the transcode is truly messed up. I can see VLC moving very rapidly through the source file, definitely too fast to be doing video transcoding. The output file size is small, also shows no video. Finally, ProjectX also reports no video found.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">I did a search for "25" in the VLC trunk, against .h and .c files. It looks like:</FONT>
<BR><FONT SIZE=2 FACE="Arial">src/misc/image.c modules/stream_out/transcode.c mux/avi.c modules/codec/dmo.c modules/codec/rawvideo.c modules/codec/theora.c </FONT></P>
<P><FONT SIZE=2 FACE="Arial">Are the only locations with a hard-code of 25 fps.</FONT>
</P>
<P><FONT SIZE=2 FACE="Arial">I am not saying that all of the files have incorrect logic by any means, just that a correction might need to look at all of them, to see if it applies.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">There's absolutely nothing wrong if VLC chooses to implement 25 fps as the default --sout-transcode-fps. However, the code right now has a bug. If I have a source file encoded at 29.97, and I choose to specify --sout-transcode-fps 29.97, I should get an output file with video, that's encoded with a PTS based on 29.97, and with a system header reporting 29.97.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">Similarly, if I have a source file that's starting at 29.97, and I choose to specify --sout-transcode-fps 25.0, I should be able to get a successfully-transcoded 25 fps .mpg. I definitely shouldn't have a .mpg with no video at all.</FONT></P>
<P><FONT SIZE=2 FACE="Arial">Anyhow, that's where things stand. If someone smart on transcoding and frame rate could please take a look at those six files, make a change that results in consistent output (reported frame_rate_code matching what is used to generate PTS), it would be great. Otherwise, VLC should hardcode the --sout-transcode-fps at 25.0 internally, else at least update the descriptive note for it to state that anything other than 25 fps should only be used for TS, that would work (far less desirable choices).</FONT></P>
<P><FONT SIZE=2 FACE="Arial">I hope this helps, and thanks, gibalou, for suggesting the test of not transcoding, just remuxing. Your fix on CPU use during file-file transcodes sure made my life easier, doing the multiple file-file transcodes to check this out :)</FONT></P>
</BODY>
</HTML>