@@ -531,7 +531,7 @@ static void print_stat_au(oapve_stat_t *stat, int au_cnt, oapve_param_t *param,
531531
532532static void print_stat_frms (oapve_stat_t * stat , oapv_frms_t * ifrms , oapv_frms_t * rfrms , double psnr_avg [MAX_NUM_FRMS ][MAX_NUM_CC ])
533533{
534- int i , j ;
534+ int i , j , cfmt ;
535535 oapv_frm_info_t * finfo ;
536536 double psnr [MAX_NUM_FRMS ][MAX_NUM_CC ] = { 0 };
537537
@@ -563,10 +563,22 @@ static void print_stat_frms(oapve_stat_t *stat, oapv_frms_t *ifrms, oapv_frms_t
563563 : finfo [i ].pbu_type == OAPV_PBU_TYPE_DEPTH_FRAME ? "DEPTH"
564564 : finfo [i ].pbu_type == OAPV_PBU_TYPE_ALPHA_FRAME ? "ALPHA"
565565 : "UNKNOWN" ;
566- // clang-format on
567566
568- logv3 ("- FRM %-2d GID %-5d %-11s %9d-bytes %8.4fdB %8.4fdB %8.4fdB\n" ,
569- i , finfo [i ].group_id , str_frm_type , stat -> frm_size [i ], psnr [i ][0 ], psnr [i ][1 ], psnr [i ][2 ]);
567+ cfmt = OAPV_CS_GET_FORMAT (finfo [i ].cs );
568+
569+ // clang-format on
570+ if (cfmt == OAPV_CF_YCBCR400 ) { // 1 channel
571+ logv3 ("- FRM %-2d GID %-5d %-11s %9d-bytes %8.4fdB\n" ,
572+ i , finfo [i ].group_id , str_frm_type , stat -> frm_size [i ], psnr [i ][0 ]);
573+ }
574+ else if (cfmt == OAPV_CF_YCBCR4444 ) { // 4 channels
575+ logv3 ("- FRM %-2d GID %-5d %-11s %9d-bytes %8.4fdB %8.4fdB %8.4fdB %8.4fdB\n" ,
576+ i , finfo [i ].group_id , str_frm_type , stat -> frm_size [i ], psnr [i ][0 ], psnr [i ][1 ], psnr [i ][2 ], psnr [i ][3 ]);
577+ }
578+ else { // 3 channels
579+ logv3 ("- FRM %-2d GID %-5d %-11s %9d-bytes %8.4fdB %8.4fdB %8.4fdB\n" ,
580+ i , finfo [i ].group_id , str_frm_type , stat -> frm_size [i ], psnr [i ][0 ], psnr [i ][1 ], psnr [i ][2 ]);
581+ }
570582 }
571583 fflush (stdout );
572584 fflush (stderr );
@@ -875,8 +887,12 @@ int main(int argc, const char **argv)
875887 memset (& ifrms , 0 , sizeof (oapv_frm_t ));
876888 memset (& rfrms , 0 , sizeof (oapv_frm_t ));
877889
878- int codec_depth = (param -> profile_idc == OAPV_PROFILE_422_10 || param -> profile_idc == OAPV_PROFILE_400_10 ) ? 10 :
879- param -> profile_idc == OAPV_PROFILE_422_12 ? 12 : 0 ;
890+ int codec_depth = (param -> profile_idc == OAPV_PROFILE_422_10 ||
891+ param -> profile_idc == OAPV_PROFILE_400_10 ||
892+ param -> profile_idc == OAPV_PROFILE_444_10 ||
893+ param -> profile_idc == OAPV_PROFILE_4444_10 ) ? 10 :
894+ (param -> profile_idc == OAPV_PROFILE_422_12 ) ? 12 : 0 ;
895+
880896 if (codec_depth == 0 ) {
881897 logerr ("ERR: invalid profile\n" );
882898 ret = -1 ;
@@ -1016,29 +1032,40 @@ int main(int argc, const char **argv)
10161032
10171033 logv2_line ("Summary" );
10181034 psnr_avg [FRM_IDX ][0 ] /= au_cnt ;
1019- psnr_avg [FRM_IDX ][1 ] /= au_cnt ;
1020- psnr_avg [FRM_IDX ][2 ] /= au_cnt ;
1021- if (cfmt == OAPV_CF_YCBCR4444 ) {
1022- psnr_avg [FRM_IDX ][3 ] /= au_cnt ;
1035+ if (cfmt != OAPV_CF_YCBCR400 ) {
1036+ psnr_avg [FRM_IDX ][1 ] /= au_cnt ;
1037+ psnr_avg [FRM_IDX ][2 ] /= au_cnt ;
1038+ if (cfmt == OAPV_CF_YCBCR4444 ) {
1039+ psnr_avg [FRM_IDX ][3 ] /= au_cnt ;
1040+ }
10231041 }
10241042
10251043 logv3 (" PSNR Y(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][0 ]);
1026- logv3 (" PSNR U(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][1 ]);
1027- logv3 (" PSNR V(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][2 ]);
1028- if (cfmt == OAPV_CF_YCBCR4444 ) {
1029- logv3 (" PSNR T(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][3 ]);
1044+ if (cfmt != OAPV_CF_YCBCR400 ) {
1045+ logv3 (" PSNR U(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][1 ]);
1046+ logv3 (" PSNR V(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][2 ]);
1047+ if (cfmt == OAPV_CF_YCBCR4444 ) {
1048+ logv3 (" PSNR T(dB) : %-5.4f\n" , psnr_avg [FRM_IDX ][3 ]);
1049+ }
10301050 }
10311051 logv3 (" Total bits(bits) : %.0f\n" , bitrate_tot * 8 );
10321052 bitrate_tot *= (((float )param -> fps_num / param -> fps_den ) * 8 );
10331053 bitrate_tot /= au_cnt ;
10341054 bitrate_tot /= 1000 ;
10351055
1036- logv3 (" -----------------: bitrate(kbps)\tPSNR-Y\tPSNR-U\tPSNR-V\n" );
1037- if (cfmt == OAPV_CF_YCBCR4444 ) {
1056+
1057+ if (cfmt == OAPV_CF_YCBCR400 ) { // 1-channel
1058+ logv3 (" -----------------: bitrate(kbps)\tPSNR-Y\n" );
1059+ logv3 (" Summary : %-4.4f\t%-5.4f\n" ,
1060+ bitrate_tot , psnr_avg [FRM_IDX ][0 ]);
1061+ }
1062+ else if (cfmt == OAPV_CF_YCBCR4444 ) { // 4-channel
1063+ logv3 (" -----------------: bitrate(kbps)\tPSNR-Y\tPSNR-U\tPSNR-V\tPSNR-T\n" );
10381064 logv3 (" Summary : %-4.4f\t%-5.4f\t%-5.4f\t%-5.4f\t%-5.4f\n" ,
10391065 bitrate_tot , psnr_avg [FRM_IDX ][0 ], psnr_avg [FRM_IDX ][1 ], psnr_avg [FRM_IDX ][2 ], psnr_avg [FRM_IDX ][3 ]);
10401066 }
1041- else {
1067+ else { // 3-channel
1068+ logv3 (" -----------------: bitrate(kbps)\tPSNR-Y\tPSNR-U\tPSNR-V\n" );
10421069 logv3 (" Summary : %-5.4f\t%-5.4f\t%-5.4f\t%-5.4f\n" ,
10431070 bitrate_tot , psnr_avg [FRM_IDX ][0 ], psnr_avg [FRM_IDX ][1 ], psnr_avg [FRM_IDX ][2 ]);
10441071 }
0 commit comments