Ejemplo n.º 1
0
/*!
 ***********************************************************************
 * \brief
 *    Free Q matrix arrays
 ***********************************************************************
 */
void free_QMatrix ()
{
  free(qp_rem_matrix);
  free(qp_per_matrix);

  free_mem4Dint(LevelScale4x4Luma,      2, 6);
  free_mem5Dint(LevelScale4x4Chroma, 2, 2, 6);
  free_mem4Dint(LevelScale8x8Luma,      2, 6);

  free_mem4Dint(InvLevelScale4x4Luma,      2, 6);
  free_mem5Dint(InvLevelScale4x4Chroma, 2, 2, 6);
  free_mem4Dint(InvLevelScale8x8Luma,      2, 6);
}
Ejemplo n.º 2
0
/*!
 ***********************************************************************
 * \brief
 *    Free Q matrix arrays
 ***********************************************************************
 */
void free_QOffsets ()
{
  int max_qp_per_luma = (3 + 6*(input->BitDepthLuma) - MIN_QP)/6 + 1;
  int max_qp_per_cr = (3 + 6*(input->BitDepthChroma) - MIN_QP)/6 + 1;
  int max_qp_per = imax(max_qp_per_luma,max_qp_per_cr);
  free_mem4Dint(LevelOffset4x4Luma,      2, max_qp_per);
  free_mem5Dint(LevelOffset4x4Chroma, 2, 2, max_qp_per);
  free_mem4Dint(LevelOffset8x8Luma,      2, max_qp_per);

  free_mem2Dshort(OffsetList8x8);
  free_mem2Dshort(OffsetList4x4);
  free_mem2Dshort(OffsetList8x8input);
  free_mem2Dshort(OffsetList4x4input);
}
Ejemplo n.º 3
0
/*!
 ************************************************************************
 * \brief
 *    Free allocated memory of frame size related global buffers
 *    buffers are defined in global.h, allocated memory is allocated in
 *    int init_global_buffers()
 *
 * \par Input:
 *    Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
 *
 * \par Output:
 *    none
 *
 ************************************************************************
 */
void free_global_buffers(struct inp_par *inp, struct img_par *img)
{
  free_mem2D (imgY_ref);
  free_mem3D (imgUV_ref,2);

#ifndef STATIC_ALLOC
  // CAVLC free mem
  free_mem3Dint(img->nz_coeff, img->FrameSizeInMbs);
  free_mem2Dint(img->siblock);

  // free mem, allocated for structure img
  if (img->mb_data       != NULL) free(img->mb_data);

  free (img->intra_block);
  free_mem2Dint (img->ipredmode);
#endif

  free_mem2Dint(img->field_anchor);

  free_mem3Dint(img->wp_weight, 2);
  free_mem3Dint(img->wp_offset, 2);
  free_mem4Dint(img->wbp_weight, 2, MAX_REFERENCE_PICTURES);

  global_init_done = 0;

}
Ejemplo n.º 4
0
/*!
 ************************************************************************
 * \brief
 *    Free allocated memory of frame size related global buffers
 *    buffers are defined in global.h, allocated memory is allocated in
 *    int init_global_buffers()
 *
 * \par Input:
 *    Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
 *
 * \par Output:
 *    none
 *
 ************************************************************************
 */
void free_global_buffers()
{
  free_mem2D (imgY_ref);
  free_mem3D (imgUV_ref,2);

  // CAVLC free mem
  free_mem3Dint(img->nz_coeff, img->oldFrameSizeInMbs);

  free_mem2Dint(img->siblock);

  // free mem, allocated for structure img
  if (img->mb_data       != NULL) free(img->mb_data);

  free (img->intra_block);

  free_mem2Dint (img->ipredmode);

  free_mem2Dint(img->field_anchor);

  free_mem3Dint(img->wp_weight, 2);
  free_mem3Dint(img->wp_offset, 6);
  free_mem4Dint(img->wbp_weight, 6, MAX_REFERENCE_PICTURES);

  global_init_done = 0;

}
Ejemplo n.º 5
0
/*!
 ************************************************************************
 * \brief
 *    Free allocated memory of frame size related global buffers
 *    buffers are defined in global.h, allocated memory is allocated in
 *    int init_global_buffers()
 *
 * \par Input:
 *    Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
 *
 * \par Output:
 *    none
 *
 *-----------------------------------------------------------------------			
 *	 Function Argument List Changed [Removing Global Variables] 
 *	 Input parameters added are 
 *			- h264_decoder* dec_params
 *
 *		<*****@*****.**>
  
 ************************************************************************
*/
void free_global_buffers_baseline( h264_decoder* dec_params )
{
	ImageParameters* img = dec_params->img;

//	h264_free (dec_params->img->nz_coeff);

	h264_free (dec_params->img->nz_coeff1);
	
	// free mem, allocated for structure img
//	if (img->mb_data != NULL) 
//		h264_free(img->mb_data);

	// faisal
	h264_free(img->slice_nr);
	h264_free(img->ei_flag);
	
	///////////////////////////////////////////////////////////////////////////////////
	// memory deallocation for the new mb_data structure in the ImageParam structure //
	///////////////////////////////////////////////////////////////////////////////////
	h264_free(img->mb_data1.cbp_blk);
	h264_free(img->mb_data1.LFAlphaC0Offset);
	h264_free(img->mb_data1.LFBetaOffset);
	h264_free(img->mb_data1.LFDisableIdc);
	h264_free(img->mb_data1.mb_type);
	h264_free(img->mb_data1.partition);
	h264_free(img->mb_data1.mbAvailA);
	h264_free(img->mb_data1.mbAvailB);
	h264_free(img->mb_data1.NoMbPartLessThan8x8Flag);
	h264_free(img->mb_data1.qp);
	///////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////

	h264_free (dec_params->img->intra_block);
	free_mem2D ( (byte **) dec_params->img->ipredmode);
	free_mem3Dint(dec_params->img->wp_weight, 2);
	free_mem3Dint(dec_params->img->wp_offset, 6);
	free_mem4Dint(dec_params->img->wbp_weight, 6, MAX_REFERENCE_PICTURES);
	/* End of Change*/
//	h264_free (dec_params->img->quad);
    delete_contexts_MotionInfo(dec_params->mot_ctx);
    delete_contexts_TextureInfo(dec_params->tex_ctx);
	dec_params->global_init_done = 0;
}
Ejemplo n.º 6
0
/*!
************************************************************************
* \brief
*    Free allocated memory of frame size related global buffers
*    buffers are defined in global.h, allocated memory is allocated in
*    int init_global_buffers()
*
* \par Input:
*    Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
*
* \par Output:
*    none
*
************************************************************************
*/
void free_global_buffers()
{
    free_mem2Dpel (imgY_ref);
    if (imgUV_ref)
        free_mem3Dpel (imgUV_ref,2);

    // CAVLC free mem
    free_mem3Dint(img->nz_coeff, img->oldFrameSizeInMbs);

    free_mem2Dint(img->siblock);

    // free mem, allocated for structure img
    if (img->mb_data       != NULL) free(img->mb_data);

    free (img->intra_block);

    free_mem2Dint (img->ipredmode);

    free_mem2Dint(img->field_anchor);

    free_mem3Dint(img->wp_weight, 2);
    free_mem3Dint(img->wp_offset, 6);
    free_mem4Dint(img->wbp_weight, 6, MAX_REFERENCE_PICTURES);

    free (img->quad);

#ifdef ADAPTIVE_FILTER
    free_mem2Ddouble (tmp_coef);
#endif

#ifdef ADAPTIVE_LOOP_FILTER
    FreeALFGlobalBurrers();
#endif

    global_init_done = 0;

}