<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div><span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">Any-level B-pyramid allows B frames to serve as reference, it doesn't limit the number of reference frames (of any type: I, P or B), as I understand.</span></div>

<div><span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">In x264 implementation you can see B-pyramid usage </span><span style="line-height: 19.2000007629395px;">coexists with more than 2 backward reference frames.</span></div>

<div>Similarly, <span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">more than 2 forward </span>frames can be allowed for schema to become symmetrical.</div>

<div>I mean possibility to use [0..max_num_ref_frames] <span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">forward references fair </span>to <span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">[0..</span><span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">max_num_ref_frames] backward references for each coded frame.</span></div>

<div><span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">E.g. with max_num_ref_frames = 8: some frames are coded using 6 backward + 2 forward references, some are coded using 2 backward + 6 forward, some are coded using 1 backward + 1 forward, etc - the most efficient number/direction of references is selected for each frame individually, but using </span>equivalent rights/chances for <span style="font-family: Verdana; font-size: 12px; line-height: 19.2000007629395px;">backward and forward frames to be a reference.</span></div>

<div> </div>

<div>
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Sent:</b> Monday, September 29, 2014 at 7:39 PM<br/>
<b>From:</b> BugMaster <BugMaster@narod.ru><br/>
<b>To:</b> "Mailing list for x264 developers" <x264-devel@videolan.org><br/>
<b>Subject:</b> Re: [x264-devel] Why number of forward reference frames is limited to 2?</div>

<div name="quoted-content">On Mon, 29 Sep 2014 11:57:00 +0200, dj alek wrote:<br/>
><br/>
> Hi!<br/>
> Does anyone know the reason of hardcoded limit of RefPicList1 size?:<br/>
> - b_ref_reorder[2];<br/>
> - sps->vui.i_num_reorder_frames = param->i_bframe_pyramid ? 2 : param->i_bframe ? 1 : 0;<br/>
> - h->frames.i_max_ref1 = X264_MIN(<br/>
> h->sps->vui.i_num_reorder_frames, h->param.i_frame_reference );<br/>
> - etc<br/>
> Is the increase in size will not improve the encoding quality? I<br/>
> mean, eg, redistribution of parameter i_frame_reference = 10 to<br/>
> num_ref_l0 = 5 & num_ref_l1 = 5 instead of the current num_ref_l0 =<br/>
> 8 & num_ref_l1 = 2 (to use 5 forward + 5 backward frames for<br/>
> reference rather than 2 forward + 8 backward)?<br/>
><br/>
<br/>
There is no reason to set RefPicList1 size large because you will have<br/>
at max 2 futures frames when using [one level] B-pyramid so there are<br/>
nothing to put there more than this 2 frames.<br/>
<br/>
_______________________________________________<br/>
x264-devel mailing list<br/>
x264-devel@videolan.org<br/>
<a href="https://mailman.videolan.org/listinfo/x264-devel" target="_blank">https://mailman.videolan.org/listinfo/x264-devel</a></div>
</div>
</div>
</div></div></body></html>