10d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/******************************************************************************
20d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
30d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore
40d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
50d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Licensed under the Apache License, Version 2.0 (the "License");
60d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* you may not use this file except in compliance with the License.
70d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* You may obtain a copy of the License at:
80d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
90d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* http://www.apache.org/licenses/LICENSE-2.0
100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* Unless required by applicable law or agreed to in writing, software
120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* distributed under the License is distributed on an "AS IS" BASIS,
130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* See the License for the specific language governing permissions and
150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* limitations under the License.
160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar******************************************************************************/
180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/**
190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*******************************************************************************
200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @file
210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*  ihevcd_parse_headers.h
220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @brief
240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*  Parsing of various headers like VPS, SPS, PPS etc
250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @author
270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*  Ittiam
280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar* @remarks
300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*  None
310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*
320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*******************************************************************************
330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar*/
340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar
350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#ifndef _IHEVCD_PARSE_HEADERS_H_
360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#define _IHEVCD_PARSE_HEADERS_H_
370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar
380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid ihevcd_copy_sps(codec_t *ps_codec, WORD32 sps_id, WORD32 sps_id_ref);
390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid ihevcd_copy_pps(codec_t *ps_codec, WORD32 pps_id, WORD32 pps_id_ref);
400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid ihevcd_copy_slice_hdr(codec_t *ps_codec, WORD32 slice_idx, WORD32 slice_idx_ref);
410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar
420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_vps(codec_t *ps_codec);
430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec);
440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_pps(codec_t *ps_codec);
45613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_sei(codec_t *ps_codec, nal_header_t *ps_nal);
46613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_pic_timing_sei(codec_t *ps_codec, sps_t *ps_sps);
47613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_buffering_period_sei(codec_t *ps_codec, sps_t *ps_sps);
48613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_time_code_sei(codec_t *ps_codec);
49613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_user_data_registered_itu_t_t35(codec_t *ps_codec, UWORD32 u4_payload_size);
50613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_active_parameter_sets_sei(codec_t *ps_codec, sps_t *ps_sps);
51613c712d196d00b6aec71d0b316427ab3e947012Harish MahendrakarIHEVCD_ERROR_T ihevcd_read_rbsp_trailing_bits(codec_t *ps_codec, UWORD32 u4_bits_left);
520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarIHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar                                         nal_header_t *ps_nal);
540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar
550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#endif /* _IHEVCD_PARSE_HEADERS_H_ */
56