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"); }
int cleanup_font(struct font* font) { return cleanup_image(&font->image); }