/***************************************************************************** * Close *****************************************************************************/ static void Close(vlc_object_t *p_this) { decoder_t *p_dec = (decoder_t*)p_this; decoder_sys_t *p_sys = p_dec->p_sys; packetizer_Clean(&p_sys->packetizer); block_ChainRelease(p_sys->frame.p_chain); block_ChainRelease(p_sys->pre.p_chain); block_ChainRelease(p_sys->post.p_chain); for(unsigned i=0;i<=HEVC_PPS_ID_MAX; i++) { if(p_sys->rgi_p_decpps[i]) hevc_rbsp_release_pps(p_sys->rgi_p_decpps[i]); } for(unsigned i=0;i<=HEVC_SPS_ID_MAX; i++) { if(p_sys->rgi_p_decsps[i]) hevc_rbsp_release_sps(p_sys->rgi_p_decsps[i]); } for(unsigned i=0;i<=HEVC_VPS_ID_MAX; i++) { if(p_sys->rgi_p_decvps[i]) hevc_rbsp_release_vps(p_sys->rgi_p_decvps[i]); } cc_storage_delete( p_sys->p_ccs ); free(p_sys); }
/***************************************************************************** * Close: clean up the packetizer *****************************************************************************/ static void Close( vlc_object_t *p_this ) { decoder_t *p_dec = (decoder_t*)p_this; decoder_sys_t *p_sys = p_dec->p_sys; int i; DropStoredNAL( p_sys ); for( i = 0; i <= H264_SPS_ID_MAX; i++ ) StoreSPS( p_sys, i, NULL, NULL ); for( i = 0; i <= H264_PPS_ID_MAX; i++ ) StorePPS( p_sys, i, NULL, NULL ); packetizer_Clean( &p_sys->packetizer ); cc_storage_delete( p_sys->p_ccs ); free( p_sys ); }
/***************************************************************************** * Close: clean up the packetizer *****************************************************************************/ static void Close( vlc_object_t *p_this ) { decoder_t *p_dec = (decoder_t*)p_this; decoder_sys_t *p_sys = p_dec->p_sys; int i; if( p_sys->p_frame ) block_ChainRelease( p_sys->p_frame ); for( i = 0; i < H264_SPS_ID_MAX; i++ ) { if( p_sys->pp_sps[i] ) block_Release( p_sys->pp_sps[i] ); } for( i = 0; i < H264_PPS_ID_MAX; i++ ) { if( p_sys->pp_pps[i] ) block_Release( p_sys->pp_pps[i] ); } packetizer_Clean( &p_sys->packetizer ); cc_storage_delete( p_sys->p_ccs ); free( p_sys ); }