[checksum]: use sum and xor for data/frame check

Change-Id: Ie3bd2f2819d8387a5b2486cf0a096d271220d819
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
This commit is contained in:
Ding Wei
2018-01-19 15:01:38 +08:00
parent 1a795b05aa
commit 53a02bf26f
2 changed files with 114 additions and 33 deletions

View File

@@ -26,6 +26,18 @@ typedef struct OptionInfo_t {
const char* help;
} OptionInfo;
typedef struct data_crc_t {
RK_U32 len;
RK_U32 sum;
RK_U32 xor;
} DataCrc;
typedef struct frame_crc_t {
DataCrc luma;
DataCrc chroma;
} FrmCrc;
#define show_options(opt) \
do { \
_show_options(sizeof(opt)/sizeof(OptionInfo), opt); \
@@ -37,9 +49,14 @@ extern "C" {
void _show_options(int count, OptionInfo *options);
void dump_mpp_frame_to_file(MppFrame frame, FILE *fp);
void calc_frm_checksum(MppFrame frame, RK_U8 *sum);
void write_checksum(FILE *fp, RK_U8 *sum);
void read_checksum(FILE *fp, RK_U8 *sum);
void calc_data_crc(RK_U8 *dat, RK_U32 len, DataCrc *crc);
void write_data_crc(FILE *fp, DataCrc *crc);
void read_data_crc(FILE *fp, DataCrc *crc);
void calc_frm_crc(MppFrame frame, FrmCrc *crc);
void write_frm_crc(FILE *fp, FrmCrc *crc);
void read_frm_crc(FILE *fp, FrmCrc *crc);
#ifdef __cplusplus
}