nvdec: Make use of [[nodiscard]] where applicable
Prevents bugs from occurring where the results of a function are accidentally discarded
This commit is contained in:
		
							parent
							
								
									14a97d082e
								
							
						
					
					
						commit
						4f0f481f63
					
				| @ -42,11 +42,11 @@ public: | ||||
|     void Decode(); | ||||
| 
 | ||||
|     /// Returns most recently decoded frame
 | ||||
|     AVFrame* GetCurrentFrame(); | ||||
|     const AVFrame* GetCurrentFrame() const; | ||||
|     [[nodiscard]] AVFrame* GetCurrentFrame(); | ||||
|     [[nodiscard]] const AVFrame* GetCurrentFrame() const; | ||||
| 
 | ||||
|     /// Returns the value of current_codec
 | ||||
|     NvdecCommon::VideoCodec GetCurrentCodec() const; | ||||
|     [[nodiscard]] NvdecCommon::VideoCodec GetCurrentCodec() const; | ||||
| 
 | ||||
| private: | ||||
|     bool initialized{}; | ||||
|  | ||||
| @ -43,7 +43,8 @@ H264::H264(GPU& gpu_) : gpu(gpu_) {} | ||||
| 
 | ||||
| H264::~H264() = default; | ||||
| 
 | ||||
| std::vector<u8>& H264::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, bool is_first_frame) { | ||||
| const std::vector<u8>& H264::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, | ||||
|                                                 bool is_first_frame) { | ||||
|     H264DecoderContext context{}; | ||||
|     gpu.MemoryManager().ReadBlock(state.picture_info_offset, &context, sizeof(H264DecoderContext)); | ||||
| 
 | ||||
|  | ||||
| @ -51,14 +51,14 @@ public: | ||||
|     void WriteScalingList(const std::vector<u8>& list, s32 start, s32 count); | ||||
| 
 | ||||
|     /// Return the bitstream as a vector.
 | ||||
|     std::vector<u8>& GetByteArray(); | ||||
|     const std::vector<u8>& GetByteArray() const; | ||||
|     [[nodiscard]] std::vector<u8>& GetByteArray(); | ||||
|     [[nodiscard]] const std::vector<u8>& GetByteArray() const; | ||||
| 
 | ||||
| private: | ||||
|     void WriteBits(s32 value, s32 bit_count); | ||||
|     void WriteExpGolombCodedInt(s32 value); | ||||
|     void WriteExpGolombCodedUInt(u32 value); | ||||
|     s32 GetFreeBufferBits(); | ||||
|     [[nodiscard]] s32 GetFreeBufferBits(); | ||||
|     void Flush(); | ||||
| 
 | ||||
|     s32 buffer_size{8}; | ||||
| @ -74,8 +74,8 @@ public: | ||||
|     ~H264(); | ||||
| 
 | ||||
|     /// Compose the H264 header of the frame for FFmpeg decoding
 | ||||
|     std::vector<u8>& ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, | ||||
|                                         bool is_first_frame = false); | ||||
|     [[nodiscard]] const std::vector<u8>& ComposeFrameHeader(NvdecCommon::NvdecRegisters& state, | ||||
|                                                             bool is_first_frame = false); | ||||
| 
 | ||||
| private: | ||||
|     struct H264ParameterSet { | ||||
|  | ||||
| @ -854,7 +854,7 @@ VpxBitStreamWriter VP9::ComposeUncompressedHeader() { | ||||
|     return uncomp_writer; | ||||
| } | ||||
| 
 | ||||
| std::vector<u8>& VP9::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state) { | ||||
| const std::vector<u8>& VP9::ComposeFrameHeader(NvdecCommon::NvdecRegisters& state) { | ||||
|     std::vector<u8> bitstream; | ||||
|     { | ||||
|         Vp9FrameContainer curr_frame = GetCurrentFrame(state); | ||||
|  | ||||
| @ -119,7 +119,7 @@ public: | ||||
| 
 | ||||
|     /// Composes the VP9 frame from the GPU state information. Based on the official VP9 spec
 | ||||
|     /// documentation
 | ||||
|     std::vector<u8>& ComposeFrameHeader(NvdecCommon::NvdecRegisters& state); | ||||
|     [[nodiscard]] const std::vector<u8>& ComposeFrameHeader(NvdecCommon::NvdecRegisters& state); | ||||
| 
 | ||||
|     /// Returns true if the most recent frame was a hidden frame.
 | ||||
|     [[nodiscard]] bool WasFrameHidden() const { | ||||
|  | ||||
| @ -231,9 +231,8 @@ struct PictureInfo { | ||||
|     u32 surface_params{}; | ||||
|     INSERT_PADDING_WORDS(3); | ||||
| 
 | ||||
|     Vp9PictureInfo Convert() const { | ||||
| 
 | ||||
|         return Vp9PictureInfo{ | ||||
|     [[nodiscard]] Vp9PictureInfo Convert() const { | ||||
|         return { | ||||
|             .is_key_frame = (vp9_flags & FrameFlags::IsKeyFrame) != 0, | ||||
|             .intra_only = (vp9_flags & FrameFlags::IntraOnly) != 0, | ||||
|             .last_frame_was_key = (vp9_flags & FrameFlags::LastFrameIsKeyFrame) != 0, | ||||
|  | ||||
| @ -26,8 +26,8 @@ public: | ||||
|     void ProcessMethod(Method method, const std::vector<u32>& arguments); | ||||
| 
 | ||||
|     /// Return most recently decoded frame
 | ||||
|     AVFrame* GetFrame(); | ||||
|     const AVFrame* GetFrame() const; | ||||
|     [[nodiscard]] AVFrame* GetFrame(); | ||||
|     [[nodiscard]] const AVFrame* GetFrame() const; | ||||
| 
 | ||||
| private: | ||||
|     /// Invoke codec to decode a frame
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lioncash
						Lioncash