• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2 *
3 * Copyright (C) 2012 Ittiam Systems Pvt Ltd, Bangalore
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 ******************************************************************************/
18 /**
19 *******************************************************************************
20 * @file
21 *  ihevcd_parse_headers.h
22 *
23 * @brief
24 *  Parsing of various headers like VPS, SPS, PPS etc
25 *
26 * @author
27 *  Ittiam
28 *
29 * @remarks
30 *  None
31 *
32 *******************************************************************************
33 */
34 
35 #ifndef _IHEVCD_PARSE_HEADERS_H_
36 #define _IHEVCD_PARSE_HEADERS_H_
37 
38 void ihevcd_copy_sps(codec_t *ps_codec, WORD32 sps_id, WORD32 sps_id_ref);
39 void ihevcd_copy_pps(codec_t *ps_codec, WORD32 pps_id, WORD32 pps_id_ref);
40 void ihevcd_copy_slice_hdr(codec_t *ps_codec, WORD32 slice_idx, WORD32 slice_idx_ref);
41 
42 IHEVCD_ERROR_T ihevcd_parse_vps(codec_t *ps_codec);
43 IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec);
44 IHEVCD_ERROR_T ihevcd_parse_pps(codec_t *ps_codec);
45 IHEVCD_ERROR_T ihevcd_parse_sei(codec_t *ps_codec, nal_header_t *ps_nal);
46 IHEVCD_ERROR_T ihevcd_parse_pic_timing_sei(codec_t *ps_codec, sps_t *ps_sps);
47 IHEVCD_ERROR_T ihevcd_parse_buffering_period_sei(codec_t *ps_codec, sps_t *ps_sps);
48 IHEVCD_ERROR_T ihevcd_parse_time_code_sei(codec_t *ps_codec);
49 IHEVCD_ERROR_T ihevcd_parse_user_data_registered_itu_t_t35(codec_t *ps_codec, UWORD32 u4_payload_size);
50 IHEVCD_ERROR_T ihevcd_parse_active_parameter_sets_sei(codec_t *ps_codec, sps_t *ps_sps);
51 IHEVCD_ERROR_T ihevcd_read_rbsp_trailing_bits(codec_t *ps_codec, UWORD32 u4_bits_left);
52 IHEVCD_ERROR_T ihevcd_parse_slice_header(codec_t *ps_codec,
53                                          nal_header_t *ps_nal);
54 
55 #endif /* _IHEVCD_PARSE_HEADERS_H_ */
56