Browse Source

output delayed frames

fixes:
CANL4_SVA_B.264
NL3_SVA_C.264
NL3_SVA_E.264

Originally committed as revision 8055 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 19 years ago
parent
commit
97bbb8851b
1 changed files with 20 additions and 0 deletions
  1. +20
    -0
      libavcodec/h264.c

+ 20
- 0
libavcodec/h264.c View File

@@ -8244,6 +8244,26 @@ static int decode_frame(AVCodecContext *avctx,

/* no supplementary picture */
if (buf_size == 0) {
Picture *out;
int i, out_idx;

//FIXME factorize this with the output code below
out = h->delayed_pic[0];
out_idx = 0;
for(i=1; h->delayed_pic[i] && !h->delayed_pic[i]->key_frame; i++)
if(h->delayed_pic[i]->poc < out->poc){
out = h->delayed_pic[i];
out_idx = i;
}

for(i=out_idx; h->delayed_pic[i]; i++)
h->delayed_pic[i] = h->delayed_pic[i+1];

if(out){
*data_size = sizeof(AVFrame);
*pict= *(AVFrame*)out;
}

return 0;
}



Loading…
Cancel
Save