unplugged-system/external/libavc/decoder/svc/isvcd_nal_parse.h

109 lines
4.5 KiB
C
Raw Normal View History

/******************************************************************************
*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*****************************************************************************
* Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
*/
/*!
**************************************************************************
* \file isvcd_nal_parse.h
*
* \brief
* Contains routines that resample for SVC resampling
*
* Detailed_description
*
* \date
*
*
* \author : Kishore
**************************************************************************
*/
#ifndef _SVCD_BITSTREAM_EXTRACT_H_
#define _SVCD_BITSTREAM_EXTRACT_H_
/*****************************************************************************/
/* File Includes */
/*****************************************************************************/
/*****************************************************************************/
/* Constant Macros */
/*****************************************************************************/
/*****************************************************************************/
/* Function Macros */
/*****************************************************************************/
/*****************************************************************************/
/* Typedefs */
/*****************************************************************************/
/*****************************************************************************/
/* Enums */
/*****************************************************************************/
typedef enum
{
FULL_INPUT_MODE = 0,
PARTIAL_INPUT_MODE
} NAL_PARSE_INPUT_MODE_T;
typedef enum
{
VCL_NAL_FOUND_FALSE = 0,
VCL_NAL_FOUND_TRUE
} EXTRACT_NON_VCL_NAL_RETURN_STATUS_T;
typedef enum
{
PIC_BOUNDARY_FALSE,
PIC_BOUNDARY_TRUE,
FLUSH_DECODED_PICTURE
} EXTRACT_VCL_NAL_RETURN_STATUS_T;
/*****************************************************************************/
/* Structure */
/*****************************************************************************/
/*****************************************************************************/
/* Extern Variable Declarations */
/*****************************************************************************/
/*****************************************************************************/
/* Extern Function Declarations */
/*****************************************************************************/
void isvcd_nal_parse_reset_ctxt(WORD32 i4_input_bitstream_mode, WORD32 i4_input_mode,
void *pv_nal_parse_ctxt);
WORD32 isvcd_nal_parse_set_target_attr(WORD32 i4_target_quality_id, WORD32 i4_target_dependency_id,
WORD32 i4_target_temporal_id, WORD32 i4_target_priority_id,
void *pv_nal_parse_ctxt);
WORD32 isvcd_nal_parse_vcl_nal_partial(void *pv_nal_parse_ctxt, UWORD8 *pu1_stream_buffer,
void *pv_out_non_vcl_nal, void *pv_out_vcl_nal,
UWORD32 *pu4_bytes_consumed, UWORD32 *pu4_num_bytes);
WORD32 isvcd_nal_parse_non_vcl_nal(void *pv_nal_parse_ctxt, UWORD8 *pu1_stream_buffer,
void *pv_out_non_vcl_nal, UWORD32 *pu4_bytes_consumed,
UWORD32 *pu4_num_bytes);
WORD32 isvcd_nal_parse_partial_signal_eos(void *pv_nal_parse_ctxt, void *pv_out_vcl_nal,
void *pv_out_non_vcl_nal);
#endif /* _SVCD_BITSTREAM_EXTRACT_H_ */