mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	
						commit
						fe8daa2590
					
				
					 1 changed files with 26 additions and 22 deletions
				
			
		|  | @ -734,45 +734,49 @@ private: | ||||||
|     ResultCode SetPackageParameter(const PackageParameterType& package); |     ResultCode SetPackageParameter(const PackageParameterType& package); | ||||||
| 
 | 
 | ||||||
|     struct ContextConfig { |     struct ContextConfig { | ||||||
|         Flip flip; |         Flip flip{Flip::None}; | ||||||
|         Effect effect; |         Effect effect{Effect::None}; | ||||||
|         OutputFormat format; |         OutputFormat format{OutputFormat::YUV422}; | ||||||
|         Resolution resolution; |         Resolution resolution = {0, 0, 0, 0, 0, 0}; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     struct CameraConfig { |     struct CameraConfig { | ||||||
|         std::unique_ptr<Camera::CameraInterface> impl; |         std::unique_ptr<Camera::CameraInterface> impl; | ||||||
|         std::array<ContextConfig, 2> contexts; |         std::array<ContextConfig, 2> contexts; | ||||||
|         int current_context; |         int current_context{0}; | ||||||
|         FrameRate frame_rate; |         FrameRate frame_rate{FrameRate::Rate_5}; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     struct PortConfig { |     struct PortConfig { | ||||||
|         int camera_id; |         int camera_id{0}; | ||||||
| 
 | 
 | ||||||
|         bool is_active;            // set when the port is activated by an Activate call.
 |         bool is_active{false}; // set when the port is activated by an Activate call.
 | ||||||
|         bool is_pending_receiving; // set if SetReceiving is called when is_busy = false. When
 |  | ||||||
|         // StartCapture is called then, this will trigger a receiving
 |  | ||||||
|         // process and reset itself.
 |  | ||||||
|         bool is_busy;      // set when StartCapture is called and reset when StopCapture is called.
 |  | ||||||
|         bool is_receiving; // set when there is an ongoing receiving process.
 |  | ||||||
| 
 | 
 | ||||||
|         bool is_trimming; |         // set if SetReceiving is called when is_busy = false. When StartCapture is called then,
 | ||||||
|         u16 x0; // x-coordinate of starting position for trimming
 |         // this will trigger a receiving process and reset itself.
 | ||||||
|         u16 y0; // y-coordinate of starting position for trimming
 |         bool is_pending_receiving{false}; | ||||||
|         u16 x1; // x-coordinate of ending position for trimming
 |  | ||||||
|         u16 y1; // y-coordinate of ending position for trimming
 |  | ||||||
| 
 | 
 | ||||||
|         u16 transfer_bytes; |         // set when StartCapture is called and reset when StopCapture is called.
 | ||||||
|  |         bool is_busy{false}; | ||||||
|  | 
 | ||||||
|  |         bool is_receiving{false}; // set when there is an ongoing receiving process.
 | ||||||
|  | 
 | ||||||
|  |         bool is_trimming{false}; | ||||||
|  |         u16 x0{0}; // x-coordinate of starting position for trimming
 | ||||||
|  |         u16 y0{0}; // y-coordinate of starting position for trimming
 | ||||||
|  |         u16 x1{0}; // x-coordinate of ending position for trimming
 | ||||||
|  |         u16 y1{0}; // y-coordinate of ending position for trimming
 | ||||||
|  | 
 | ||||||
|  |         u16 transfer_bytes{256}; | ||||||
| 
 | 
 | ||||||
|         Kernel::SharedPtr<Kernel::Event> completion_event; |         Kernel::SharedPtr<Kernel::Event> completion_event; | ||||||
|         Kernel::SharedPtr<Kernel::Event> buffer_error_interrupt_event; |         Kernel::SharedPtr<Kernel::Event> buffer_error_interrupt_event; | ||||||
|         Kernel::SharedPtr<Kernel::Event> vsync_interrupt_event; |         Kernel::SharedPtr<Kernel::Event> vsync_interrupt_event; | ||||||
| 
 | 
 | ||||||
|         std::future<std::vector<u16>> capture_result; // will hold the received frame.
 |         std::future<std::vector<u16>> capture_result; // will hold the received frame.
 | ||||||
|         Kernel::Process* dest_process; |         Kernel::Process* dest_process{nullptr}; | ||||||
|         VAddr dest;    // the destination address of the receiving process
 |         VAddr dest{0};    // the destination address of the receiving process
 | ||||||
|         u32 dest_size; // the destination size of the receiving process
 |         u32 dest_size{0}; // the destination size of the receiving process
 | ||||||
| 
 | 
 | ||||||
|         void Clear(); |         void Clear(); | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue