| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -14,14 +14,12 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					class VideoEncoder { | 
					 | 
					 | 
					 | 
					class VideoEncoder { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					public: | 
					 | 
					 | 
					 | 
					public: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height) | 
					 | 
					 | 
					 | 
					  VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     : encoder_info(encoder_info), in_width(in_width), in_height(in_height) {} | 
					 | 
					 | 
					 | 
					  virtual ~VideoEncoder() {}; | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  virtual ~VideoEncoder(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  virtual int encode_frame(VisionBuf* buf, VisionIpcBufExtra *extra) = 0; | 
					 | 
					 | 
					 | 
					  virtual int encode_frame(VisionBuf* buf, VisionIpcBufExtra *extra) = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  virtual void encoder_open(const char* path) = 0; | 
					 | 
					 | 
					 | 
					  virtual void encoder_open(const char* path) = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  virtual void encoder_close() = 0; | 
					 | 
					 | 
					 | 
					  virtual void encoder_close() = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  void publisher_init(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  static void publisher_publish(VideoEncoder *e, int segment_num, uint32_t idx, VisionIpcBufExtra &extra, unsigned int flags, kj::ArrayPtr<capnp::byte> header, kj::ArrayPtr<capnp::byte> dat); | 
					 | 
					 | 
					 | 
					  static void publisher_publish(VideoEncoder *e, int segment_num, uint32_t idx, VisionIpcBufExtra &extra, unsigned int flags, kj::ArrayPtr<capnp::byte> header, kj::ArrayPtr<capnp::byte> dat); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -32,7 +30,5 @@ protected: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					private: | 
					 | 
					 | 
					 | 
					private: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  // total frames encoded
 | 
					 | 
					 | 
					 | 
					  // total frames encoded
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  int cnt = 0; | 
					 | 
					 | 
					 | 
					  int cnt = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  // publishing
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  std::unique_ptr<PubMaster> pm; | 
					 | 
					 | 
					 | 
					  std::unique_ptr<PubMaster> pm; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}; | 
					 | 
					 | 
					 | 
					}; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
  |