|  |  |  | @ -67,7 +67,6 @@ LogCameraInfo cameras_logged[LOG_CAMERA_ID_MAX] = { | 
			
		
	
		
			
				
					|  |  |  |  |     .stream_type = VISION_STREAM_YUV, | 
			
		
	
		
			
				
					|  |  |  |  |     .filename = "fcamera.hevc", | 
			
		
	
		
			
				
					|  |  |  |  |     .frame_packet_name = "frame", | 
			
		
	
		
			
				
					|  |  |  |  |     .encode_idx_name = "encodeIdx", | 
			
		
	
		
			
				
					|  |  |  |  |     .fps = MAIN_FPS, | 
			
		
	
		
			
				
					|  |  |  |  |     .bitrate = MAIN_BITRATE, | 
			
		
	
		
			
				
					|  |  |  |  |     .is_h265 = true, | 
			
		
	
	
		
			
				
					|  |  |  | @ -78,7 +77,6 @@ LogCameraInfo cameras_logged[LOG_CAMERA_ID_MAX] = { | 
			
		
	
		
			
				
					|  |  |  |  |     .stream_type = VISION_STREAM_YUV_FRONT, | 
			
		
	
		
			
				
					|  |  |  |  |     .filename = "dcamera.hevc", | 
			
		
	
		
			
				
					|  |  |  |  |     .frame_packet_name = "frontFrame", | 
			
		
	
		
			
				
					|  |  |  |  |     .encode_idx_name = "frontEncodeIdx", | 
			
		
	
		
			
				
					|  |  |  |  |     .fps = MAIN_FPS, // on EONs, more compressed this way
 | 
			
		
	
		
			
				
					|  |  |  |  |     .bitrate = DCAM_BITRATE, | 
			
		
	
		
			
				
					|  |  |  |  |     .is_h265 = true, | 
			
		
	
	
		
			
				
					|  |  |  | @ -89,7 +87,6 @@ LogCameraInfo cameras_logged[LOG_CAMERA_ID_MAX] = { | 
			
		
	
		
			
				
					|  |  |  |  |     .stream_type = VISION_STREAM_YUV_WIDE, | 
			
		
	
		
			
				
					|  |  |  |  |     .filename = "ecamera.hevc", | 
			
		
	
		
			
				
					|  |  |  |  |     .frame_packet_name = "wideFrame", | 
			
		
	
		
			
				
					|  |  |  |  |     .encode_idx_name = "wideEncodeIdx", | 
			
		
	
		
			
				
					|  |  |  |  |     .fps = MAIN_FPS, | 
			
		
	
		
			
				
					|  |  |  |  |     .bitrate = MAIN_BITRATE, | 
			
		
	
		
			
				
					|  |  |  |  |     .is_h265 = true, | 
			
		
	
	
		
			
				
					|  |  |  | @ -235,9 +232,6 @@ void encoder_thread(RotateState *rotate_state, bool raw_clips, int cam_idx) { | 
			
		
	
		
			
				
					|  |  |  |  |   s.num_encoder += 1; | 
			
		
	
		
			
				
					|  |  |  |  |   pthread_mutex_unlock(&s.rotate_lock); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   PubSocket *idx_sock = PubSocket::create(s.ctx, cameras_logged[cam_idx].encode_idx_name); | 
			
		
	
		
			
				
					|  |  |  |  |   assert(idx_sock != NULL); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   LoggerHandle *lh = NULL; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   while (!do_exit) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -377,8 +371,12 @@ void encoder_thread(RotateState *rotate_state, bool raw_clips, int cam_idx) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         // publish encode index
 | 
			
		
	
		
			
				
					|  |  |  |  |         MessageBuilder msg; | 
			
		
	
		
			
				
					|  |  |  |  |         auto eidx = msg.initEvent().initEncodeIdx(); | 
			
		
	
		
			
				
					|  |  |  |  |         // this is really ugly
 | 
			
		
	
		
			
				
					|  |  |  |  |         auto eidx = cam_idx == LOG_CAMERA_ID_DCAMERA ? msg.initEvent().initFrontEncodeIdx() : | 
			
		
	
		
			
				
					|  |  |  |  |                     (cam_idx == LOG_CAMERA_ID_ECAMERA ? msg.initEvent().initWideEncodeIdx() : msg.initEvent().initEncodeIdx()); | 
			
		
	
		
			
				
					|  |  |  |  |         eidx.setFrameId(extra.frame_id); | 
			
		
	
		
			
				
					|  |  |  |  |         eidx.setTimestampSof(extra.timestamp_sof); | 
			
		
	
		
			
				
					|  |  |  |  |         eidx.setTimestampEof(extra.timestamp_eof); | 
			
		
	
		
			
				
					|  |  |  |  |   #ifdef QCOM2 | 
			
		
	
		
			
				
					|  |  |  |  |         eidx.setType(cereal::EncodeIndex::Type::FULL_H_E_V_C); | 
			
		
	
		
			
				
					|  |  |  |  |   #else | 
			
		
	
	
		
			
				
					|  |  |  | @ -390,9 +388,8 @@ void encoder_thread(RotateState *rotate_state, bool raw_clips, int cam_idx) { | 
			
		
	
		
			
				
					|  |  |  |  |         eidx.setSegmentId(out_id); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         auto bytes = msg.toBytes(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (idx_sock->send((char*)bytes.begin(), bytes.size()) < 0) { | 
			
		
	
		
			
				
					|  |  |  |  |           printf("err sending encodeIdx pkt: %s\n", strerror(errno)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (lh) { | 
			
		
	
		
			
				
					|  |  |  |  |           lh_log(lh, bytes.begin(), bytes.size(), false); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -450,8 +447,6 @@ void encoder_thread(RotateState *rotate_state, bool raw_clips, int cam_idx) { | 
			
		
	
		
			
				
					|  |  |  |  |     visionstream_destroy(&stream); | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   delete idx_sock; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   if (encoder_inited) { | 
			
		
	
		
			
				
					|  |  |  |  |     LOG("encoder destroy"); | 
			
		
	
		
			
				
					|  |  |  |  |     encoder_close(&encoder); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |