From 1f3d612b5f783374f83107d4f39b8eb85030b1f593eb6f8dd939751ae7b7a901 Mon Sep 17 00:00:00 2001 From: copecone Date: Tue, 9 Jun 2026 01:19:30 +0900 Subject: [PATCH] Refactor `FFmpegNativeEncoder` --- Util/FFmpeg/FFmpegNativeEncoder.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Util/FFmpeg/FFmpegNativeEncoder.cs b/Util/FFmpeg/FFmpegNativeEncoder.cs index a57b6ea..2cc5e28 100644 --- a/Util/FFmpeg/FFmpegNativeEncoder.cs +++ b/Util/FFmpeg/FFmpegNativeEncoder.cs @@ -310,7 +310,7 @@ namespace ADOFAIRenderer.Util.FFmpeg // FFmpeg이 내부적으로 NV12 ↔ QSV 서피스 간 매핑을 처리합니다. // // 참고: https://ffmpeg.org/doxygen/trunk/pixfmt_8h.html - AVPixelFormat selectedPixFmt = AVPixelFormat.AV_PIX_FMT_YUV420P; + var selectedPixFmt = AVPixelFormat.AV_PIX_FMT_YUV420P; if (encoderName.Contains("qsv")) { selectedPixFmt = AVPixelFormat.AV_PIX_FMT_NV12; @@ -404,7 +404,7 @@ namespace ADOFAIRenderer.Util.FFmpeg if (encoderName.Contains("qsv")) { AVBufferRef* hwDeviceCtx = null; - bool qsvReady = false; + var qsvReady = false; int err; // ── 전략 1: child_device_type=d3d11va 옵션 ── @@ -569,7 +569,7 @@ namespace ADOFAIRenderer.Util.FFmpeg // 성공하면 0 이상을 반환하고, 이후 avcodec_send_frame/avcodec_receive_packet으로 // 프레임 인코딩이 가능해집니다. // 참고: https://ffmpeg.org/doxygen/trunk/group__lavc__core.html - int openResult = ffmpeg.avcodec_open2(_pCodecContext, pCodec, null); + var openResult = ffmpeg.avcodec_open2(_pCodecContext, pCodec, null); if (openResult >= 0) { bool isHardware = encoderName.Contains("nvenc") || encoderName.Contains("amf") || encoderName.Contains("qsv"); @@ -788,7 +788,7 @@ namespace ADOFAIRenderer.Util.FFmpeg { if (_disposed || !_isInitialized) return; - int stride = _settings.Width * 4; // RGBA = 4 bytes per pixel + var stride = _settings.Width * 4; // RGBA = 4 bytes per pixel _pSrcFrame->data[0] = buffer + stride * (_settings.Height - 1); // 마지막 행의 시작 주소 _pSrcFrame->linesize[0] = -stride; // 음수 stride로 상하 반전 _pSrcFrame->width = _settings.Width;