/*
|
* Copyright 2015 Rockchip Electronics Co. LTD
|
*
|
* 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.
|
*/
|
|
#ifndef __H264E_PPS_H__
|
#define __H264E_PPS_H__
|
|
#include "mpp_packet.h"
|
#include "mpp_enc_cfg.h"
|
|
#include "h264_syntax.h"
|
|
typedef struct H264ePps_t {
|
RK_S32 pps_id;
|
RK_S32 sps_id;
|
|
// 0 - CAVLC 1 - CABAC
|
RK_S32 entropy_coding_mode;
|
|
RK_S32 bottom_field_pic_order_in_frame_present;
|
RK_S32 num_slice_groups;
|
|
RK_S32 num_ref_idx_l0_default_active;
|
RK_S32 num_ref_idx_l1_default_active;
|
|
RK_S32 weighted_pred;
|
RK_S32 weighted_bipred_idc;
|
|
RK_S32 pic_init_qp;
|
RK_S32 pic_init_qs;
|
|
RK_S32 chroma_qp_index_offset;
|
RK_S32 second_chroma_qp_index_offset_present;
|
RK_S32 second_chroma_qp_index_offset;
|
|
RK_S32 deblocking_filter_control;
|
RK_S32 constrained_intra_pred;
|
RK_S32 redundant_pic_cnt;
|
|
RK_S32 transform_8x8_mode;
|
|
// Only support flat and default scaling list
|
RK_S32 pic_scaling_matrix_present;
|
RK_S32 use_default_scaling_matrix[H264_SCALING_MATRIX_TYPE_BUTT];
|
} H264ePps;
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
MPP_RET h264e_pps_update(H264ePps *pps, MppEncCfgSet *cfg);
|
MPP_RET h264e_pps_to_packet(H264ePps *pps, MppPacket packet, RK_S32 *offset, RK_S32 *len);
|
MPP_RET h264e_pps_dump(H264ePps *pps);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* __H264E_PPS_H__ */
|