@@ -437,7 +437,7 @@ bool cls_allcam::getsizes_reset()
437437
438438void cls_allcam::getsizes_pct ()
439439{
440- int indx;
440+ int indx, dst_w, dst_h, dst_scale ;
441441 cls_camera *p_cam;
442442
443443 if ((all_sizes.src_h ==0 ) || (all_sizes.src_w == 0 )) {
@@ -457,24 +457,31 @@ void cls_allcam::getsizes_pct()
457457 (((p_cam->all_loc .offset_row +p_cam->all_sizes .dst_h ) * 100 ) /all_sizes.src_h );
458458 }
459459
460- if (all_sizes. src_w > all_sizes. src_h ) {
461- all_sizes. dst_w = 1280 ;
462- all_sizes. dst_h = (int )(( float )(all_sizes. dst_w * all_sizes.src_h /all_sizes. src_w ));
463- if ((all_sizes. dst_h % 8 ) != 0 ) {
464- all_sizes. dst_h = all_sizes. dst_h - (all_sizes. dst_h % 8 ) + 8 ;
465- }
466- all_sizes. dst_sz = (all_sizes. dst_w * all_sizes. dst_h * 3 )/ 2 ;
467- } else {
468- all_sizes. dst_h = 720 ;
469- all_sizes.dst_w = ( int )(( float )(all_sizes. dst_h * all_sizes. src_w /all_sizes. src_h )) ;
470- if ((all_sizes. dst_w % 8 ) != 0 ) {
471- all_sizes. dst_w = all_sizes. dst_w - ( all_sizes.dst_w % 8 ) + 8 ;
472- }
473- all_sizes. dst_sz = (all_sizes. dst_w * all_sizes. dst_h * 3 )/ 2 ;
460+ dst_scale = app-> cfg -> stream_preview_scale ;
461+
462+ dst_w = ((dst_scale * all_sizes.src_w ) / 100 );
463+ if ((dst_w % 8 ) != 0 ) {
464+ dst_w = dst_w - (dst_w % 8 ) + 8 ;
465+ }
466+ if ( dst_w < 64 ){
467+ dst_w = 64 ;
468+ }
469+ all_sizes.dst_w = dst_w ;
470+
471+ dst_h = ((dst_scale * all_sizes.src_h ) / 100 ) ;
472+ if ((dst_h % 8 ) != 0 ) {
473+ dst_h = dst_h - ( dst_h % 8 ) + 8 ;
474474 }
475+ if (dst_h < 64 ) {
476+ dst_h = 64 ;
477+ }
478+ all_sizes.dst_h = dst_h;
479+ all_sizes.dst_sz = (dst_w * dst_h * 3 )/2 ;
480+
475481 MOTPLS_LOG (DBG, TYPE_STREAM, NO_ERRNO
476- , " Combined image source size %dx%d scaled to %dx%d"
482+ , " Combined Image Original Size %dx%d Scale %d New Size %dx%d"
477483 , all_sizes.src_w , all_sizes.src_h
484+ , dst_scale
478485 , all_sizes.dst_w , all_sizes.dst_h );
479486
480487}
0 commit comments