|
From: Steven M. S. <sm...@2B...> - 2004-01-04 22:57:16
|
On Sun, 4 Jan 2004 ro...@ub... wrote: > How does its speed compare to yuvscaler when encoding to > similar quality (it that is possible anyway)? I have been I haven't measured it - scaling is the least cpu intense activity that's going on so that has never been the bottleneck. > yuvscaler -v 0 -O SVCD -n n > > as a filter. What would be the scaling method whose resulting > quality best aproximates to the yuvscaler call above? Hmmm, what does yuvscaler use by default? I thought it was a simple box or resample filter and that you had to specify the better 'bicubic' one with the -M BICUBIC option. > I do not know yet when a chroma space conversion is needed. You most likely do not have to worry about it unless you're using use DV data in its original 4:1:1 format. > needed. Is there a specific situation where chroma space > conversion is required? If you use either ffmpeg or smil2yuv to get 4:1:1 data then eventually that needs to be converted to 4:2:0 before going to mpeg2enc. Filtering (such as yuvdenoise for example) is best performed on the original data (before it has been converted, resampled, whatever) - thus I obtain 4:1:1 data with 'smil2yuv -i 2 inputfile.dv', do whatever filtering (yuvmedianfilter, yuvdenoise, etc) is needed and then 'y4mscaler -O chromass=420_MPEG2' just before the 'mpeg2enc' command. > Do the presets set a good scaling method? Or should I worry > about learning them to choose one? No, the scaling method still needs to be selected. A _very_ good one is "-S option=sinc:4", but another good one (perhaps better for SVCD use) is "-S option=cubicCR" > $ mplayer -noframedrop -vo yuv4mpeg -nosound -v -osdlevel 0 \ > the.two.towers.avi -sub the.two.towers.srt -subpos 78 \ > -vf expand=:504 > $ cat stream.yuv | > y4mscaler -O preset=SVCD | > mpeg2enc -v 0 -I 0 -s -f 5 -V 230 -S 800 -a 2 -F 1 -n n -4 2 -2 1 \ > -b 2800 -B 284 -q 6 -K FILE=matrix.txt -R 0 -E -11 \ > -o the.two.towers.m2v > > But y4mscaler gives the messages: > > INFO: [y4mscaler] Input Stream Header: > INFO: [y4mscaler] <<< frame size: 672x504 pixels (508032 bytes) > INFO: [y4mscaler] <<< frame rate: 239759/10000 fps (~23.975900) > INFO: [y4mscaler] <<< interlace: none/progressive > INFO: [y4mscaler] <<< sample aspect ratio: ?:? > **ERROR: [y4mscaler] Unknown norm; cannot determine SVCD format. That's probably because the input frame size doesn't match one of the NTSC sizes (Nx480). x504 is a very strange size, isn't it? NTSC would be 640x480 or so wouldn't it? Ah, I see the "-vf expand :504" in the mplayer command. Why is that present? Perhaps if that was left out things would work better. Is the data coming from a DVD? If so then do not have mplayer expand/zoom the data - leave it as 720x480 and then y4mscaler will see that it is a NTSC stream. mplayer's yuv4mpeg output does not seem to get the header fields right. That's why the sample aspect shows up as unknown "?:?". Is the data really progressive? If so then the 'interlace: none' is correct. > Adding the option "-I norm=NTSC" to the y4mscaler command line does > not help (the error message is the same from y4mscaler). That is a bit of a mystery Steven Schultz |