[FFmpeg-devel] [PATCH] increase AVStream pts_buffer size

Baptiste Coudurier baptiste.coudurier
Mon Aug 4 20:23:21 CEST 2008


H264 decoder can (now?) set has_b_frames to MAX_DELAYED_PIC_COUNT which
is 16, need to port this to pts_buffer in AVStream struct.

compute_pkt_files in utils.c:
int delay = FFMAX(st->codec->has_b_frames, !!st->codec->max_b_frames);


//calculate dts from pts
if(pkt->pts != AV_NOPTS_VALUE && pkt->dts == AV_NOPTS_VALUE){
    st->pts_buffer[0]= pkt->pts;
    for(i=1; i<delay+1 && st->pts_buffer[i] == AV_NOPTS_VALUE; i++)
        st->pts_buffer[i]= (i-delay-1) * pkt->duration;
    for(i=0; i<delay && st->pts_buffer[i] > st->pts_buffer[i+1]; i++)
        FFSWAP(int64_t, st->pts_buffer[i], st->pts_buffer[i+1]);
     pkt->dts= st->pts_buffer[0];

Patch attached.

Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
Smartjog USA Inc.                                http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pts_buffer_increase.patch
Type: text/x-diff
Size: 465 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080804/33386e8b/attachment.patch>

More information about the ffmpeg-devel mailing list