示例#1
0
文件: onyxd_if.c 项目: vasilvv/esvp8
int vp8_remove_decoder_instances(struct frame_buffers *fb)
{
    if(!fb->use_frame_threads)
    {
        VP8D_COMP *pbi = fb->pbi[0];

        if (!pbi)
            return VPX_CODEC_ERROR;
#if CONFIG_MULTITHREAD
        if (pbi->b_multithreaded_rd)
            vp8mt_de_alloc_temp_buffers(pbi, pbi->common.mb_rows);
        vp8_decoder_remove_threads(pbi);
#endif

        /* decoder instance for single thread mode */
        remove_decompressor(pbi);
    }
    else
    {
        /* TODO : remove frame threads and decoder instances for each
         * thread here */
    }

    return VPX_CODEC_OK;
}
示例#2
0
void vp8dx_remove_decompressor(VP8D_PTR ptr)
{
    VP8D_COMP *pbi = (VP8D_COMP *) ptr;

    if (!pbi)
        return;

    vp8_decoder_remove_threads(pbi);
    vp8_remove_common(&pbi->common);
    vpx_free(pbi);
}
示例#3
0
int vp8_remove_decoder_instances(struct frame_buffers *fb) {
  VP8D_COMP *pbi = fb->pbi[0];

  if (!pbi) return VPX_CODEC_ERROR;
#if CONFIG_MULTITHREAD
  vp8_decoder_remove_threads(pbi);
#endif

  /* decoder instance for single thread mode */
  remove_decompressor(pbi);
  return VPX_CODEC_OK;
}
示例#4
0
void vp8dx_remove_decompressor(VP8D_PTR ptr)
{
    VP8D_COMP *pbi = (VP8D_COMP *) ptr;

    if (!pbi)
        return;

#if CONFIG_MULTITHREAD
    if (pbi->b_multithreaded_rd)
        vp8mt_de_alloc_temp_buffers(pbi, pbi->common.mb_rows);
    vp8_decoder_remove_threads(pbi);
#endif
    vp8_remove_common(&pbi->common);
    vpx_free(pbi);
}