| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -79,8 +79,12 @@ void CameraBuf::init(cl_device_id device_id, cl_context context, CameraState *s, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  int nv12_height = VENUS_Y_SCANLINES(COLOR_FMT_NV12, rgb_height); | 
					 | 
					 | 
					 | 
					  int nv12_height = VENUS_Y_SCANLINES(COLOR_FMT_NV12, rgb_height); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  assert(nv12_width == VENUS_UV_STRIDE(COLOR_FMT_NV12, rgb_width)); | 
					 | 
					 | 
					 | 
					  assert(nv12_width == VENUS_UV_STRIDE(COLOR_FMT_NV12, rgb_width)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  assert(nv12_height/2 == VENUS_UV_SCANLINES(COLOR_FMT_NV12, rgb_height)); | 
					 | 
					 | 
					 | 
					  assert(nv12_height/2 == VENUS_UV_SCANLINES(COLOR_FMT_NV12, rgb_height)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  size_t nv12_size = 2346 * nv12_width;  // comes from v4l2_format.fmt.pix_mp.plane_fmt[0].sizeimage
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  size_t nv12_uv_offset = nv12_width * nv12_height; | 
					 | 
					 | 
					 | 
					  size_t nv12_uv_offset = nv12_width * nv12_height; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  // the encoder HW tells us the size it wants after setting it up.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  // TODO: VENUS_BUFFER_SIZE should give the size, but it's too small. dependent on encoder settings?
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  size_t nv12_size = (rgb_width >= 2688 ? 2900 : 2346)*nv12_width; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  vipc_server->create_buffers_with_sizes(stream_type, YUV_BUFFER_COUNT, false, rgb_width, rgb_height, nv12_size, nv12_width, nv12_uv_offset); | 
					 | 
					 | 
					 | 
					  vipc_server->create_buffers_with_sizes(stream_type, YUV_BUFFER_COUNT, false, rgb_width, rgb_height, nv12_size, nv12_width, nv12_uv_offset); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  LOGD("created %d YUV vipc buffers with size %dx%d", YUV_BUFFER_COUNT, nv12_width, nv12_height); | 
					 | 
					 | 
					 | 
					  LOGD("created %d YUV vipc buffers with size %dx%d", YUV_BUFFER_COUNT, nv12_width, nv12_height); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |