Log in

View Full Version : x264 w/ 3:2 pulldown and hrd


Pages : 1 2 3 [4]

Sagittaire
12th September 2007, 17:55
ugh.. cause patching is a pain. have to do alot by hand (patch.exe didnt like the new motion search patches.. some patches edit the same info.. etc) . Besides, the only real changes were in 674/675 and those were vbv related where the current vbv options are sufficient for hd . I'll redo them w/latest 675 later..

i'll diff out the differences of 675 from 669 and patch my patched file :)

I fact like I say the current Rate Control work very bad with vbv compliancy if average bitrate is close to max bitrate in multipass mode. x264_2pass_vbv.diff produce a very improved Rate Control in multipass mode.

Trahald
12th September 2007, 19:12
Ok 675a_pulldown is available.. pulldown patch wise it is the same as 669i. only difference is its up to date on x264 changes and has a bunch of patches. including 2pass vbv update.

Trahald
18th September 2007, 22:08
Just an fyi.. i think this is known but just in case... B-pyramid is NOT available for HDDVD standard content. b-pyramid is only usable for bluray with 3 b-frames where pulldown isnt required. (h264info intended only for hddvd pulldown)

3-b-frame/b-pyramid with hddvd may be an option on advanced content. havent been able to check that.

dattrax
19th September 2007, 22:44
Is the patch source still valid on the web site? I've used it to fix the problem that interlaced coding never worked properly as the SEI block was missing for tff/bff. I want to post my slight mods back, but if there is a newer version then it will be out of sync.

Jim

Trahald
20th September 2007, 21:04
i just put up the diff (4) that is used for 675. the only difference between it and the patch that was up prior to today is the trailing bits fix.

lemme shoot you another pm.

dattrax
21st September 2007, 23:32
Thanks for that. I've tested my patch to your patch on the HD-E1 and interlace coding works perfectly now. basically if you select --interlace you get --nal-hrd + the correct pic_struct to support the field order --interlace gives you tff which is also supported by an alias (--tff) and if you say --bff then you get the opposite.

Thanks for your hard work... We can now do pulldown and interlace on HD-DVD standard

dattrax
23rd September 2007, 17:27
Here's your patch back with the interlace modes fixed. x264 always created frame pictures even when --interlace was selected, so didn't ever work in a standalone decoder.

As I mentioned --tff on the command line causes --nal-hrd + --interlace + the correct signalling in the SEI block. --bff has the same effect but with different field order.

I have tested on my HD-E1. works flawlessly

Jim

morph166955
23rd September 2007, 17:31
http://www.benswebs.com/x264_thread_pool.04a.r670.diff

Thread pool patch was updated to r678 and moved to http://www.benswebs.com/public/x264/x264_thread_pool.04b.r678.diff

stevencday
14th November 2007, 00:19
Can I do pulldown using x264 for a 23.976 720p stream? I am trying to get away from using h264info for the pulldown and I am intending on making an HD-DVD compliant 720p stream... Help!

lazyn00b
14th November 2007, 03:35
Hi, I'm also having problems with 720p. Here is my (2nd pass) command line:

"C:\Program Files\x264_675a_pulldown\x264.exe" --pass 2 --bitrate 4000 --stats "D:\Projects\Trailers\ial720p.stats" --level 4.1 --keyint 12 --min-keyint 2 --ref 2 --mixed-refs --no-fast-pskip --bframes 2 --bime --weightb --filter -1,-1 --trellis 1 --analyse p8x8,b8x8,i4x4,i8x8 --8x8dct --vbv-bufsize 14745 --vbv-maxrate 12000 --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output "D:\Projects\Trailers\ial720p.264" "D:\Projects\Trailers\ial720p.avs" --sar 1:1 --aud --nal-hrd --pulldown 64

Notice I used --pulldown 64 to get 59.94 from a 23.976 stream; this is necessary because Scenarist only seems to accept 720p59.94. Disturbingly, Scenarist reports the time length of the stream as half what it should be. Also, when I author it and play it on my Toshiba, there is severe stuttering and audio dropouts. On the other hand, when I use a similar command line (except using --pulldown 32) for 480p or 1080p, I get perfectly smooth playback and audio sync.

Anybody have any suggestions?

dattrax
14th November 2007, 10:19
All the 59.94fps content I have (and not that much I may add) is truly 59.94 with no pulldown applied. Have you tested a 'real' 59.94fps file?

In the h264 spec the only values of pic_struct which would be valid on a progressive image are frame doubling and frame tripling. I am guessing that this patch only works for interlaced content. so to go 23.976 to 59.976 would use a combination of a value of 3/4/5/6 in the pic_struct whereas to work in progressive you would need to use 7/8 and specify an additional parameter flag at the command line to allow it to do something different.

you can't obviously get from 23.976 -> 59.94 from a multiply of 2 or 3. You would need to use ~30fps with frame doubling or 20fps with tripling.

hope this helps

Jim

lazyn00b
14th November 2007, 13:06
dattrax, I'm fairly certain that the purpose of the --pulldown 64 option is to apply pulldown to 23.976 to bring it up to 29.97 and then double the frames to bring it up further to 59.94.

My guess is that either Scenarist has some bug in dealing with such a stream or that there is something a little off in Trahald's implementation that creates some kind of timing error. I have also witnessed PowerDVD 7.3 play back these streams at double speed as some other poster has mentioned.

To answer your question, though, I have not tried authoring a "pure" 720p59.94 stream - that's a good idea.

dattrax
14th November 2007, 14:22
Like I mentioned, In the h264 spec you can use a pic_struct of 5/6 which means top,bot,top,top,bot,top,

If you are going back to basics though then with pulldown 23 you are going from 23.976 to 29.976 and, heres the key, from progressive to interlaced. The 720P mode is a progressive mode, so if you tried to do a pic_struct of 5/6 then you would receive a 720i file with effective 360 lines per field. I'm not sure if HDDVD was ever designed to run like that.

I'll have a look at the patch when I get home from work as I am fairly familiar with it to see what pic_struct it is using in the case of 64.

From the h264 spec

NOTE - Frame doubling can facilitate the display, for example, of 25p video on a 50p display and 29.97p video on a 59.94p display. Using frame doubling and frame tripling in combination on every other frame can facilitate the display of 23.98p video on a 59.94p display.

I guess I need to check what it does.

Jim

Trahald
19th November 2007, 03:04
pulldown 64 does doubling / tripling (using it for 59.94 pulldown is in the avc spec sheet). problem is scenarist sc doesnt do well with it. i havent produced a good stream with that setting... but then i havent produced a stream with cinevision @ 59.94 using its own trip/doub pulldown that works with scenarist either. im inclined to thing scenarist sc's support for that mode is broken. or it could be cinevision is broken and i shouldnt be mimicking it. only reason i think its scenarist b/c different versions of cinevision output (59.94 internal pulldown) fed to scenarist sc fail (produce skippy streams or fail to mux completely)

Trahald
19th November 2007, 03:10
BTW... Real world keeping me from coding... will try to get to the promised changes soon

Vivo
19th November 2007, 20:56
Excuse me for being a newbie on this subject.
but can i use MEgui for this process? or how exactly do i go from having a avi/mpeg/etc.. to create a HD-dvd or BD-dvd compliant file with this x264?
we are not all Encode gurus soo any help is appriciated
maby a small tutorial if anyone would like to create one.
would be really greatfull.
thanks for any help on this!

Chefkoch_ico
23rd November 2007, 13:17
Hi!

I am planning to upgrade my system from dual core to quad core.

I think I read somewhere here, that the "HD-DVD"-x264 versions donīt work properly in some way.

Is there a workaround (i.e. use less threads [how much?]), or was this already fixed?

Greetings

dattrax
24th November 2007, 15:50
I've not had any problem with making HD-DVD compatible files.

As long as you stick to the constraints of HD-DVD you should be OK.

Jim

bob0r
3rd February 2008, 16:19
Here's your patch back with the interlace modes fixed. x264 always created frame pictures even when --interlace was selected, so didn't ever work in a standalone decoder.

As I mentioned --tff on the command line causes --nal-hrd + --interlace + the correct signalling in the SEI block. --bff has the same effect but with different field order.

I have tested on my HD-E1. works flawlessly

Jim

x264.736.modified.02.exe (http://files.x264.nl/x264.736.modified.02.exe)

General thread:
http://forum.doom9.org/showthread.php?t=130364

x264_aq_var.48.diff
http://forum.doom9.org/showthread.php?t=132760
x264.gaussian.cplxblur.01.diff
Dark Shikari: - gaussian cplxblur: gives a tiny improvement in 2pass ratecontrol
x264_me-prepass_DeathTheSheep.01.diff
http://forum.doom9.org/showthread.php?p=1093523
x264_2pass_vbv.4.MatMaul.diff
http://mailman.videolan.org/pipermail/x264-devel/2008-January/004015.html
x264_hrd_pulldown.04_interlace.diff
- HRD and pulldown for HD compatibility, updated patch for interlacing
http://forum.doom9.org/showthread.php?p=1047919#post1047919

woah!
5th February 2008, 09:31
x264.736.modified.02.exe (http://files.x264.nl/x264.736.modified.02.exe)

General thread:
http://forum.doom9.org/showthread.php?t=130364

x264_aq_var.48.diff
http://forum.doom9.org/showthread.php?t=132760
x264.gaussian.cplxblur.01.diff
Dark Shikari: - gaussian cplxblur: gives a tiny improvement in 2pass ratecontrol
x264_me-prepass_DeathTheSheep.01.diff
http://forum.doom9.org/showthread.php?p=1093523
x264_2pass_vbv.4.MatMaul.diff
http://mailman.videolan.org/pipermail/x264-devel/2008-January/004015.html
x264_hrd_pulldown.04_interlace.diff
- HRD and pulldown for HD compatibility, updated patch for interlacing
http://forum.doom9.org/showthread.php?p=1047919#post1047919

thx for this build, but i am having some weird issue with it :(

seems as soon as i use your build i get this error:

avis [error]: unsupported input format (DIB )
x264 [error]: could not open input file 'Y:\VC1.avs'

all i have is a avs script with this in it:

DirectShowSource("X:\rock.mkv" ,fps=23.976 ,audio=false)

this encodes works with only changing to an old build 682 that cef made with aq enabled, but the exact same path/settings??

any clue why that is :(

Dark Shikari
5th February 2008, 09:32
thx for this build, but i am having some weird issue with it :(

seems as soon as i use your build i get this error:

avis [error]: unsupported input format (DIB )
x264 [error]: could not open input file 'Y:\VC1.avs'

all i have is a avs script with this in it:

DirectShowSource("X:\rock.mkv" ,fps=23.976 ,audio=false)

this encodes works with only changing to an old build 682 that cef made with aq enabled, but the exact same path/settings??

any clue why that is :(It means you need to add a ConvertToYV12() onto the end of that...

woah!
5th February 2008, 09:42
thx but that didnt do it either, and i actually had that in the script aswell but didnt copy it here, my fault.

ConvertToYV12()


also the script runs fine in virtualdub so i cant debug that way either..

Dark Shikari
5th February 2008, 09:49
thx but that didnt do it either, and i actually had that in the script aswell but didnt copy it here, my fault.

ConvertToYV12()"DIB" means there's an error in the script, or its not outputting YV12 (the former implies the latter). Open it in Virtualdub or a media player to see the error.

woah!
6th February 2008, 01:20
"DIB" means there's an error in the script, or its not outputting YV12 (the former implies the latter). Open it in Virtualdub or a media player to see the error.

sorry i had to hit the sack after i wrote my reply.

so heres my issue in a somewhat more in depth post:

i have been using a cef build which uses --me-prepass and a few other patches for months now with no issues at all with anything i threw at it.

i used the same avs script which is completed below:


DirectShowSource("x:\rock.mkv" ,fps=23.976 ,audio=false).ConvertToYV12()
#Lanczos4Resize(1920,1080)
#trim(41000,43000)


now the script opens fine in mpc and virtualdub but with bob0r new build i get that error:


avis [error]: unsupported input format (DIB )
x264 [error]: could not open input file 'Y:\VC1.avs'


not changing anything except going to my old cef build it encodes perfectly? it seems i must have a bugged system by the looks of it then which could have been there for ages :(

all very weird tho as i tell it to convert to yv12 in my script, virtualdub log shows it as yv12, mpc plays it fine, but this build wont run it...

thx anyways..

woah!
6th February 2008, 03:14
ok i removed pretty much everything i had installed avisynth/ffdshow etc.. rebooted and installed the latest ffdshow from x264.nl and its now working with all versions :)

Inventive Software
6th February 2008, 03:46
The other thing to double-check is that the file name is spot-on. I've done that more times than I care to mention. ;)

LUCi5R
6th February 2008, 16:54
Which version of Scenarist exactly are you guys using?
I'm also attempting to take MKV (x264) to author an HD-DVD. So far the only commercial software I know capable of this is Scenarist.

Are there any guides/tutorials for this anywhere?

bob0r
23rd May 2008, 03:30
Here's your patch back with the interlace modes fixed. x264 always created frame pictures even when --interlace was selected, so didn't ever work in a standalone decoder.

As I mentioned --tff on the command line causes --nal-hrd + --interlace + the correct signalling in the SEI block. --bff has the same effect but with different field order.

I have tested on my HD-E1. works flawlessly

Jim


There are a few warnings when compiling, does anyone dare take a look at them?
Check here for the errors:
http://forum.doom9.org/showthread.php?p=1140746

Those warnings _could_ have a negative effect on what x264 is doing, note the extra warnings when "make fprofiled" is used.

Thanks in advance :)