Hi,<br>I am using x264 for live video stream encoding and then it is transmitted over rtp. In my server application I get feedback from my rtp client about which particular frame has been received by the decoder without any error. So for my next frame encoding I want to reference from that frame which has been received by decoder.<br>
To do this I am dropping frame from my encoder&#39;s DPB.<br><br>I am trying this code for frame dropping in the reference list.<br><br>x264_frame_t ** frames = h-&gt;frames.reference<br>while(*frames)<br>{<br>      if( *frames-&gt;i_poc  != received_poc)<br>
              x264_frame_push_unused(h, x264_frame_shift(frames));<br>      else<br>             frames++<br>}<br><br>I have inserted this code in x264_encoder_encode function just before <br> if( x264_reference_update( h ) )<br>
        return -1;<br>I is it the right code and right place? Do I need to do anything else for frame dropping?<br><br>I have checked h-&gt;frames.reference is a 16 size array, Does that mean x264 always keeps 16 frames in its DPB?<br>
<br>If I find that received_poc is 10 frames earlier ( aasume poc=n) than the current frame to be encoded and if it is available in my DPB then after encoding at my client&#39;s decoder reference buffer will that nth frame be still available for referencing?<br>
<br>Thanks<br>Arindam<br><br>