1*495ae853SAndroid Build Coastguard Worker /****************************************************************************** 2*495ae853SAndroid Build Coastguard Worker * 3*495ae853SAndroid Build Coastguard Worker * Copyright (C) 2015 The Android Open Source Project 4*495ae853SAndroid Build Coastguard Worker * 5*495ae853SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*495ae853SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*495ae853SAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*495ae853SAndroid Build Coastguard Worker * 9*495ae853SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*495ae853SAndroid Build Coastguard Worker * 11*495ae853SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*495ae853SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*495ae853SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*495ae853SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*495ae853SAndroid Build Coastguard Worker * limitations under the License. 16*495ae853SAndroid Build Coastguard Worker * 17*495ae853SAndroid Build Coastguard Worker ***************************************************************************** 18*495ae853SAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*495ae853SAndroid Build Coastguard Worker */ 20*495ae853SAndroid Build Coastguard Worker 21*495ae853SAndroid Build Coastguard Worker /** 22*495ae853SAndroid Build Coastguard Worker ******************************************************************************* 23*495ae853SAndroid Build Coastguard Worker * @file 24*495ae853SAndroid Build Coastguard Worker * ih264e_sei.h 25*495ae853SAndroid Build Coastguard Worker * 26*495ae853SAndroid Build Coastguard Worker * @brief 27*495ae853SAndroid Build Coastguard Worker * This file contains function declarations for sei message encoding 28*495ae853SAndroid Build Coastguard Worker * 29*495ae853SAndroid Build Coastguard Worker * @author 30*495ae853SAndroid Build Coastguard Worker * 31*495ae853SAndroid Build Coastguard Worker * 32*495ae853SAndroid Build Coastguard Worker * @remarks 33*495ae853SAndroid Build Coastguard Worker * None 34*495ae853SAndroid Build Coastguard Worker * 35*495ae853SAndroid Build Coastguard Worker ******************************************************************************* 36*495ae853SAndroid Build Coastguard Worker */ 37*495ae853SAndroid Build Coastguard Worker 38*495ae853SAndroid Build Coastguard Worker #ifndef ENCODER_IH264E_SEI_H_ 39*495ae853SAndroid Build Coastguard Worker #define ENCODER_IH264E_SEI_H_ 40*495ae853SAndroid Build Coastguard Worker 41*495ae853SAndroid Build Coastguard Worker 42*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 43*495ae853SAndroid Build Coastguard Worker /* INTERFACE STRUCTURE DEFINITIONS */ 44*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 45*495ae853SAndroid Build Coastguard Worker typedef enum 46*495ae853SAndroid Build Coastguard Worker { 47*495ae853SAndroid Build Coastguard Worker /* SEI PREFIX */ 48*495ae853SAndroid Build Coastguard Worker 49*495ae853SAndroid Build Coastguard Worker IH264_SEI_MASTERING_DISP_COL_VOL = 137, 50*495ae853SAndroid Build Coastguard Worker IH264_SEI_CONTENT_LIGHT_LEVEL_DATA = 144, 51*495ae853SAndroid Build Coastguard Worker IH264_SEI_AMBIENT_VIEWING_ENVIRONMENT = 148, 52*495ae853SAndroid Build Coastguard Worker IH264_SEI_CONTENT_COLOR_VOLUME = 149, 53*495ae853SAndroid Build Coastguard Worker IH264_SEI_SHUTTER_INTERVAL_INFO = 205 54*495ae853SAndroid Build Coastguard Worker }IH264_SEI_TYPE; 55*495ae853SAndroid Build Coastguard Worker 56*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 57*495ae853SAndroid Build Coastguard Worker /* Function Declarations */ 58*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/ 59*495ae853SAndroid Build Coastguard Worker 60*495ae853SAndroid Build Coastguard Worker /** 61*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 62*495ae853SAndroid Build Coastguard Worker * 63*495ae853SAndroid Build Coastguard Worker * @brief Generates Mastering Display Color Volume (Supplemental Enhancement Information ) 64*495ae853SAndroid Build Coastguard Worker * 65*495ae853SAndroid Build Coastguard Worker * @par Description 66*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 67*495ae853SAndroid Build Coastguard Worker * 68*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei_mdcl 69*495ae853SAndroid Build Coastguard Worker * pointer to structure containing mdcv SEI data 70*495ae853SAndroid Build Coastguard Worker * 71*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 72*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 73*495ae853SAndroid Build Coastguard Worker * 74*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 75*495ae853SAndroid Build Coastguard Worker * 76*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 77*495ae853SAndroid Build Coastguard Worker */ 78*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_mdcv_params(sei_mdcv_params_t *ps_sei_mdcv, 79*495ae853SAndroid Build Coastguard Worker bitstrm_t *ps_bitstrm); 80*495ae853SAndroid Build Coastguard Worker 81*495ae853SAndroid Build Coastguard Worker /** 82*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 83*495ae853SAndroid Build Coastguard Worker * 84*495ae853SAndroid Build Coastguard Worker * @brief Stores content light level info in bitstream 85*495ae853SAndroid Build Coastguard Worker * 86*495ae853SAndroid Build Coastguard Worker * @par Description 87*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 88*495ae853SAndroid Build Coastguard Worker * 89*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei_cll 90*495ae853SAndroid Build Coastguard Worker * pointer to structure containing cll sei data 91*495ae853SAndroid Build Coastguard Worker * 92*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 93*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 94*495ae853SAndroid Build Coastguard Worker * 95*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 96*495ae853SAndroid Build Coastguard Worker * 97*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 98*495ae853SAndroid Build Coastguard Worker */ 99*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_cll_params(sei_cll_params_t *ps_sei_cll, 100*495ae853SAndroid Build Coastguard Worker bitstrm_t *ps_bitstrm); 101*495ae853SAndroid Build Coastguard Worker 102*495ae853SAndroid Build Coastguard Worker /** 103*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 104*495ae853SAndroid Build Coastguard Worker * 105*495ae853SAndroid Build Coastguard Worker * @brief Stores ambient viewing environment info in bitstream 106*495ae853SAndroid Build Coastguard Worker * 107*495ae853SAndroid Build Coastguard Worker * @par Description 108*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 109*495ae853SAndroid Build Coastguard Worker * 110*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 111*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 112*495ae853SAndroid Build Coastguard Worker * 113*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei_ave 114*495ae853SAndroid Build Coastguard Worker * pointer to ambient viewing environment info 115*495ae853SAndroid Build Coastguard Worker * 116*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 117*495ae853SAndroid Build Coastguard Worker * 118*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 119*495ae853SAndroid Build Coastguard Worker */ 120*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_ave_params(sei_ave_params_t *ps_sei_ave, 121*495ae853SAndroid Build Coastguard Worker bitstrm_t *ps_bitstrm); 122*495ae853SAndroid Build Coastguard Worker 123*495ae853SAndroid Build Coastguard Worker /** 124*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 125*495ae853SAndroid Build Coastguard Worker * 126*495ae853SAndroid Build Coastguard Worker * @brief Generates Content Color Volume info (Supplemental Enhancement Information ) 127*495ae853SAndroid Build Coastguard Worker * 128*495ae853SAndroid Build Coastguard Worker * @par Description 129*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 130*495ae853SAndroid Build Coastguard Worker * 131*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 132*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 133*495ae853SAndroid Build Coastguard Worker * 134*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei_ccv 135*495ae853SAndroid Build Coastguard Worker * pointer to structure containing ccv SEI data 136*495ae853SAndroid Build Coastguard Worker * 137*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 138*495ae853SAndroid Build Coastguard Worker * 139*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 140*495ae853SAndroid Build Coastguard Worker */ 141*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_ccv_params(sei_ccv_params_t *ps_sei_ccv, 142*495ae853SAndroid Build Coastguard Worker bitstrm_t *ps_bitstrm); 143*495ae853SAndroid Build Coastguard Worker 144*495ae853SAndroid Build Coastguard Worker /** 145*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 146*495ae853SAndroid Build Coastguard Worker * 147*495ae853SAndroid Build Coastguard Worker * @brief Generates SEI (Supplemental Enhancement Information ) 148*495ae853SAndroid Build Coastguard Worker * 149*495ae853SAndroid Build Coastguard Worker * @par Description 150*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 151*495ae853SAndroid Build Coastguard Worker * 152*495ae853SAndroid Build Coastguard Worker * @param[in] e_payload_type 153*495ae853SAndroid Build Coastguard Worker * Determines the type of SEI msg 154*495ae853SAndroid Build Coastguard Worker * 155*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 156*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 157*495ae853SAndroid Build Coastguard Worker * 158*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei 159*495ae853SAndroid Build Coastguard Worker * pointer to structure containing SEI data 160*495ae853SAndroid Build Coastguard Worker * 161*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 162*495ae853SAndroid Build Coastguard Worker * 163*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 164*495ae853SAndroid Build Coastguard Worker */ 165*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_msg(IH264_SEI_TYPE e_payload_type, 166*495ae853SAndroid Build Coastguard Worker sei_params_t *ps_sei_params, 167*495ae853SAndroid Build Coastguard Worker bitstrm_t *ps_bitstrm); 168*495ae853SAndroid Build Coastguard Worker 169*495ae853SAndroid Build Coastguard Worker /** 170*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 171*495ae853SAndroid Build Coastguard Worker * 172*495ae853SAndroid Build Coastguard Worker * @brief Signal shutter interval info in the bitstream 173*495ae853SAndroid Build Coastguard Worker * 174*495ae853SAndroid Build Coastguard Worker * @par Description 175*495ae853SAndroid Build Coastguard Worker * Parse Supplemental Enhancement Information 176*495ae853SAndroid Build Coastguard Worker * 177*495ae853SAndroid Build Coastguard Worker * @param[in] ps_bitstrm 178*495ae853SAndroid Build Coastguard Worker * pointer to bitstream context (handle) 179*495ae853SAndroid Build Coastguard Worker * 180*495ae853SAndroid Build Coastguard Worker * @param[in] ps_sei_sii 181*495ae853SAndroid Build Coastguard Worker * pointer to shutter interval info 182*495ae853SAndroid Build Coastguard Worker * 183*495ae853SAndroid Build Coastguard Worker * @return success or failure error code 184*495ae853SAndroid Build Coastguard Worker * 185*495ae853SAndroid Build Coastguard Worker ****************************************************************************** 186*495ae853SAndroid Build Coastguard Worker */ 187*495ae853SAndroid Build Coastguard Worker IH264E_ERROR_T ih264e_put_sei_sii_params(sei_sii_params_t *ps_sei_sii, bitstrm_t *ps_bitstrm); 188*495ae853SAndroid Build Coastguard Worker 189*495ae853SAndroid Build Coastguard Worker #endif /* ENCODER_IH264E_SEI_H_ */ 190