From c65d401b5d0c22ce6b26e9bceb165bc48fefedde Mon Sep 17 00:00:00 2001 From: cbwu <504-wuchengbo@htsdfp.com> Date: Wed, 18 Sep 2024 15:06:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=85=89=E7=94=B5?= =?UTF-8?q?=E5=90=8A=E8=88=B1=E5=B7=A6=E5=8F=B3=E6=96=B9=E5=90=91=E8=B0=83?= =?UTF-8?q?=E8=8A=82=E7=9B=B8=E5=8F=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/GDDC/gddcCmdDlg.cpp | 49 ++++++++++++++++-------------------- Src/GDDC/gddcCmdDlg.ui | 2 +- Src/Video/cffmpeg_decode.cpp | 3 +++ 3 files changed, 25 insertions(+), 29 deletions(-) diff --git a/Src/GDDC/gddcCmdDlg.cpp b/Src/GDDC/gddcCmdDlg.cpp index 6e68bcd..a106a15 100644 --- a/Src/GDDC/gddcCmdDlg.cpp +++ b/Src/GDDC/gddcCmdDlg.cpp @@ -72,12 +72,11 @@ void GDDCCmdDlg::initParam() { m_paramInfraredWarning = 0; ui->swtichButton_4_1->setChecked(false); - ui->swtichButton_4_1->setFixedSize(100,20); + ui->swtichButton_4_1->setFixedSize(100, 20); ui->swtichButton_4_1->setButtonStyle(ImageSwitch::ButtonStyle_1); - //绑定选中切换信号 - connect(ui->swtichButton_4_1, SIGNAL(checkedChanged(bool)), this, SLOT(checkedChangedSlot(bool))); - - + // 绑定选中切换信号 + connect(ui->swtichButton_4_1, SIGNAL(checkedChanged(bool)), this, + SLOT(checkedChangedSlot(bool))); /*稳定平台*/ ui->comboBox_5_1->addItem("非常慢"); @@ -664,26 +663,23 @@ void GDDCCmdDlg::on_pushButton_4_18_pressed() { void GDDCCmdDlg::on_pushButton_4_18_released() { clearTJDCCmdBuffer(); } // 红外报警设置 -void GDDCCmdDlg::on_pushButton_4_19_pressed() -{ - UINT8 Bit0 = 0b00000001; // 测温型 - int sel = ui->lineEdit_4_2->text().toDouble()*10; - TJDCCmdBuffer[0] = (std::byte)(m_paramInfraredWarning+Bit0); - TJDCCmdBuffer[1] = (std::byte)sel; - TJDCCmdBuffer[2] = (std::byte)(sel>>8); +void GDDCCmdDlg::on_pushButton_4_19_pressed() { + UINT8 Bit0 = 0b00000001; // 测温型 + int sel = ui->lineEdit_4_2->text().toDouble() * 10; + TJDCCmdBuffer[0] = (std::byte)(m_paramInfraredWarning + Bit0); + TJDCCmdBuffer[1] = (std::byte)sel; + TJDCCmdBuffer[2] = (std::byte)(sel >> 8); } - -void GDDCCmdDlg::on_pushButton_4_19_released(){ clearTJDCCmdBuffer(); } +void GDDCCmdDlg::on_pushButton_4_19_released() { clearTJDCCmdBuffer(); } // 开启/关闭温度报警或者阈值检测功能 -void GDDCCmdDlg::checkedChangedSlot(bool param) -{ - if(!param) { - m_paramInfraredWarning = 0b00000000;// 关闭 - } else { - m_paramInfraredWarning = 0b10000000;// 开启 - } +void GDDCCmdDlg::checkedChangedSlot(bool param) { + if (!param) { + m_paramInfraredWarning = 0b00000000; // 关闭 + } else { + m_paramInfraredWarning = 0b10000000; // 开启 + } } // 俯仰+ @@ -713,8 +709,8 @@ void GDDCCmdDlg::on_pushButton_5_2_pressed() { int sel = ui->comboBox_5_1->currentIndex(); sel += 1; TJDCCmdBuffer[5] = (std::byte)0x70; - TJDCCmdBuffer[6] = (std::byte)(sel * 2); - TJDCCmdBuffer[7] = (std::byte)((sel * 2) >> 8); + TJDCCmdBuffer[6] = (std::byte)(-sel * 2); + TJDCCmdBuffer[7] = (std::byte)((-sel * 2) >> 8); TJDCCmdBuffer[8] = (std::byte)0x00; TJDCCmdBuffer[9] = (std::byte)0x00; } else { @@ -753,8 +749,8 @@ void GDDCCmdDlg::on_pushButton_5_4_pressed() { int sel = ui->comboBox_5_1->currentIndex(); sel += 1; TJDCCmdBuffer[5] = (std::byte)0x70; - TJDCCmdBuffer[6] = (std::byte)(-sel * 2); - TJDCCmdBuffer[7] = (std::byte)((-sel * 2) >> 8); + TJDCCmdBuffer[6] = (std::byte)(sel * 2); + TJDCCmdBuffer[7] = (std::byte)((sel * 2) >> 8); TJDCCmdBuffer[8] = (std::byte)0x00; TJDCCmdBuffer[9] = (std::byte)0x00; } else { @@ -960,6 +956,3 @@ void GDDCCmdDlg::on_pushButton_6_8_clicked() { ui->pushButton_6_8->setDown(false); } } - - - diff --git a/Src/GDDC/gddcCmdDlg.ui b/Src/GDDC/gddcCmdDlg.ui index 284a6e8..36b1072 100644 --- a/Src/GDDC/gddcCmdDlg.ui +++ b/Src/GDDC/gddcCmdDlg.ui @@ -80,7 +80,7 @@ QTabWidget::TabShape::Rounded - 5 + 4 Qt::TextElideMode::ElideNone diff --git a/Src/Video/cffmpeg_decode.cpp b/Src/Video/cffmpeg_decode.cpp index ebd601a..e782825 100644 --- a/Src/Video/cffmpeg_decode.cpp +++ b/Src/Video/cffmpeg_decode.cpp @@ -145,6 +145,9 @@ bool Cffmpeg_decode::open_input_file() { decoderCtx->height, // AV_PIX_FMT_RGB32, // SWS_BICUBIC, NULL, NULL, NULL); + // 颜色空间调整(可选) + // sws_setColorspaceDetails(swsCtx, sws_getCoefficients(SWS_CS_DEFAULT), 0, + // sws_getCoefficients(SWS_CS_DEFAULT), 0, 0, 0, 0); numBytes = av_image_get_buffer_size(AV_PIX_FMT_RGB32, // decoderCtx->width, // decoderCtx->height, //