File indexing completed on 2025-04-27 03:58:10
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2016-04-21 0007 * Description : video thumbnails extraction based on ffmpeg 0008 * 0009 * SPDX-FileCopyrightText: 2010 by Dirk Vanden Boer <dirk dot vdb at gmail dot com> 0010 * SPDX-FileCopyrightText: 2016-2018 by Maik Qualmann <metzpinguin at gmail dot com> 0011 * SPDX-FileCopyrightText: 2016-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0012 * 0013 * SPDX-License-Identifier: GPL-2.0-or-later 0014 * 0015 * ============================================================ */ 0016 0017 #ifndef DIGIKAM_VIDEO_THUMB_WRITER_H 0018 #define DIGIKAM_VIDEO_THUMB_WRITER_H 0019 0020 // Qt includes 0021 0022 #include <QtGlobal> 0023 #include <QImage> 0024 #include <QVector> 0025 0026 namespace Digikam 0027 { 0028 0029 class VideoFrame 0030 { 0031 public: 0032 0033 VideoFrame(); 0034 VideoFrame(int width, int height, int lineSize); 0035 ~VideoFrame(); 0036 0037 public: 0038 0039 quint32 width; 0040 quint32 height; 0041 quint32 lineSize; 0042 QVector<quint8> frameData; 0043 }; 0044 0045 // ----------------------------------------------------------------- 0046 0047 class VideoThumbWriter 0048 { 0049 public: 0050 0051 explicit VideoThumbWriter(); 0052 ~VideoThumbWriter(); 0053 0054 void writeFrame(VideoFrame& frame, QImage& image); 0055 0056 private: 0057 0058 // Disable 0059 VideoThumbWriter(const VideoThumbWriter&) = delete; 0060 VideoThumbWriter& operator=(const VideoThumbWriter&) = delete; 0061 }; 0062 0063 } // namespace Digikam 0064 0065 #endif // DIGIKAM_VIDEO_THUMB_WRITER_H