xref: /rockchip-linux_mpp/mpp/codec/dec/common/h2645d_sei.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 */
2*437bfbebSnyanmisaka /*
3*437bfbebSnyanmisaka  * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4*437bfbebSnyanmisaka  */
5*437bfbebSnyanmisaka 
6*437bfbebSnyanmisaka #ifndef _H2645D_SEI_H_
7*437bfbebSnyanmisaka #define _H2645D_SEI_H_
8*437bfbebSnyanmisaka 
9*437bfbebSnyanmisaka #include "rk_type.h"
10*437bfbebSnyanmisaka #include "mpp_err.h"
11*437bfbebSnyanmisaka #include "mpp_bitread.h"
12*437bfbebSnyanmisaka 
13*437bfbebSnyanmisaka typedef struct SEI_Recovery_Point_t {
14*437bfbebSnyanmisaka     RK_U32 valid_flag;              // Whether this SEI is valid or not
15*437bfbebSnyanmisaka     RK_S32 recovery_frame_cnt;      // H.264: recovery_frame_cnt; H.265: recovery_poc_cnt
16*437bfbebSnyanmisaka     RK_S32 first_frm_id;            // The frame_num or poc of the frame associated with this SEI
17*437bfbebSnyanmisaka     RK_U32 first_frm_valid;         // The frame associated with this SEI is valid or not
18*437bfbebSnyanmisaka     RK_U32 first_frm_ref_missing;
19*437bfbebSnyanmisaka     RK_S32 recovery_pic_id;         // first_frm_id + recovery_frame_cnt;
20*437bfbebSnyanmisaka } RecoveryPoint;
21*437bfbebSnyanmisaka 
22*437bfbebSnyanmisaka #ifdef  __cplusplus
23*437bfbebSnyanmisaka extern "C" {
24*437bfbebSnyanmisaka #endif
25*437bfbebSnyanmisaka 
26*437bfbebSnyanmisaka MPP_RET check_encoder_sei_info(BitReadCtx_t *gb, RK_S32 payload_size, RK_U32 *is_match);
27*437bfbebSnyanmisaka 
28*437bfbebSnyanmisaka #ifdef  __cplusplus
29*437bfbebSnyanmisaka }
30*437bfbebSnyanmisaka #endif
31*437bfbebSnyanmisaka 
32*437bfbebSnyanmisaka //========================================
33*437bfbebSnyanmisaka #endif /* end of _H2645D_SEI_H_ */