PD#SWPL-59072
Problem:
The logic of adjusting pts is wrong.
Solution:
Modify the logic of adjusting pts.
Verify:
ADT3
Signed-off-by: kuan.hu <kuan.hu@amlogic.com>
Change-Id: Ia5302afc6e309088e0576276545eadf5bd9f0d7e
}
}
} else {
- if ((pic_config->pts == 0) || (pic_config->pts <= hw->last_pts) &&
- (pic_config->pts64 <= hw->last_pts_us64)) {
+ if ((pic_config->pts == 0) || ((pic_config->pts <= hw->last_pts) &&
+ (pic_config->pts64 <= hw->last_pts_us64))) {
for (i = (FRAME_BUFFERS - 1); i > 0; i--) {
if ((hw->last_pts == hw->frame_mode_pts_save[i]) ||
(hw->last_pts_us64 == hw->frame_mode_pts64_save[i])) {
display_frame_count[pbi->index]++;
if (vf) {
if (!force_pts_unstable) {
- if ((pic_config->pts == 0) || (pic_config->pts <= pbi->last_pts) &&
- (pic_config->pts64 <= pbi->last_pts_us64)) {
+ if ((pic_config->pts == 0) || ((pic_config->pts <= pbi->last_pts) &&
+ (pic_config->pts64 <= pbi->last_pts_us64))) {
for (i = (FRAME_BUFFERS - 1); i > 0; i--) {
if ((pbi->last_pts == pbi->frame_mode_pts_save[i]) ||
(pbi->last_pts_us64 == pbi->frame_mode_pts64_save[i])) {