Skip to content

Commit

Permalink
Very preliminary HDR support
Browse files Browse the repository at this point in the history
  • Loading branch information
emericg committed May 30, 2024
1 parent dd1da86 commit 9205cfc
Show file tree
Hide file tree
Showing 14 changed files with 300 additions and 180 deletions.
12 changes: 12 additions & 0 deletions mini_analyser/src/mainwindow_datas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ void MainWindow::cleanData()
ui->label_video_rotation->clear();
ui->label_video_projection->clear();
ui->label_video_stereomode->clear();
ui->label_video_hdr->clear();

ui->label_video_framerate->clear();
ui->label_video_framerate_mode->clear();
Expand Down Expand Up @@ -1052,6 +1053,17 @@ int MainWindow::printVideoDetails()
ui->label_85->setVisible(false);
ui->label_video_stereomode->setVisible(false);
}
if (t->hdr_mode)
{
ui->label_97->setVisible(true);
ui->label_video_hdr->setVisible(true);
ui->label_video_hdr->setText(getHdrModeQString(t->hdr_mode));
}
else
{
ui->label_97->setVisible(false);
ui->label_video_hdr->setVisible(false);
}
if ((t->width_encoded > 0 && t->width_encoded != t->width) ||
(t->height_encoded > 0 &&t->height_encoded != t->height))
{
Expand Down
50 changes: 34 additions & 16 deletions mini_analyser/src/minivideo_utils_qt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -634,38 +634,56 @@ QString getChannelModeQString(const ChannelMode_e channelMode)

QString getStereoModeQString(const StereoMode_e stereoMode)
{
QString channel_mode_qstr;
QString stereo_mode_qstr;

if (stereoMode == MONOSCOPIC)
channel_mode_qstr = QObject::tr("Monoscopic");
stereo_mode_qstr = QObject::tr("Monoscopic");
else if (stereoMode == STEREO_ANAGLYPH_CR)
channel_mode_qstr = QObject::tr("Anaglyph (cyan/red)");
stereo_mode_qstr = QObject::tr("Anaglyph (cyan/red)");
else if (stereoMode == STEREO_ANAGLYPH_GM)
channel_mode_qstr = QObject::tr("Anaglyph (green/magenta)");
stereo_mode_qstr = QObject::tr("Anaglyph (green/magenta)");
else if (stereoMode == STEREO_SIDEBYSIDE_LEFT)
channel_mode_qstr = QObject::tr("Side by side (left eye is first)");
stereo_mode_qstr = QObject::tr("Side by side (left eye is first)");
else if (stereoMode == STEREO_SIDEBYSIDE_RIGHT)
channel_mode_qstr = QObject::tr("Side by side (righ eye is first)");
stereo_mode_qstr = QObject::tr("Side by side (righ eye is first)");
else if (stereoMode == STEREO_TOPBOTTOM_LEFT)
channel_mode_qstr = QObject::tr("Top-bottom (left eye is first)");
stereo_mode_qstr = QObject::tr("Top-bottom (left eye is first)");
else if (stereoMode == STEREO_TOPBOTTOM_RIGHT)
channel_mode_qstr = QObject::tr("Top-bottom (righ eye is first)");
stereo_mode_qstr = QObject::tr("Top-bottom (righ eye is first)");
else if (stereoMode == STEREO_CHECKBOARD_LEFT)
channel_mode_qstr = QObject::tr("Checkboard (left eye is first)");
stereo_mode_qstr = QObject::tr("Checkboard (left eye is first)");
else if (stereoMode == STEREO_CHECKBOARD_RIGHT)
channel_mode_qstr = QObject::tr("Checkboard (righ eye is first)");
stereo_mode_qstr = QObject::tr("Checkboard (righ eye is first)");
else if (stereoMode == STEREO_ROWINTERLEAVED_LEFT)
channel_mode_qstr = QObject::tr("Row interleaved (left eye is first)");
stereo_mode_qstr = QObject::tr("Row interleaved (left eye is first)");
else if (stereoMode == STEREO_ROWINTERLEAVED_RIGHT)
channel_mode_qstr = QObject::tr("Row interleaved (righ eye is first)");
stereo_mode_qstr = QObject::tr("Row interleaved (righ eye is first)");
else if (stereoMode == STEREO_COLUMNINTERLEAVED_LEFT)
channel_mode_qstr = QObject::tr("Column interleaved (left eye is first)");
stereo_mode_qstr = QObject::tr("Column interleaved (left eye is first)");
else if (stereoMode == STEREO_COLUMNINTERLEAVED_RIGHT)
channel_mode_qstr = QObject::tr("Column interleaved (righ eye is first)");
stereo_mode_qstr = QObject::tr("Column interleaved (righ eye is first)");
else
channel_mode_qstr = QObject::tr("Unknown");
stereo_mode_qstr = QObject::tr("Unknown");

return channel_mode_qstr;
return stereo_mode_qstr;
}

QString getHdrModeQString(const HdrMode_e hdrMode)
{
QString hdr_mode_qstr;

if (hdrMode == HLG)
hdr_mode_qstr = "HDR10";
else if (hdrMode == HDR10)
hdr_mode_qstr = "HDR10";
else if (hdrMode == HDR10plus)
hdr_mode_qstr = "HDR10+";
else if (hdrMode == DolbyVision)
hdr_mode_qstr = "Dolby Vision";
else
hdr_mode_qstr = "SDR";

return hdr_mode_qstr;
}

/* ************************************************************************** */
Expand Down
2 changes: 2 additions & 0 deletions mini_analyser/src/minivideo_utils_qt.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ QString getChannelModeQString(const ChannelMode_e channelMode);

QString getStereoModeQString(const StereoMode_e stereoMode);

QString getHdrModeQString(const HdrMode_e hdrMode);

QString getFourccQString(const unsigned fourcc);

QString getContainerQString(const Containers_e container, const bool long_description);
Expand Down
Loading

0 comments on commit 9205cfc

Please sign in to comment.