Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
25th June 2009, 08:46 | #21 | Link | ||
Registered User
Join Date: Feb 2006
Posts: 1,076
|
Quote:
Quote:
|
||
25th June 2009, 13:55 | #23 | Link |
Wewkiee
Join Date: Feb 2002
Location: kashyyyk
Posts: 2,269
|
A lot of sample streams i got when making h264info were cut at open gop. all that happens is first few b-frames (any that pts < the pts of the i-frame) are discarded during playback. same as what happens when seeking in an open gop stream. and yeah... just need a smart enough cutter. or maybe dumb enough, ie most probably just look for i frames , not necessarily IDRs.
__________________
...yeah...but...why on earth would I compare apples with apples? |
25th June 2009, 14:06 | #24 | Link |
Wewkiee
Join Date: Feb 2002
Location: kashyyyk
Posts: 2,269
|
@DS
I understand the changes you request for code-sake and I'll try to make them. Only that it probably will have to start with 'git reset --hard' except for maybe the SEI part. since i wrote it in a way that required me to understand the least about frame type decisioning. so might be a while. I really didnt make it with a commit in mind. just that noone else has bothered so i made something that worked (result wise if not code wise) mostly for myself although I dont mind sharing. Would you explain why x264 even cares at all about max keyframe interval in scene cut decisions. AFAIK that is unique to x264. Im willing to code it (time permitting) without agreeing w/it but it would help if i could wrap my head around the idea behind it.
__________________
...yeah...but...why on earth would I compare apples with apples? |
25th June 2009, 14:07 | #25 | Link | |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
Can you explain a bit: How does that work? I mean, if we start decoding at a Non-IDR frame, we will require references from previous frames, don't we? Okay, as far as I understand, a recovery point says "output will be good again in x frames, if you start decoding here". There may be "scrambled" output until frame x is reached. But how does the encoder know? Does it keep track of all macro-blocks and write a recovery point after each macro-block has been "refreshed" at least once? Or what?
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 25th June 2009 at 14:11. |
|
25th June 2009, 17:23 | #26 | Link | |||
x264 developer
Join Date: Sep 2005
Posts: 8,666
|
Quote:
Quote:
Quote:
|
|||
25th June 2009, 17:24 | #27 | Link | |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Quote:
__________________
|
|
25th June 2009, 17:48 | #28 | Link | |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
Does x264 support/use periodic intra refresh yet?
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 25th June 2009 at 17:54. |
|
25th June 2009, 18:07 | #30 | Link | |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Quote:
__________________
|
|
25th June 2009, 18:17 | #31 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Sorry, what exactly does that mean then?
I though using references from the previous GOP (that is: before the last I-Frame) inside the current GOP is the definition of an "open" GOP If we now decide to not use references from before the I-Frame (to get a valid "recovery point"), wouldn't that result in "closed" GOP's ???
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 25th June 2009 at 18:33. |
25th June 2009, 18:34 | #32 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
In temporal order :
Code:
closed gop : PbbbPbbbPI open gop : PbbbPbbbbI Code:
closed gop : PPbbbPbbbI open gop : PPbbbIbbbb
__________________
|
25th June 2009, 18:42 | #33 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Ah, I see
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ |
28th June 2009, 12:17 | #34 | Link | |
Registered User
Join Date: Feb 2008
Posts: 733
|
Trahald can you explain in n00b terms how does this help/affect the quality of fades and where is it usefull ( high resolutions only ? )
thnx. Quote:
Last edited by juGGaKNot; 28th June 2009 at 12:24. |
|
28th June 2009, 13:55 | #35 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
As Trahald already said, this patch is useful mostly when you use a low max keyint interval. The reason for its usefulness is that, without the patch, x264 considers that key frames are IDR, which are special picture types that prevents the previous picture type to be a B frame. So, even if x264 would have wanted to use a B frame, if the following frame must be a key frame because of max keyint, without the patch the B will be transformed into a P frame, which isn't as good.
Furthermore, open gops will help reduce the problem of intra "pumping" at low bitrates and small gops. Finally, a gop, in the mpeg2 terminology, is a group of picture starting on an intra frame, and stopping just before the next one. For mpeg2, all intra frames are entry points in the video, so settings the gop period set the entry points period. For h264, not all intra frames are sync points, but somehow the gop remained aliased to the idea of sync point (and not intra frames). So a gop can be seen as starting on an entry point (be it a IDR or a plain I frame) and stopping just before the next one. With that definition, max-keyint sets the maximum gop size, and min keyint sets the minimum gop size.
__________________
|
28th June 2009, 14:20 | #36 | Link | ||
Registered User
Join Date: Feb 2008
Posts: 733
|
Quote:
Quote:
|
||
28th June 2009, 14:25 | #37 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
I don't know what VEGAS does. But x264 in "lossless" mode uses I-Frames (probably IDR and Non-IDR) as well as P-Frames.
Only B-Frames are disabled, because they don't help in the special case of lossless encoding. If you want to enforce an I-Frame only stream for some reason, you can simply set the value of min_keyint to 1
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 28th June 2009 at 14:27. |
28th June 2009, 14:27 | #38 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
It's normal. Uncompressed video doesn't have temporal dependencies between frames, so you can seek instantaneously wherever you want in an uncompressed video. The same would be true if you were encoding with mjpeg (all frames are intra), or ASP/AVC with only intra frames (max-keyint set to 1 with x264 for example).
As for when to use open gop : always. There are no (valid) reason not to use it. It's better, period.
__________________
|
28th June 2009, 14:33 | #39 | Link | |
Registered User
Join Date: Feb 2008
Posts: 733
|
Quote:
Last edited by juGGaKNot; 28th June 2009 at 14:36. |
|
28th June 2009, 14:52 | #40 | Link | |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
Quote:
__________________
|
|
|
|