Example #1
0
LIBDE265_API void de265_release_next_picture(de265_decoder_context* de265ctx)
{
  decoder_context* ctx = (decoder_context*)de265ctx;

  // no active output picture -> ignore release request

  if (ctx->image_output_queue_length==0) { return; }


  loginfo(LogDPB, "release DPB with POC=%d\n",ctx->image_output_queue[0]->PicOrderCntVal);

  ctx->image_output_queue[0]->PicOutputFlag = false;
  cleanup_image(ctx, ctx->image_output_queue[0]);

  // pop output queue

  for (int i=1;i<ctx->image_output_queue_length;i++)
    {
      ctx->image_output_queue[i-1] = ctx->image_output_queue[i];
    }

  ctx->image_output_queue_length--;

  ctx->image_output_queue[ ctx->image_output_queue_length ] = NULL;


  loginfo(LogDPB, "DPB output queue: ");
  for (int i=0;i<ctx->image_output_queue_length;i++) {
    loginfo(LogDPB, "*%d ", ctx->image_output_queue[i]->PicOrderCntVal);
  }
  loginfo(LogDPB,"*\n");
}
Example #2
0
File: font.c Project: dmalves/cage
int cleanup_font(struct font* font)
{
    return cleanup_image(&font->image);
}