View Full Version : if 2 p-frames are more than 1 s apart, b-frames in between are not decoded
lordadmira
1st June 2004, 14:45
Syskin, concerning the bug listed in ur sig, (core) if two p-frames are more than one second apart, b-frames in between are not decoded. Could u give some more info on this? Are u saying that P frames up to and including 1 second apart are ok or that only up to and not including 1 second apart are ok. I did an encode with Bmax=30 and 29.97 fps and I experienced the bug with ffdshow. So is it really an encoding bug and not a decoding bug? I ask since I'm trying to decide if a max of 29 or 28 is needed to avoid the bug.
sysKin
1st June 2004, 15:48
There was a thread about this, but it seems to be gone now. I think it happens for two p-frames which are exactly 1 second apart as well.
In that thread, someone actually posted a file (called bframe.avi, that's all I know now) that used many b-frames. I remember it didn't have any problems with ffdshow, but who knows....
If you want a good encode, you'll set max b-frames to 3. If you don't want that... oh well
Radek
lordadmira
2nd June 2004, 05:54
I forgot to mention that it was RC4 I did this with. Bmax 3?! Egads! That's cutting Xvid's potential off at the knees. Bthres 80 at 8/1/0 gives me spectacular results. And I think mass B frame usage is the direction H264 is going.
sysKin
2nd June 2004, 06:43
Originally posted by lordadmira
And I think mass B frame usage is the direction H264 is going. Sure, but this is because b-frames are almost identical to p-frames there. The only difference is that they have direct mode, which is extra motion prediction mode.
Nothing comparable to mpeg-4, where b-frames are almost just as lame as in mpeg-1.
CruNcher
2nd June 2004, 07:13
lordadmira let me guess you encode Anime ?
who else could rape XviD like that then Anime Encoder ;)
lordadmira
2nd June 2004, 07:55
%-) Anime? What other reason is there?
Syskin I think ur vastly underestimating the power of the B frame. I don't know if u read it but a while back I was in a thread discussing B frame theory. If u ask me an encode should consist almost entirely of B frames. P frames are only good for motion anchors. And I frames.. heh well the video has to be seekable. ;)
LA
sysKin
2nd June 2004, 08:03
Originally posted by lordadmira
I don't know if u read it but a while back I was in a thread discussing B frame theory. If u ask me an encode should consist almost entirely of B frames. P frames are only good for motion anchors. And I frames.. heh well the video has to be seekable. ;)
Yes that is true - BUT b-frames don't reference each other in mpeg-4. If you have two p-frame "anchors" that are 100 frames apart, you encode quite a bit on information to encode frame 50. Then, frame 51 is similar to frame 50 so you encode *the same information* again. Then, frame 52 is similar to the other two but you encode the same information for the 3rd time. Then, frame 54 encodes the same information for the 4th time.
Repeat that for all b-frames.
B-frames cannot have their references more then 2 frames away, just cannot.
virus
2nd June 2004, 08:04
Originally posted by lordadmira
Syskin I think ur vastly underestimating the power of the B frame.Personally, I think you're vastly underestimating the power of sysKin ;)
lordadmira
2nd June 2004, 08:18
Whoa dude. I said P frames should be motion anchors. Arbitrarily sticking two P frames 100 frames apart isn't going to help anything. You have to analyze the video to find the best spots for P frames, and those are end points of motions. The B frames then come in to handle the motion based off the end points.
lordadmira
2nd June 2004, 11:09
Originally posted by sysKin
B-frames cannot have their references more then 2 frames away, just cannot. Why.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.