Log in

View Full Version : h264info alpha 0026 lite test


Pages : 1 [2] 3 4

liquidator87
24th November 2007, 20:40
Is command line supported?

Maxiuca
7th December 2007, 18:20
Would it be possible to add an option for patching the profile? (for example high->main)

buzzqw
7th December 2007, 18:32
@liquidator87

actually not.. but we never loose hope...

BHH

bond
30th December 2007, 12:20
any news? :)

XolocoTuxmaster
16th January 2008, 18:05
Trahald, could you add a pullup option, to do 29.97/59.94->23.976?

I'd also like to know if threre is a way to deinterlace without reencoding, to do 50i->25p

Trahald
17th January 2008, 01:11
Trahald, could you add a pullup option, to do 29.97/59.94->23.976? 29.97->23.976 is on the latest version (publically available but really im calling it a test version) 59.94->23.976 isnt done...but really the same thing..
I'd also like to know if threre is a way to deinterlace without reencoding, to do 50i->25p
if frames are truly stored as interlace.. i dont know of a way that exists to make them progressive w/out reencode

morpheus0815
17th January 2008, 01:34
29.97->23.976 is on the latest version (publically available but really im calling it a test version) 59.94->23.976 isnt done...but really the same thing..
if frames are truly stored as interlace.. i dont know of a way that exists to make them progressive w/out reencode

Trahald,
in addition to bonds request regarding cropping.... Can the same be done in the other direction? Meaning to make an 1280x720 stream out of a 1280x544 source? Since I'm using the files to create an AVCHD I could get around re-encoding existing 1280x544 movies, if it where possible!

Trahald
17th January 2008, 01:48
Trahald,
in addition to bonds request regarding cropping.... Can the same be done in the other direction? Meaning to make an 1280x720 stream out of a 1280x544 source? Since I'm using the files to create an AVCHD I could get around re-encoding existing 1280x544 movies, if it where possible!

hah.... guess that should work. i'll work on it.. i really need to write down these suggestions.. i loose track.

Sagittaire
17th January 2008, 11:16
Possible to have patch for direct x264 compilation ... ?

Trahald
17th January 2008, 16:28
Possible to have patch for direct x264 compilation ... ?

not sure what you mean by that.


.15 test is available. fixes issues that would effect parsing streams that use advanced features of h264. (cinevision and x264 seemed not to use these params)

XolocoTuxmaster
17th January 2008, 20:04
29.97->23.976 is on the latest version (publically available but really im calling it a test version) 59.94->23.976 isnt done...but really the same thing..
Ok thanks

Sagittaire
18th January 2008, 19:40
not sure what you mean by that.


.15 test is available. fixes issues that would effect parsing streams that use advanced features of h264. (cinevision and x264 seemed not to use these params)

x264_hrd_pulldown.xx.diff patch for x264 compilation.

CruNcher
18th January 2008, 20:28
Hi Trahald
you could add this workaround to it :)
http://forum.doom9.org/showthread.php?p=1083116#post1083116

This way people can in some situations prevent reencoding of such non Hardware Compatible Bitstreams :)

Trahald
23rd January 2008, 18:33
Hi Trahald
you could add this workaround to it :)
http://forum.doom9.org/showthread.php?p=1083116#post1083116

This way people can in some situations prevent reencoding of such non Hardware Compatible Bitstreams :)

lemme see if im reading it correctly.. are you just asking that i allow num_ref_frames to be set via the gui? if so.. no prob

for the bitrate i can also make it selectable. if none given and none in the stream then i would use max bitrate for current level.

Trahald
23rd January 2008, 22:07
about the adding borders without reencoding. i couldnt find anything that would let me do that. i was hoping negative values for cropping could be used to add size but they are stored as positive only values.

CruNcher
24th January 2008, 02:54
lemme see if im reading it correctly.. are you just asking that i allow num_ref_frames to be set via the gui? if so.. no prob

for the bitrate i can also make it selectable. if none given and none in the stream then i would use max bitrate for current level.

Yep exactly :)

XolocoTuxmaster
24th January 2008, 14:11
Nothing

bond
24th January 2008, 20:04
about the adding borders without reencoding. i couldnt find anything that would let me do that. i was hoping negative values for cropping could be used to add size but they are stored as positive only values.yes, my request was regarding being able to crop pictures, not to add borders

hope you can do it :)

Trahald
25th January 2008, 08:05
0018 test version is available. supports setting num_ref_frames and maxbitrate. for streams where there is no maxbitrate or cpb size setting, the max for that level is used for both (except for max bitrate when a size is supplied. ) maxbitrate is in kbps. commandline support also added.

cropping is next

Rectal Prolapse
31st January 2008, 19:40
Hi trahald. This segment crashes h264info - I hope you can figure it out! Thanks!

http://www.sendspace.com/file/rl63w1

This segment might be typical of Japanese HD-DVD h264 releases.

bozydar
3rd February 2008, 10:58
Is it possible to change levels from 16-236 to 0-255 (TV/Video space to PC-space)?

I try to put it in different words...

I have TS file with h264 track. I convert it to the MKV containter using GraphEdit (I connect Hali Media Splitter and Hali Matroska Muxer).

When I use the older version of the splitter for conversion, MKV file plays in Media Player Classic with PC-space levels (0-255), which is good IMHO.

When I use the newest version of the splitter for conversion, file plays in MPC with TV-space levels (16-235) - image is washed out...

So... I suspect, that newer splitter adds or removes something from the H264 stream during conversion...

The question is: Is it possible to correct this?

PHD_1976
6th February 2008, 07:22
Unfortunately, Scenarist HDMV gives an error while muxing H264 file demuxed from HD DVD and changed by H264info alpha 0018, something about zero GOP (can post it as it is if needed). Although MUI Generator if happy with this file.

I had very same type of error when cpb_removal_delay was calculated improperly (from Scenarist point of view). If cpb_removal_delay equals zero, except for the very first time, that is true Scenarist returns an error like "DTS of previous AU is no greater then xxx AU". So every zero cpb_removal_delay should be changed to a value of previous cpb_removal_delay plus two. In this case both MUI Generator & Scenarist are happy with file.
Trahald, what is you algorithm of recalculating cpb_removal_delay?

Creator1
6th February 2008, 21:08
Unfortunately, Scenarist HDMV gives an error while muxing H264 file demuxed from HD DVD and changed by H264info alpha 0018, something about zero GOP (can post it as it is if needed). Although MUI Generator if happy with this file.

I had very same type of error when cpb_removal_delay was calculated improperly (from Scenarist point of view). If cpb_removal_delay equals zero, except for the very first time, that is true Scenarist returns an error like "DTS of previous AU is no greater then xxx AU". So every zero cpb_removal_delay should be changed to a value of previous cpb_removal_delay plus two. In this case both MUI Generator & Scenarist are happy with file.
Trahald, what is you algorithm of recalculating cpb_removal_delay?

I had that error myself. I think it is something like "Program has a bug: - value of m_ptsOfGOP is empty". but I am pretty sure I got it wrong on the ptsOfGOP part, I am missing a part of the word.

In any case, I was able to mux a smaller AVC file after passing it through h264info (because the error seems to occur only on some part of files so a small one passed correctly) and the result was choppy playback. Every 2 seconds or something, the video skips. Seems like Scenarist is destroying something while muxing. If you do the same thing using the tsMuXER and tsremux guide the video plays back perfectly.

PHD_1976
7th February 2008, 06:51
I had that error myself. I think it is something like "Program has a bug: - value of m_ptsOfGOP is empty". but I am pretty sure I got it wrong on the ptsOfGOP part, I am missing a part of the word.

In any case, I was able to mux a smaller AVC file after passing it through h264info (because the error seems to occur only on some part of files so a small one passed correctly) and the result was choppy playback. Every 2 seconds or something, the video skips. Seems like Scenarist is destroying something while muxing. If you do the same thing using the tsMuXER and tsremux guide the video plays back perfectly.

Creator1,
you are right about success with smaller part avc muxing via Scenarist. When I had this error it occured in the parts where cpb_removal_delay equals to the previous value - and that gave me a choppy playback. In these cases value should be set to previous plus 2 (two) - and stuttering is gone.

I don't think we should blame Scenarist - he's doing his job very well, though it's very picky for file structure. -)

Trahald
7th February 2008, 15:25
The problem is some streams structures make it impossible (at least so far) to calculate dpb_output_delay properly doing only one pass. I am going to add a 2 pass option. but im trying to speed up the app as the regular 1pass is slow as is. i think scenarist is relying pretty heavily on dpb_output_delay and its causing muxing issues. tsremux is likely ignoring it and figuring out timings on its own.

if you look at a stream, cpb_removal_delay is pretty simple.. its just the field count from last iframe based on coded order (not display order). for non pulldown would be 0,2,4,6,8... with the next i-frame having the highest #, the following frame being 2 again then so on. pulldown would factor in the extra fake fields pulldown creates.

if i am doubling cpb_removal_delay then thats bad.. i'll look at it. (you can have repeat values when there are series of i frames, normally avoided with min gop being 2 frames) if you can make a short stream available that is doubling cpb_removal_delays id like to take a look.

Trahald
7th February 2008, 15:30
Hi trahald. This segment crashes h264info - I hope you can figure it out! Thanks!

http://www.sendspace.com/file/rl63w1

This segment might be typical of Japanese HD-DVD h264 releases.

ill have a look

Creator1
7th February 2008, 22:43
The problem is some streams structures make it impossible (at least so far) to calculate dpb_output_delay properly doing only one pass. I am going to add a 2 pass option. but im trying to speed up the app as the regular 1pass is slow as is. i think scenarist is relying pretty heavily on dpb_output_delay and its causing muxing issues. tsremux is likely ignoring it and figuring out timings on its own.

if you look at a stream, cpb_removal_delay is pretty simple.. its just the field count from last iframe based on coded order (not display order). for non pulldown would be 0,2,4,6,8... with the next i-frame having the highest #, the following frame being 2 again then so on. pulldown would factor in the extra fake fields pulldown creates.

if i am doubling cpb_removal_delay then thats bad.. i'll look at it. (you can have repeat values when there are series of i frames, normally avoided with min gop being 2 frames) if you can make a short stream available that is doubling cpb_removal_delays id like to take a look.

Trahald,

Thank you for looking into it. I am a programmer but all this is above my knowledge because I know nothing of the AVC structure (well, I know more than before I started looking into a stream but still am clueless on most fields meaning) so I hope you can figure out a patch to make Scenarist happy.

Do you know if the other error about "ptsOfNextGOP is empty" is related to the same thing we are discussing now?

I still kinda get what you explained about cpb_removal_delay though so thanks for the info.

If PHD_1976 does not provide a stream that skips for you to analyze then I will do it.

One question though: do "remove pulldown" in h264info supposed to work correctly for 1080i 25fps AVC PAL streams too (comes from HDTV)? I am currently trying to make a blu-ray with that kind of source without re-encoding and am having problems. I need to confirm this but I think the video skips when played back even if I use the very same method as I did with a AVC source file coming from HD-DVD (which is h264info remove pulldown + tsMuxer + tsremux)

EDIT:
Here are the files. I am not sure if it will be able to help you but take a look:

AVC elementary file BEFORE applying h264info "remove pulldown":

http://rapidshare.com/files/90046951/beforeh264pulldown.avc.html

AVC elementary file AFTER applying h264info "remove pulldown":

http://rapidshare.com/files/90048724/afterh264pulldown.avc.html

M2TS muxed by scenarist (with skipping) using the AVC file after applying h264info "Remove pulldown" and ac3 audio:

http://rapidshare.com/files/90044591/00000.m2ts.html

PHD_1976
8th February 2008, 11:26
Actually it's quite hard to provide a sample of the AVC part where exactly Scenarist give an error.
If Trahald checks whether cpb_removal_delay is doubled or not - that would be great (thanx in advance).
If this parameter is not doubled we should try to find another reason for this. that is hard without having sources.

I also have a 1080i 25 DVB avc stream, but even after h264info Scenarist keeps returning another error "This stream needs the SPI file" and I don't know what could it be.

BTW, about two consecutive IDR frames, I tried 3 variants (all I was changing was CPB_REMOVAL_DELAY):
1. 2nd IDR's CRD=previous. Result = video hangs
2. 2nd IDR's CRD=previous+2. Result = video hangs
3. 2nd IDR's CRD reset to 2. Result = video flawless

Creator1
8th February 2008, 15:27
Actually it's quite hard to provide a sample of the AVC part where exactly Scenarist give an error.
If Trahald checks whether cpb_removal_delay is doubled or not - that would be great (thanx in advance).
If this parameter is not doubled we should try to find another reason for this. that is hard without having sources.

I also have a 1080i 25 DVB avc stream, but even after h264info Scenarist keeps returning another error "This stream needs the SPI file" and I don't know what could it be.

BTW, about two consecutive IDR frames, I tried 3 variants (all I was changing was CPB_REMOVAL_DELAY):
1. 2nd IDR's CRD=previous. Result = video hangs
2. 2nd IDR's CRD=previous+2. Result = video hangs
3. 2nd IDR's CRD reset to 2. Result = video flawless

Check the level of your 25fps 1080i DVB file. My guess is, like mine, it will be MAIN level 4.0 or something like that. From what I can understand (I might be wrong), the SPI file is needed because the level is not HIGH 4.1 and some information is missing from the headers inside the AVC file. The headers of level 4.0 are quite smaller than the ones from level 4.1 and contains less infos. My guess is that an SPI file would provide the additionnal infos to scenarist but I have no idea how to create it.

The best results I had so far with my 1080i 25fps level 4.0 file was to pass the avc and ac3 streams directly into tsMuxeR by forcing a 24000/1001 framerate and forcing level 4.1. Then, the audio is still out of sync (I think it is to be expected because we go back to NTSC speed with the 23.976) and the video skips slightly at a constant rate. THe skip is less worse than the one that happens after using h264info on the stream but it's still not perfect.

Re-encoding the 25fps stream into a 23.976 progressive (Frame coding) avc file makes the video playback flawlessly, but we all want to not re-encode if possible...

Trahald
9th February 2008, 00:01
Actually it's quite hard to provide a sample of the AVC part where exactly Scenarist give an error.
If Trahald checks whether cpb_removal_delay is doubled or not - that would be great (thanx in advance).
If this parameter is not doubled we should try to find another reason for this. that is hard without having sources.

I also have a 1080i 25 DVB avc stream, but even after h264info Scenarist keeps returning another error "This stream needs the SPI file" and I don't know what could it be.

BTW, about two consecutive IDR frames, I tried 3 variants (all I was changing was CPB_REMOVAL_DELAY):
1. 2nd IDR's CRD=previous. Result = video hangs
2. 2nd IDR's CRD=previous+2. Result = video hangs
3. 2nd IDR's CRD reset to 2. Result = video flawless

are you saying its doing something like 30 and then 30 right away? i was referring to more when there are three I's you might get 30, 2, 2 .. but 30, 30, 30 is way wrong.

that would be bad mmm k.

PHD_1976
13th February 2008, 11:29
are you saying its doing something like 30 and then 30 right away? i was referring to more when there are three I's you might get 30, 2, 2 .. but 30, 30, 30 is way wrong.

that would be bad mmm k.

Sorry, I should have written it clearer.
When I was writing about consecutive IDR frames I didn't mean your tool. It's just the result of my experiments with h264 files from BD movies. I didn't have a chance to meet 3 IDR one by one, but I had two.
So, using your example for two IDRs correct values would be 30, 2 and for three I guess 30, 2, 2 as you wrote.

Are there any news about "dubbing or not" cpb_removal_delay?

Glorioso
13th February 2008, 21:55
Hi, i'm a newbie in this matters. Can use h264info to make a video stream compatible to the Xbox360?

Trahald
24th February 2008, 22:49
.20 speeds things up a bit by defaulting to no logfile and did a tiny bit of code optimization.

also added a HD(hddvd)->BR(bluray) mode that leaves the stream 29.97fps. (also should work with PAL if 25fps streams exist). pulldown really doesnt have to be removed. just some settings changed to allow for 29.97 within bluray.

and changed reverse pulldown to not calculate timings so funky streams wont need 2-passes. I just use the original calc and convert to non-pulldown timing. HD->BR mode leaves timing variables totally alone.

woah!
28th February 2008, 01:46
did you change something from .15 onwards??

take a look at this screenie, as you can see .13 .14 are the correct length but .15 onwards is 12frames shorter? which works out about 400ms.

source is exactly the same, settings used are the same,but something seems weird.

http://www.cif-forums.com/png/weird.jpg

Trahald
28th February 2008, 16:40
well.. i change lotsa things , im unfortunately not that great at tracking changes. is the final mux out of sync or does the video in sync but just end early? (neither scenario is good but just need to know what to look for)

woah!
29th February 2008, 03:26
if i mux to a mkv it seems to be in sync, if i use Scenarist ACA it is outta sync more as the movie goes along.

i use ACA to author to dvd9 so its important to me anyways heh, but .14 works for that.

Trahald
3rd March 2008, 05:00
.0021 fixes top-gun problem. also fixes issue with Rectal Prolapse's stream

will tackle woahs issue next (havent been able to duplicate on small streams so im gonna try to work on some bigger ones.)

glen8
3rd March 2008, 22:15
.0021 fixes top-gun problem. also fixes issue with Rectal Prolapse's stream

will tackle woahs issue next (havent been able to duplicate on small streams so im gonna try to work on some bigger ones.)

You kind sir...are a genuis :)

Rectal Prolapse
5th March 2008, 23:07
thanks trahald!

Creator1
6th March 2008, 19:00
.20 speeds things up a bit by defaulting to no logfile and did a tiny bit of code optimization.

also added a HD(hddvd)->BR(bluray) mode that leaves the stream 29.97fps. (also should work with PAL if 25fps streams exist). pulldown really doesnt have to be removed. just some settings changed to allow for 29.97 within bluray.

and changed reverse pulldown to not calculate timings so funky streams wont need 2-passes. I just use the original calc and convert to non-pulldown timing. HD->BR mode leaves timing variables totally alone.

Thanks for the hd-dvd to blu-ray mode trahald! I'll test it out when I have time.

Trahald
17th March 2008, 03:20
0022 out. fixes woahs issue(hopefully).

woah!
17th March 2008, 06:28
0022 out. fixes woahs issue(hopefully).

sure does :)

timing is perfect in Sonic ACA...

hidef_rec
18th March 2008, 15:21
Please help w/the framerate of an AVC file. It's 1920x1080p, but shows ~19fps via Nero Showtime. It's actually supposed to be 23.976fps ('Patriot Games' HD DVD rip). I authored this to Blu-ray anyway and the video playback is choppy as I'd expected.

When I use the latest h264info on the raw h264 file to force 23.976fps and remove 3:2 pulldown flags, h264info either crashes or spits out a file w/garbled video.

Any ideas on how to make the AVC file Blu-ray compliant?

Trahald
19th March 2008, 20:39
h264info will barf on bad streams.. i didn't code much resiliency into it. open it in dgavcindex and select the demux with video option and see if that helps . it has a bit more error detection in it.
if it fails there then you may need to rerip the disc

chrislynch
23rd March 2008, 06:01
I am trying to remove the pulldown flag from an AVC ES source. I am using Alpha 0.22, and each time I select "Remove Pulldown" the application terminates. I have tried both specifying a value or the FSP (23.976) and not specifying a value.

What am I doing wrong here?:thanks:

Forgot to mention that I am running this tool on a Windows Vista 32-bit with SP1 system. I have tried Compatibility Mode (Windows XP SP2) without success.

Rectal Prolapse
23rd March 2008, 09:14
Trahald, can h264info be used to test if an h264 stream is any good? I would like to know if it can be used to test streams demuxed from BD+ decrypted movies - I don't yet trust Slysoft to not allow corruption in the streams (it seems a few titles have glitches right now - let's hope slysoft doesn't ignore them).

Geleodor
24th March 2008, 20:45
Trahald any chance h264info will handle x.264 encodes ?
I have just tested it with several encodes (using different settings)....streams go through MUI Generator without problem, BUT Scenarist HDMV gives this message all the time
Error Content: Value of BitRate is not supported in the BD standard.

Anyway thanks for this tool :)

Trahald
25th March 2008, 20:37
@geleodor
hmm.. with x264 streams with no bitrate set, i set the highest bitrate for the level... i'll make sure my table is right... whats the level of the video you are using?

@chrislynch
ahh..does anything work on it for you? ie would another stream work? i dont have a virtual pc setup to test a xp/sp1 against it(and i probably wont) .. that may be the issue.. i am thinking about making a non-mfc version of it (pure cli).. but dont hold your breath. if i do it i wanna make it a lot more oopy and while i have made some oopy programs and worked with insanely oopy code (x264) i have a hard time getting my head around it (not the concept of OOP but injecting it into the/an app). i wont bother if its just gonna end up like h264info's code is. (code works but very hacky/amateur)

@rectal prolapse
i'll see... i probably wont.. most if the time the problem is in the slice data and i dont parse that. i'll eventually put more resiliency/error checking into the header stuff i do parse, tho.

Trahald
25th March 2008, 20:42
2 points of info about h264info...
1. the HD->BR mode turns frame_mb_only_flag=0(well that is if it isnt already 0) ppl have tested it and havent gotten any negative reports but it is a trick to get the stream to work. if your display doesnt like it, i recommend the reverse pulldown mode. (if you are PAL then hd->br mode is the only option)

2. for Bluray, each picture must have at least 4 slices (field pairs are 2+ each). since hddvd streams are normally single slices any converted stream is out of spec. again i havent heard of any issues but just a disclaimer.

chrislynch
26th March 2008, 00:59
@geleodor
@chrislynch
ahh..does anything work on it for you? ie would another stream work? i dont have a virtual pc setup to test a xp/sp1 against it(and i probably wont) .. that may be the issue.. i am thinking about making a non-mfc version of it (pure cli).. but dont hold your breath. if i do it i wanna make it a lot more oopy and while i have made some oopy programs and worked with insanely oopy code (x264) i have a hard time getting my head around it (not the concept of OOP but injecting it into the/an app). i wont bother if its just gonna end up like h264info's code is. (code works but very hacky/amateur)


No. I have tested a few streams, and it continuously fails for me.

I'm not quite sure how to word this, so bear with me. The encoding tool I use (TMPGEnc) detects the H.264 stream as Interlaced (29.97 frame rate) and Progressive (23.976 frame rate.) I can change the source to Progressive and all is good. No need to remove the pull down flag. Thanks anyway.