Example #1
0
/*!
 * \brief	Initialize Wels SSlice context (Single/multiple slices and FMO)
 *
 * \param	pSliceCtx		SSlice context to be initialized
 * \param	bFmoUseFlag	flag of using fmo
 * \param	iMbWidth		MB width
 * \param	iMbHeight		MB height
 * \param	uiSliceMode		slice mode
 * \param	mul_slice_arg	argument for multiple slice if it is applicable
 * \param	pPpsArg			argument for pPps parameter
 *
 * \return	0 - successful; none 0 - failed;
 */
int32_t InitSlicePEncCtx (SSliceCtx* pSliceCtx,
                          CMemoryAlign* pMa,
                          bool bFmoUseFlag,
                          int32_t iMbWidth,
                          int32_t iMbHeight,
                          SMulSliceOption* pMso,
                          void* pPpsArg) {
  if (NULL == pSliceCtx)
    return 1;

  InitSliceSegment (pSliceCtx,
                    pMa,
                    pMso,
                    iMbWidth,
                    iMbHeight);
  return 0;
}
/*!
 * \brief   Initialize Wels SSlice context (Single/multiple slices and FMO)
 *
 * \param   pCurDq          current layer which its SSlice context will be initialized
 * \param   bFmoUseFlag     flag of using fmo
 * \param   iMbWidth        MB width
 * \param   iMbHeight       MB height
 * \param   uiSliceMode     slice mode
 * \param   mul_slice_arg   argument for multiple slice if it is applicable
 * \param   pPpsArg         argument for pPps parameter
 *
 * \return  0 - successful; none 0 - failed;
 */
int32_t InitSlicePEncCtx (SDqLayer* pCurDq,
                          CMemoryAlign* pMa,
                          bool bFmoUseFlag,
                          int32_t iMbWidth,
                          int32_t iMbHeight,
                          SSliceArgument* pSliceArgument,
                          void* pPpsArg) {
  if (NULL == pCurDq)
    return 1;

  InitSliceSegment (pCurDq,
                    pMa,
                    pSliceArgument,
                    iMbWidth,
                    iMbHeight);
  return 0;
}