View Full Version : Thanks AVISynth & XviD team
(note: this concerns both AVISynth and XviD but I won't cross-post, therefore it is here.)
Yay, so I finally got this thing finished :).
I just did "my own" version of the Matrix Reloaded Trailer, just to test some things a bit. Proof-of-concept: I can do things with free tools better than professional tools :p.
In other words that is: "i pwnz0rz quicktime" :D
I tested upsizing without losing sharpness, and tested XviD's compression (and modern CPUs in decompressing it) on insane sizes :). All filtering was done in AVISynth YV12 (hurray!), and the in-between-steps were done in VBLE.
Original Quicktime at 1000x540px: 97MB :rolleyes:
My XviD (with Ogg) at 1600x864: 98MB :p
You can download it here (http://members.netmadeira.com/carlos.santos/The.Matrix.Reloaded.Trailer.(1600x864.XviD+Ogg).ogm).
I can play it realtime on an Athlon XP 2000+ without postprocessing, please report if you can play it on a less-beefy CPU :). And please report if you CAN play it realtime with postprocessing.
All the thanks go to: AVISynth team for AVIsynth, neuron2 for XSharpen, vlad for Conv3D, phaeron and the VDubMod team (hey that includes me :p), Marc FD for VBLE, the l33t lossless YV12 codec, Koepi for ever supplying me with up-to-date builds ;), the rest of the XviD team for such a leetass codec, the guys who made The Matrix Reloaded, and SHARRO! for hosting the collossal file!
I bet there are enough people who would doubt the usefulness of this thread, but hey, there's worse things on the forum ;D.
Post your comments :).
sh0dan
17th April 2003, 22:25
Just for curiosity, would you mind posting the workflow, or scripts and XviD settings?
Looks good - a bit blocky at times, but "in motion" they are hardly noticeable.
Sharro
17th April 2003, 23:14
Lo!
p4 1.8A 512mb ddr 266
geforce2gts
ATA100 7200rpm HD (not defragmented for a loooongggg time)
Win XP Pro
Display 19" 1280x1024
BsPlayer:
libavcodec - quite close to realtime, 100% cpu usage, a decoder lag here and there (each 4 secs maybe), "audible" but not "visible".
xvid.dll - b-frame decoder lag message. Forum reading maybe? :-))
Zoomplayer:
libavcodec - heavy ... more lags. Each 2 seconds. Again visualy was almost unoticeable.
xvid.dll - no b-frame decoder lag. Lags almost each 1 sec.
@edit: Don't be offended B Gates. I forgot WMplayer9...or better...my cpu forgot... looonnnngg laggssssss with either libavcodec or xvid.dll
My conclusion:
WORK CPU!!! Or I spank U :-)
libavcodec with a light player seems to almost take my cpu "there". If it was not for audio jumps I wouldn't notice anything.
Ahhh I forgot to say: Looooksss (See for yourself)!
Thanks to everybody who are doing these "things" be possible and better.
All the BeSt!
Sharro
PS: Happy Easter evbdy
sungey
18th April 2003, 02:30
im using Athlon 1.4 gig ... video play good, sometimes skippy ..but audio is skippy... using xvid build 5-4-2003 umaniac ...
video looks good ... and the resolution is even higher than my monitor. Picture is sharp and good to see. good work. :)
morsa
18th April 2003, 06:55
Could you post your avisynth script, please?
To study it and learn many things.
Thank you.
Originally posted by morsa
Could you post your avisynth script, please?
To study it and learn many things.
Thank you.
( /me wonders why anyone would want to study his scripts :p )
Well, while experimenting, I accidentally overwrote the original script :o.
The script went something like this:
AddBorders(expand to mod16).BlindPP(cpu=6, quant=2).Crop(back to original size)
The above line was because I noticed that Quicktime has comparable artifacts to MPEG. The difference is hardly noticable anyway.
BicubicResize(4x target size, 0.75)
4x Xsharpen(max) :D
This has been kind of overkill but I only noticed that later (the warner bros logo is only visible at the end ;))
BicubicResize(1600, 864, 0.75)
Convolution3D(preset="MovieLQ")
That's it. Stoney complained about the video being "too smooth", which I noticed as well, so I tried encoding with blockbuster, but that messed up the whole thing.
The XviD settings are:
Quant H263
VHQ1
No Qpel, No GMC
Chroma motion
4 b-frames
Ratio 120
Threshold 50
Min I-quant 1
Max I-quant 31
Min P-quant 2
Max P-quant 31
Max Bitrate 9999
Chroma optimizer
Ogg audio was encoded at q=4.
Originally posted by sh0dan
Looks good - a bit blocky at times, but "in motion" they are hardly noticeable.
I looked at the "Burly Brawl" scene with postprocessing on, and even paused it looks good. The only problem is that I can't play it fluidly with postprocessing :D.
TNM
18th April 2003, 10:10
Lol...P3 800mhz with 4200rpm hdd can still playback it but of course very very jerky :sly:
Anyway, nice encoding, the video quality looks pretty good :)
morsa
18th April 2003, 12:48
Nice, I thought you were using Lanczos for resizing.
Remember I'm learning Avisynth, I'm just an advanced Vdub user.
A question:What would happen if I perform this operations under Vdub and stay all the way under RGB, will I get better resize quality (I mean most of all color quality)?
Thank you MF.
Originally posted by morsa
Nice, I thought you were using Lanczos for resizing.
Remember I'm learning Avisynth, I'm just an advanced Vdub user.
A question:What would happen if I perform this operations under Vdub and stay all the way under RGB, will I get better resize quality (I mean most of all color quality)?
Thank you MF.
Lanczos is way too slow for an already turtle-paced operation. It would probably be better, but I had below 1fps (vdub couldn't measure it, it displayed 0.0fps most of the time). Using RGB will only be slow because the native YV12 resize in AVS scales the chroma seperately from the luma, meaning the best interpolation is achieved. If you wanted to process in Vdub you would probably get loads of chroma subsampling artifacts, because YV12->RGB doesn't interpolate the chroma but just resizes them normally. You would need InterpolateToRGB32() (which I designed for the purpose of RGB processing, but I haven't been able to create an universal AVS function yet), but even then you'd get inaccurate interpolation. So really there's no point. And btw: I'm also new to AVISynth :).
Ohyeah, btw, to neuron2: What was wrong with that smiley after the subject?
morsa
19th April 2003, 23:20
So there is no way up to now to get decent artifact free colors from a YU12 source under RGB?
I-ve made a heavy filtering to compensate for this problems but I thought there were a better way.
What happens if I take every color layer (360x288 for a 720x576 source) and interpolate it to 720x576 using Lanczos and adding a small amount of blur? Will this work?
Remember I'm not talking about compressing this rgb image back to YU12
Guest
20th April 2003, 02:29
Originally posted by mf
Oh yeah, btw, to neuron2: What was wrong with that smiley after the subject? The forum rules disallow using special characters in titles. They don't render correctly anyways. It's not my intent to be heavy-handed, but I like nice clean subjects with everything spelled right. Hope you don't object too strongly. :)
Originally posted by morsa
So there is no way up to now to get decent artifact free colors from a YU12 source under RGB?
I-ve made a heavy filtering to compensate for this problems but I thought there were a better way.
What happens if I take every color layer (360x288 for a 720x576 source) and interpolate it to 720x576 using Lanczos and adding a small amount of blur? Will this work?
Remember I'm not talking about compressing this rgb image back to YU12
My InterpolateToRGB32() basically does this:
PointResize(double of clip size)
MergeChroma(ConvertToRGB32().BicubicResize(half of clip size).BicubicResize(clip size) \
.PointResize(double of clip size).ConvertToYUY2().ConvertToYV12())
ConvertToRGB32()
PointResize(clip size)
That should fix any chroma subsampling problems in RGB32.
Originally posted by neuron2
The forum rules disallow using special characters in titles. They don't render correctly anyways. It's not my intent to be heavy-handed, but I like nice clean subjects with everything spelled right. Hope you don't object too strongly. :)
Point taken, no objection :).
sh0dan
20th April 2003, 16:21
You should get better chroma interpolation in the latest CVS builds, when doing YV12 <-> RGB. We now avoid using the XviD conversion routines.
Originally posted by sh0dan
You should get better chroma interpolation in the latest CVS builds, when doing YV12 <-> RGB. We now avoid using the XviD conversion routines.
Interpolation meaning no staircase chroma anymore? Cause I think there is a valid use for staircase chroma. If you have to do more than 1 colorspace conversion your chroma will end up semi-destroyed, and my InterpolateToRGB32() was really only meant for YV12->RGB32, and not YV12->RGB32->YV12, because that messes up.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.