summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbrjake <[email protected]>2008-02-12 15:37:26 +0000
committerjbrjake <[email protected]>2008-02-12 15:37:26 +0000
commit109997ac77bbd4028e9019c16f5e00217410f126 (patch)
tree7ee2165f172d5dcd78d19a27946df55f7f7e5023
parentd23b4a9d185944e5bbf036a0b5b83d5bc14ba98b (diff)
When x264 outputs frames as references for b-frame pyramids, flag them as such instead of just marking them as regular b-frames.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1257 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--libhb/encx264.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libhb/encx264.c b/libhb/encx264.c
index 8b6c22d07..f9cbd7100 100644
--- a/libhb/encx264.c
+++ b/libhb/encx264.c
@@ -518,7 +518,11 @@ int encx264Work( hb_work_object_t * w, hb_buffer_t ** buf_in,
buf->frametype = 0;
}
-
+ /* Since libx264 doesn't tell us when b-frames are
+ themselves reference frames, figure it out on our own. */
+ if( (buf->frametype == HB_FRAME_B) && (nal[i].i_ref_idc != NAL_PRIORITY_DISPOSABLE) )
+ buf->frametype = HB_FRAME_BREF;
+
/* Store the output presentation time stamp
from x264 for use by muxmp4 in off-setting
b-frames with the CTTS atom. */