I wonder if the problem with my x264 encode had more to do with the old version of x264 -- 0.65.1061 according to the --version report. I tried changing the settings to more closely match PDR's. At CRF 20 the file was a few percent smaller and looked pretty much the same. At 2-pass VBR 3000 the file was a little bigger (slightly higher bitrate than the CRF encode) but still looked about the same.
+ Reply to Thread
Results 91 to 120 of 203
-
-
jagabo: Maybe you could screenshot the same frame for a comparison? Even if it isn't exact, we'll be able to see the level of grain/detail preserved. My current Windows installation is completely messed in terms of codecs so I can't do it myself.
So I guess we're waiting for deadrats to post encodes of his Pioneer demo clip? Are we going to go ahead and compare the Mainconcept, Sorenson, and Apple encodes? -
Originally Posted by creamyhorror
But I can tell you after 100's of tests on different sources, x264 performs better than any of those encoders you've mentioned at any bitrate range if you use proper settings. I've posted several comparison threads if you search, and many others have as well. Search the Doom9 forums as well. I have yet to find and example where it performs consistently worse, I'm still looking. Remember I used to hate x264 a few years ago, largely because it oversmoothed; I was skeptical at first, but it really has developed into a very nice, configurable encoder.
But please don't believe me or what others say - You really have to do these comparisons for yourself to see it for your own eyes, on your own learning journey - it's simply that much better. And if you do find that scenario where x264 performs significantly worse as some people say (but never provide any proof), post the source, settings used, and your workflow. It might be something as simple as user error, and if not, at the very least we can help improve the encoder -
Originally Posted by poisondeathray
But I can tell you after 100's of tests on different sources, x264 performs better than any of those encoders you've mentioned at any bitrate range if you use proper settings. I've posted several comparison threads if you search, and many others have as well. Search the Doom9 forums as well. I have yet to find and example where it performs consistently worse, I'm still looking. Remember I used to hate x264 a few years ago, largely because it oversmoothed; I was skeptical at first, but it really has developed into a very nice, configurable encoder. -
Originally Posted by creamyhorror
I already did the full 1280x720 with Divx h.264, and posted a screenshot - that was back on page 2 (before it was decided to resize to 960x544). If you want, I can post the same encode using proper settings with Mainconcept Reference, Apple h.264 ? I can tell you ahead of time (having used these so often), what the results will be...
I did an r1061 encode. Here is the same frame , cropped, same colormatrix as the cropped examples above. I honestly don't know why jagabo is getting those results with his revised settings. Maybe the GUI he mentioned he was using is outdated (I've never heard of it before) and not passing things through correctly? Do you get the same results with command line jagabo? But looking at the other frames, you can tell the more recent version is slightly better on most of frames - again the differences are tiny on most frames, and not observable at realtime
x264 r1061
-
My original bad result for that particular frame seems to be mostly from using CRF mode and the old encoder. Simply changing to 2-pass VBR cleaned up a lot of the posterization and restored a lot of the grain.
x264gui generated this command line for the CRF 20 encode:
Code:@x264.exe --progress --no-psnr --no-ssim --cqm flat --mixed-refs --scenecut 40 -I 250 -i 25 --sar 1:1 --threads auto --nr 0 -f -2:-1 -b 5 --direct "none" --b-adapt 1 --b-bias 0 --b-pyramid -w --deadzone-inter 21 --deadzone-intra 11 --aq-mode 1 --aq-strength 1 --chroma-qp-offset 0 --direct-8x8 1 --level 4.1 --psy-rd 1.0:0.0 --crf 20 --8x8dct -A p8x8,b8x8,i8x8,i4x4 -m 7 --me umh --merange 16 --qpmin 10 --qpmax 51 --qpstep 4 --qcomp 0.600000 --ipratio 1.400000 --pbratio 1.300000 --vbv-init 0.9 --vbv-maxrate 24000 -r 8 -t 1 -o "G:\lagarith.mp4" "G:\lagarith.avs" 2>&1|lputs.exe "G:\Program Files\x264gui\log\lagarith.avs.txt"
-
ok, after a couple of more encodes i have come to the following conclusions:
1) i really hate tmpg express with a passion. i don't know what the hell is wrong with this app but i set it up to do a 2 pass encode with a specific target bit rate and often the resulting bit rate is way off.
2) tmpg express is slow beyond belief, doing a 2 pass 2500 kbps vc-1 encode of a 9 min 16 sec clip took over 2 hours and 40 minutes, to put that performance into perspective if performance scaled with cores my e7400 i would need to 17 dual core processors or a 34 core single cpu to do roughly real time vc-1 encoding.
3) i hate badaboom, i never realized how crappy the encodes it produces really were.
4) it's an absolute waste of time to transcode a file from one format to another. when you consider the amount of time it takes to transcode and the fact that under ideal circumstances the best you can hope for is to produce a file almost as good as the original, you are better off buying another hard drive. really what's the point of taking a pristine 1080i file and transcoding it to a smaller size when for $100 you can just pick up a 1.5tb hdd and simply keep the original?
regardless, here's the 2 test clips i did using tmpg express, one is vc-1 and one is main concept's h264:
http://www.sendspace.com/file/46f2vw
http://www.sendspace.com/file/e0gi63 -
Originally Posted by jagabo
Another difference is you used a DXVA mode with VBV, which potentially hurts quality (it never helps, it can only hurt - if you are not encoding for device compliance or a specific target, it shouldn't be used). vbv and crf never quite worked well together properly (you'd get buffer over or underruns), the only 100% sure method was to use 2pass for DXVA compliant encodes. There have been several fixes to VBV since r1061, and the commits this week supposedly even make it work in crf mode properly which is an absolutely amazing feat. This means things like realtime streaming with proper vbv are possible. This is because one of the developers works for Avail who actually uses x264 for their broadcast technology -
Originally Posted by deadrats
There are some scenarios where you might encode: e.g. encoding for flash, websites, making camcorder home movies like blu-rays or BD5/9. All of these have a fixed capacity scenario, so finding efficient encoders is important -
Originally Posted by deadrats
Originally Posted by deadrats
Originally Posted by deadrats
Originally Posted by deadrats -
Originally Posted by jagabo
-
I did a bunch of test encodes at various settings and came to the conclusion that the difference between jagabo's and PDR's screenshots comes from x264 allocating bits to that frame quite differently.
I made two encodes with identical settings, except that one was 2-pass and the other was CRF. The final bitrates were the same. Take a look at this frame:
Commandlines
You'll see that the mean quantizations and coded sizes are quite different. x264 allocated bits quite differently in these two cases, just like PDR said in an earlier message. I checked the surrounding frames in both encodes, and both had an identical sequence of frametypes - however, the coded size for the CRF was smaller (and quantization higher) for many of the frames.
When I compared random other shots in the encodes, they didn't appear to be differ much.
I'm not sure what to make of this...is 2-pass making a better decision than CRF in this case? What's being traded off? Did CRF mess up somehow?
edit: all I could get from Dark Shikari was that CRF and 2-pass use different metrics in distributing quality, though with mbtree on there shouldn't be as much of a difference. Guess it's just one of those things. -
Which version of jagabo's encode, and which x264 version are you referring to?
Do your screenshots and commandlines refer to the same x264 version? ie. you're just comparing 2pass vs. crf on the same x264 revision?
If so, what was you final bitrate or filesize for the crf encode? If it doesn't match the 2pass version, they are not comparable (you might have to do several runs eg. maybe crf 19.1 , 19.5, etc... until they match) -
Commandlines, screenshots were all done by the same revision (1817), by me. As I said, I matched the bitrates (by doing several runs):
2-pass
Overall bit rate : 2995 Kbps
Writing library : x264 core 68 r1183M f21daff
Encoding settings : cabac=1 / ref=8 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=0 / mbaff=0 / bframes=6 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Filesize: 11,360 KB
SSIM: ~0.98776
CRF
Overall bit rate : 3019 Kbps
Writing library : x264 core 68 r1183M f21daff
Encoding settings : cabac=1 / ref=8 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=0 / mbaff=0 / bframes=6 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=crf / crf=18.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Filesize: 11,453 KB
SSIM: ~0.986, need to check -
Originally Posted by creamyhorror
-
Originally Posted by deadrats
Originally Posted by deadrats
Originally Posted by poisondeathray
I'll try to get the Pioneer clip and deinterlace it, unless you want to, jagabo. If I deinterlace it should I use nnedi2 or a bobber?
edit: That demo is really long at 9min. I suggest cutting a segment or two of it. -
Originally Posted by creamyhorror
We haven't tested DivX 7 either.
Apple h.264 is limited to AVC Main, (no I8x8 or CQMs), and forces Apple's own custom color matrix. The color coefficients and equations do not match any known standard and you can't get around this, this has been discussed in several forums before. It's also difficult to use on Windows, because you can't frameserve and it only accepts .mov wrapped videos. So often what I've ended up doing in the past is converting it to a lossless .mov just for the Apple test.
I'll try to get the Pioneer clip and deinterlace it, unless you want to, jagabo. If I deinterlace it should I use nnedi2 or a bobber?
edit: That demo is really long at 9min. I suggest cutting a segment or two of it.
I found links to that clip (not my links), and the original can be found here
http://www.whereweget.com/2007/12/05/pyipioneer-hd-1.4gb-demo.html
I prepared a test clip, 1001frames, 960x544, encoded with FFV1 (It's a lossless codec, comes with ffdshow, but slightly more compressed for YV12 clips than lagarith). 275MB, no audio. It was deinterlaced with yadif, resized with lanczos. The frame numbers correspond to 2100-3100 in the original clip. The original clip is pretty average quality, what you would typically get from a consumer level camcorder (19Mbps MPEG2), and there is pixellation in some of the scenes, e.g. with moving water, in the pool, etc... For this test clip, I tried not to use those scenes with alot of pixellation (but there still is a tiny bit), but I used no processing (like deblocking filters, etc.). So if you want, you can use the same parameters as deadrats suggested: 2500kbps, no filters (to be consistent), or anything else you decide. If you want another section cut , or other specifications let me know and I can prepare a different clip.
(And yes, I included PG scenes with deadrats' purty girlfriend)
http://www.megaupload.com/?d=Q743FWBC -
Originally Posted by poisondeathray
Apple h.264 is limited to AVC Main, (no I8x8 or CQMs), and forces Apple's own custom color matrix. The color coefficients and equations do not match any known standard and you can't get around this, this has been discussed in several forums before.
It's also difficult to use on Windows, because you can't frameserve and it only accepts .mov wrapped videos. So often what I've ended up doing in the past is converting it to a lossless .mov just for the Apple test.
Thanks for preparing the test clip, I also downloaded the source but I guess you've handled it.
deadrats/puzzler/anyone, think you want to have a go at the clip? -
I just got around to viewing deadrats' MainConcept h.264 encoded "bikini" video. Is it just my system or is this video completely screwed up? About the time you get to the bikini shot there is a strobing of low extra low quality about once a second.
PDR's FFV1 source (VirtualDub):
Same frame from DR's version (AviDemux):
Next frame from DR's version (AviDemux):
Levels differences may be because of the different decoders. -
OK I looked at his MC video. He used poor settings, so it's not representative of MC's potential
1) No b frames. Major loss of efficiency
2) 1 reference frame. Major loss of efficiency
3) Short GOP. Major loss of efficiency, especially on this type of material. He used a max GOP size of 33 (which is the MC's default). This is different material than typical trailers with lots of transitions. There's slow pans, and few scene changes. You can gain lots of efficiency by upping the interval and filling them with B and P's
The strobing occurs exactly on I-P transitions. The "worse" frames are actually low quality I frames, this progressively worsens, as the low quality I frames serve as reference for following P's. The "weight" of I frames are typically higher than others (they should look like peaks), but since his other settings were so bad, they were cut down to fit the bitrate constraints.
Anyways, I suggest maybe doing some tests at a range, maybe 2.5, 3, 3.5 Mbps. He originally suggested 2.5Mbps, but his encode was done at 2Mbps. I did some tests and 2.5Mbps is fairly low for this sequence, and shows the differences quite easily. The key concept here is, I repeat, test using decent settings. If you handicapp the encoder, you can't draw any proper conclusions from that -
Originally Posted by jagabo
You can use ffdshow's osd , like creamyhorror showed in a post above, it shows frametype and allocation for each frame
I use Elecard Streameye. It's not free, but if you're serious into this type of stuff, it's a great tool, and provides more information than the ffdshow osd.
deadrat's distribution. Not there is hardly any fluctation. It's a CBR video.
a more "typical" 33 GOP size distribution (done on the FFV1 video with MCR)
-
-
Originally Posted by creamyhorror
-
Yes, thx jagabo , I meant just for scrubbing & visual comparison of frames
For anyone else reading who doesn't use AvsP , it's a great tool because you can quickly compare between encodes by tabs, and switching tabs by hitting the number keys. The only "quirk" is you have to set it up correctly so each video is decoded with frame accuracy and have the same #of frames. So this means DirectShowSource() is usually out of the question.
Another useful method is to Interleave() in avisynth, and you can use a tiny transparent overlay using Overlay() to label each video. Temporal changes are easier to spot with this method
On very similar encodes, you can use difference masks visualize the differences. So 100% perfect lossless qualilty would look black, but differences show up as non black. This is essentially what the objective PSNR testing does, when averaging the results and spitting out a number. But it's sometimes nicer to visualize where the compression losses /artifacts are occurring
It looks more and more like this comparison isn't going to happen
Similar Threads
-
High Quality Encoding AVI -> MPEG2
By vl0001 in forum MacReplies: 2Last Post: 21st Jan 2012, 08:40 -
Encoding WAV and M2V to AVI [high quality]
By duudo in forum Newbie / General discussionsReplies: 2Last Post: 28th Feb 2009, 05:57 -
Tutorial on encoding for YouTube high quality - feedback requested
By webvideopro in forum Video Streaming DownloadingReplies: 8Last Post: 24th Sep 2008, 08:19 -
h264 and xvid encoding for: near-lossless and high quality ?
By vhelp in forum Video ConversionReplies: 10Last Post: 14th Sep 2008, 15:31 -
Encoding RM to AVI (high Quality)
By hzgg2 in forum Video ConversionReplies: 2Last Post: 22nd Apr 2008, 14:11