u32 start_bit_cnt;
u32 right_frame_count;
u32 wrong_frame_count;
+ u32 error_frame_width;
+ u32 error_frame_height;
};
static u32 again_threshold;
seq_info2,
mb_width,
mb_height);
+ hw->error_frame_width = mb_width << 4;
+ hw->error_frame_height = mb_height << 4;
return -1;
}
+ hw->error_frame_width = 0;
+ hw->error_frame_height = 0;
if (seq_info2 != 0 &&
hw->seq_info2 != (seq_info2 & (~0x80000000)) &&
vstatus->frame_width = hw->frame_width;
vstatus->frame_height = hw->frame_height;
+ if (hw->error_frame_width &&
+ hw->error_frame_height) {
+ vstatus->frame_width = hw->error_frame_width;
+ vstatus->frame_height = hw->error_frame_height;
+ }
if (hw->frame_dur != 0) {
vstatus->frame_dur = hw->frame_dur;
vstatus->frame_rate = ((96000 * 10 / hw->frame_dur) % 10) < 5 ?
param1,
mb_width,
mb_height);
+ hw->error_frame_width = mb_width << 4;
+ hw->error_frame_height = mb_height << 4;
return -1;
}
+ hw->error_frame_width = 0;
+ hw->error_frame_height = 0;
reorder_pic_num =
get_max_dec_frame_buf_size(level_idc,
if (!hevc)
return -1;
- vstatus->frame_width = hevc->frame_width;
+ vstatus->frame_width = hevc->pic_w;
/* for hevc interlace for disp height x2 */
vstatus->frame_height =
- (hevc->frame_height << hevc->interlace_flag);
+ (hevc->pic_h << hevc->interlace_flag);
if (hevc->frame_dur != 0)
vstatus->frame_rate = ((96000 * 10 / hevc->frame_dur) % 10) < 5 ?
96000 / hevc->frame_dur : (96000 / hevc->frame_dur +1);
u64 frame_mode_pts64_save[FRAME_BUFFERS];
int run_ready_min_buf_num;
int one_package_frame_cnt;
+ u32 error_frame_width;
+ u32 error_frame_height;
};
static int vp9_print(struct VP9Decoder_s *pbi,
width = params->p.width;
height = params->p.height;
if (is_oversize(width, height)) {
+ pbi->error_frame_width = width;
+ pbi->error_frame_height = height;
vp9_print(pbi, 0, "%s, Error: Invalid frame size\n", __func__);
return -1;
}
+ pbi->error_frame_width = 0;
+ pbi->error_frame_height = 0;
/*vp9_read_frame_size(rb, &width, &height);*/
if (print_header_info)
}
if (is_oversize(width, height)) {
+ pbi->error_frame_width = width;
+ pbi->error_frame_height = height;
vp9_print(pbi, 0, "%s, Error: Invalid frame size\n", __func__);
return -1;
}
+ pbi->error_frame_width = 0;
+ pbi->error_frame_height = 0;
params->p.width = width;
params->p.height = height;
vstatus->frame_width = frame_width;
vstatus->frame_height = frame_height;
+ if (vp9->error_frame_width &&
+ vp9->error_frame_height) {
+ vstatus->frame_width = vp9->error_frame_width;
+ vstatus->frame_height = vp9->error_frame_height;
+ }
+
if (vp9->frame_dur != 0)
vstatus->frame_rate = ((96000 * 10 / vp9->frame_dur) % 10) < 5 ?
96000 / vp9->frame_dur : (96000 / vp9->frame_dur +1);