From 501e24fc5d28867ab267fb9a7614b4ba4fc8c1e9 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Wed, 4 May 2016 01:50:12 +0100 Subject: [PATCH] Clean some comments --- Doxyfile | 128 +++++++++++++++--------------- lib/CMakeLists.txt | 3 +- lib/PlaYUVerDefs.h | 1 + lib/PlaYUVerFrame.cpp | 14 ++-- lib/PlaYUVerFrame.h | 25 +++--- lib/PlaYUVerFramePixelFormats.cpp | 10 ++- lib/PlaYUVerFramePixelFormats.h | 4 +- lib/PlaYUVerLib.h | 11 ++- lib/PlaYUVerModuleIf.h | 47 +++++++++-- lib/PlaYUVerOptions.cpp | 2 +- lib/PlaYUVerOptions.h | 2 +- lib/PlaYUVerPixel.cpp | 1 - lib/PlaYUVerPixel.h | 1 - lib/PlaYUVerStream.cpp | 17 ++-- lib/PlaYUVerStream.h | 7 +- lib/PlaYUVerStreamHandlerIf.h | 2 +- lib/StreamHandlerLibav.cpp | 1 - lib/StreamHandlerLibav.h | 11 ++- lib/StreamHandlerOpenCV.cpp | 1 - lib/StreamHandlerOpenCV.h | 1 - lib/StreamHandlerPortableMap.cpp | 3 +- lib/StreamHandlerPortableMap.h | 3 +- lib/StreamHandlerRaw.cpp | 15 ++-- lib/StreamHandlerRaw.h | 11 ++- 24 files changed, 168 insertions(+), 153 deletions(-) diff --git a/Doxyfile b/Doxyfile index f0930c2..d9522cd 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,13 +38,13 @@ PROJECT_NAME = PlaYUVer # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = +PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = +PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -162,7 +162,7 @@ FULL_PATH_NAMES = YES # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. -STRIP_FROM_PATH = +STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which @@ -171,7 +171,7 @@ STRIP_FROM_PATH = # specify the list of include paths that are normally passed to the compiler # using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't @@ -244,7 +244,7 @@ ALIASES = "returns=\"\par Returns\" " # A mapping has the form "name=value". For example adding "class=itcl::class" # will allow you to use the command class in the itcl::class meaning. -TCL_SUBST = +TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For @@ -291,7 +291,7 @@ OPTIMIZE_OUTPUT_VHDL = NO # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. -EXTENSION_MAPPING = +EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable @@ -554,7 +554,7 @@ INLINE_INFO = YES # name. If set to NO, the members will appear in declaration order. # The default value is: YES. -SORT_MEMBER_DOCS = YES +SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member @@ -632,7 +632,7 @@ GENERATE_DEPRECATEDLIST= YES # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = +ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the @@ -674,7 +674,7 @@ SHOW_NAMESPACES = YES # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. -FILE_VERSION_FILTER = +FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated @@ -687,7 +687,7 @@ FILE_VERSION_FILTER = # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib @@ -697,7 +697,7 @@ LAYOUT_FILE = # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. -CITE_BIB_FILES = +CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages @@ -756,7 +756,7 @@ WARN_FORMAT = "$file:$line: $text" # messages should be written. If left blank the output is written to standard # error (stderr). -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files @@ -768,7 +768,7 @@ WARN_LOGFILE = # spaces. # Note: If this tag is empty the current directory is searched. -INPUT = +INPUT = # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -869,7 +869,7 @@ EXCLUDE_SYMLINKS = NO # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -880,13 +880,13 @@ EXCLUDE_PATTERNS = # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -906,7 +906,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -923,7 +923,7 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. -INPUT_FILTER = +INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the @@ -932,7 +932,7 @@ INPUT_FILTER = # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. -FILTER_PATTERNS = +FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for @@ -947,14 +947,14 @@ FILTER_SOURCE_FILES = NO # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. -FILTER_SOURCE_PATTERNS = +FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -1066,7 +1066,7 @@ COLS_IN_ALPHA_INDEX = 5 # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output @@ -1110,7 +1110,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1120,7 +1120,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1132,7 +1132,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets @@ -1145,7 +1145,7 @@ HTML_STYLESHEET = # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = +HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1155,7 +1155,7 @@ HTML_EXTRA_STYLESHEET = # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to @@ -1283,7 +1283,7 @@ GENERATE_HTMLHELP = NO # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_FILE = +CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, @@ -1291,7 +1291,7 @@ CHM_FILE = # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -HHC_LOCATION = +HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the master .chm file (NO). @@ -1304,7 +1304,7 @@ GENERATE_CHI = NO # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it @@ -1335,7 +1335,7 @@ GENERATE_QHP = NO # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. -QCH_FILE = +QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace @@ -1360,7 +1360,7 @@ QHP_VIRTUAL_FOLDER = doc # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom @@ -1368,21 +1368,21 @@ QHP_CUST_FILTER_NAME = # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location of Qt's # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the # generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. -QHG_LOCATION = +QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To @@ -1515,7 +1515,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_EXTENSIONS = +MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site @@ -1523,7 +1523,7 @@ MATHJAX_EXTENSIONS = # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_CODEFILE = +MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and @@ -1583,7 +1583,7 @@ EXTERNAL_SEARCH = NO # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. -SEARCHENGINE_URL = +SEARCHENGINE_URL = # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed # search data is written to a file for indexing by an external tool. With the @@ -1599,7 +1599,7 @@ SEARCHDATA_FILE = searchdata.xml # projects and redirect the results back to the right project. # This tag requires that the tag SEARCHENGINE is set to YES. -EXTERNAL_SEARCH_ID = +EXTERNAL_SEARCH_ID = # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen # projects other than the one defined by this configuration file, but that are @@ -1609,7 +1609,7 @@ EXTERNAL_SEARCH_ID = # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... # This tag requires that the tag SEARCHENGINE is set to YES. -EXTRA_SEARCH_MAPPINGS = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output @@ -1670,7 +1670,7 @@ PAPER_TYPE = a4wide # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. -EXTRA_PACKAGES = +EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the # generated LaTeX document. The header should contain everything until the first @@ -1686,7 +1686,7 @@ EXTRA_PACKAGES = # to HTML_HEADER. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_HEADER = +LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the # generated LaTeX document. The footer should contain everything after the last @@ -1697,7 +1697,7 @@ LATEX_HEADER = # Note: Only use a user-defined footer if you know what you are doing! # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_FOOTER = +LATEX_FOOTER = # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined # LaTeX style sheets that are included after the standard style sheets created @@ -1708,7 +1708,7 @@ LATEX_FOOTER = # list). # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_STYLESHEET = # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output @@ -1716,7 +1716,7 @@ LATEX_EXTRA_STYLESHEET = # markers available. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_FILES = +LATEX_EXTRA_FILES = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will @@ -1816,14 +1816,14 @@ RTF_HYPERLINKS = NO # default style sheet that doxygen normally uses. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is # similar to doxygen's config file. A template extensions file can be generated # using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = # If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code # with syntax highlighting in the RTF output. @@ -1868,7 +1868,7 @@ MAN_EXTENSION = .3 # MAN_EXTENSION with the initial . removed. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_SUBDIR = +MAN_SUBDIR = # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real @@ -1981,7 +1981,7 @@ PERLMOD_PRETTY = YES # overwrite each other's variables. # This tag requires that the tag GENERATE_PERLMOD is set to YES. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor @@ -2022,7 +2022,7 @@ SEARCH_INCLUDES = YES # preprocessor. # This tag requires that the tag SEARCH_INCLUDES is set to YES. -INCLUDE_PATH = +INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the @@ -2030,7 +2030,7 @@ INCLUDE_PATH = # used. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that are # defined before the preprocessor is started (similar to the -D option of e.g. @@ -2040,7 +2040,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The @@ -2049,7 +2049,7 @@ PREDEFINED = # definition found in the source code. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will # remove all references to function-like macros that are alone on a line, have @@ -2078,13 +2078,13 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. -GENERATE_TAGFILE = +GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES, all external class will be listed in # the class index. If set to NO, only the inherited external classes will be @@ -2133,14 +2133,14 @@ CLASS_DIAGRAMS = YES # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. -MSCGEN_PATH = +MSCGEN_PATH = # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. # If left empty dia is assumed to be found in the default search path. -DIA_PATH = +DIA_PATH = # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. @@ -2189,7 +2189,7 @@ DOT_FONTSIZE = 10 # the path where dot can find it using this tag. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTPATH = +DOT_FONTPATH = # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for # each documented class showing the direct and indirect inheritance relations. @@ -2327,26 +2327,26 @@ INTERACTIVE_SVG = NO # found. If left blank, it is assumed the dot tool can be found in the path. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_PATH = +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the \dotfile # command). # This tag requires that the tag HAVE_DOT is set to YES. -DOTFILE_DIRS = +DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the \mscfile # command). -MSCFILE_DIRS = +MSCFILE_DIRS = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile # command). -DIAFILE_DIRS = +DIAFILE_DIRS = # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the # path where java can find the plantuml.jar file. If left blank, it is assumed @@ -2354,12 +2354,12 @@ DIAFILE_DIRS = # generate a warning when it encounters a \startuml command in this case and # will not generate output for the diagram. -PLANTUML_JAR_PATH = +PLANTUML_JAR_PATH = # When using plantuml, the specified paths are searched for files specified by # the !include statement in a plantuml block. -PLANTUML_INCLUDE_PATH = +PLANTUML_INCLUDE_PATH = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 32da862..5e03600 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -13,9 +13,8 @@ set(PlaYUVer_Lib_SRCS PlaYUVerStream.cpp StreamHandlerRaw.cpp StreamHandlerPortableMap.cpp - # Command Parser + # Options Parser PlaYUVerOptions.cpp -# PlaYUVerCmdParser.cpp ) IF( USE_FFMPEG ) diff --git a/lib/PlaYUVerDefs.h b/lib/PlaYUVerDefs.h index b89e5f2..ef182f7 100644 --- a/lib/PlaYUVerDefs.h +++ b/lib/PlaYUVerDefs.h @@ -27,6 +27,7 @@ #define __PLAYUVERDEFS_H__ #include +#include #include diff --git a/lib/PlaYUVerFrame.cpp b/lib/PlaYUVerFrame.cpp index 74f9522..6f26d66 100644 --- a/lib/PlaYUVerFrame.cpp +++ b/lib/PlaYUVerFrame.cpp @@ -19,23 +19,19 @@ /** * \file PlaYUVerFrame.cpp - * \ingroup PlaYUVerLib * \brief Video Frame handling */ #include "config.h" -#include -#include -#include "LibMemory.h" #include "PlaYUVerFrame.h" -#include "PlaYUVerFramePixelFormats.h" -#ifdef USE_FFMPEG -#include "StreamHandlerLibav.h" -#endif + +#include #ifdef USE_OPENCV -#include "StreamHandlerOpenCV.h" +#include #endif +#include "LibMemory.h" +#include "PlaYUVerFramePixelFormats.h" /*! \brief Supported formats * diff --git a/lib/PlaYUVerFrame.h b/lib/PlaYUVerFrame.h index 69b62f7..a9a11db 100644 --- a/lib/PlaYUVerFrame.h +++ b/lib/PlaYUVerFrame.h @@ -19,21 +19,15 @@ /** * \file PlaYUVerFrame.h - * \ingroup PlaYUVerLib * \brief Video Frame handling */ #ifndef __PLAYUVERFRAME_H__ #define __PLAYUVERFRAME_H__ -#include -#include -#include -#include #include "PlaYUVerDefs.h" #include "PlaYUVerPixel.h" - namespace cv { class Mat; @@ -51,7 +45,6 @@ struct PlaYUVerFramePrivate; * \brief Frame handling class */ class PlaYUVerFrame -//: public PlaYUVerFrameStats { public: @@ -133,8 +126,6 @@ public: ~PlaYUVerFrame(); - Void clear(); - Bool haveSameFmt( PlaYUVerFrame* other, UInt match = MATCH_ALL ) const; /** @@ -144,11 +135,13 @@ public: Int getPelFormat() const; /** + * Get pixel format information * @return pixel format name */ String getPelFmtName(); /** + * Get color space information * @return get color space index * @ */ @@ -198,6 +191,11 @@ public: */ static UInt64 getBytesPerFrame( UInt uiWidth, UInt uiHeight, Int iPixelFormat, UInt bitsPixel ); + /** + * Reset frame pixels to zero + */ + Void clear(); + Pel*** getPelBufferYUV() const; Pel*** getPelBufferYUV(); UChar* getRGBBuffer() const; @@ -236,16 +234,13 @@ public: Bool fromMat( cv::Mat& cvMat ); /** - * @defgroup PlaYUVerLib_QualityMetrics Quality Metrics Interface + * \ingroup PlaYUVerLib_Frame + * @defgroup PlaYUVerLib_Frame_QualityMetrics Quality Metrics Interface * @{ - * \ingroup PlaYUVerLib * Quality metrics interface * - * @} */ - //! @ingroup PlaYUVerLib_QualityMetrics - //! @{ enum QualityMetrics { NO_METRIC = -1, @@ -269,7 +264,7 @@ public: Double getPSNR( PlaYUVerFrame* Org, Int component ); Double getSSIM( PlaYUVerFrame* Org, Int component ); - //! @} + /** @} */ private: PlaYUVerFramePrivate* d; diff --git a/lib/PlaYUVerFramePixelFormats.cpp b/lib/PlaYUVerFramePixelFormats.cpp index 3ee8b12..c4f8790 100644 --- a/lib/PlaYUVerFramePixelFormats.cpp +++ b/lib/PlaYUVerFramePixelFormats.cpp @@ -19,22 +19,24 @@ /** * \file PlaYUVerFramePixelFormats.cpp - * \ingroup PlaYUVerLib * \brief Handling the pixel formats definition */ #include "config.h" -#include -#include "LibMemory.h" +#include "PlaYUVerFramePixelFormats.h" +// #include + #ifdef USE_SSE #include #include #include #endif + +#include "LibMemory.h" #ifdef USE_FFMPEG #include "StreamHandlerLibav.h" #endif -#include "PlaYUVerFramePixelFormats.h" + /* diff --git a/lib/PlaYUVerFramePixelFormats.h b/lib/PlaYUVerFramePixelFormats.h index 5dfe062..ae7c3b8 100644 --- a/lib/PlaYUVerFramePixelFormats.h +++ b/lib/PlaYUVerFramePixelFormats.h @@ -19,7 +19,6 @@ /** * \file PlaYUVerFramePixelFormats.h - * \ingroup PlaYUVerLib * \brief Handling the pixel formats definition */ @@ -27,9 +26,8 @@ #define __PLAYUVERFRAMEPIXELFORMATS_H__ #include "PlaYUVerDefs.h" -#include "PlaYUVerFrame.h" #include "PlaYUVerPixel.h" - +#include "PlaYUVerFrame.h" #define CHROMA_RESAMPLING( X ) ( ( ( X + 1 ) >> 1 ) << 1 ) diff --git a/lib/PlaYUVerLib.h b/lib/PlaYUVerLib.h index 4aede6b..e64d719 100644 --- a/lib/PlaYUVerLib.h +++ b/lib/PlaYUVerLib.h @@ -19,7 +19,6 @@ /** * \file PlaYUVerLib.h - * \ingroup PlaYUVerLib * \brief Inlcude all modules of PlaYUVer Lib */ @@ -40,16 +39,16 @@ * This guaratees that the top-level applications does not need to worry * about dealig with different stream formats as well as different pixel formats * - * @defgroup PlaYUVerLib_Stream PlaYUVer Stream - * @{ - * Describe PlaYUVerStream - * @} - * * @defgroup PlaYUVerLib_Frame PlaYUVer Frame * @{ * Describe PlaYUVerFrame * @} * + * @defgroup PlaYUVerLib_Stream PlaYUVer Stream + * @{ + * Describe PlaYUVerStream + * @} + * * @} * */ diff --git a/lib/PlaYUVerModuleIf.h b/lib/PlaYUVerModuleIf.h index 84bd99e..17e9a76 100644 --- a/lib/PlaYUVerModuleIf.h +++ b/lib/PlaYUVerModuleIf.h @@ -19,12 +19,22 @@ /** * \file PlaYUVerModuleIf.h + * \ingroup PlaYUVerLib_Modules * \brief PlaYUVer modules interface */ #ifndef __PLAYUVERMODULESIF_H__ #define __PLAYUVERMODULESIF_H__ +/** + * \ingroup PlaYUVerLib + * @defgroup PlaYUVerLib_Modules PlaYUVer Modules + * @{ + * PlaYUVerLib supports the creation of independent + * frame processing modules + * @} + */ + #include "PlaYUVerDefs.h" #include "PlaYUVerFrame.h" #include "PlaYUVerOptions.h" @@ -46,31 +56,48 @@ for( UInt i = 0; i < apcFrameList.size(); i++ ) \ if( !apcFrameList[i] ) \ return false; -enum // Module API +/** Module_API_Version Enum + * \ingroup PlaYUVerLib_Modules + * Version of the modules API required + * @see m_iModuleAPI + */ +enum Module_API_Version { MODULE_API_1, MODULE_API_2, }; -enum // Module type +/** Module_Type Enum + * \ingroup PlaYUVerLib_Modules + * Type of module + * @see m_iModuleType + */ +enum Module_Type { FRAME_PROCESSING_MODULE, FRAME_MEASUREMENT_MODULE, }; -#define APPLY_WHILE_PLAYING true #define MAX_NUMBER_FRAMES 3 +/** Module_NumberOfFrames Enum + * \ingroup PlaYUVerLib_Modules + * Number of frames requires by a module + * @see m_uiNumberOfFrames + */ enum Module_NumberOfFrames { MODULE_REQUIRES_ONE_FRAME = 1, MODULE_REQUIRES_TWO_FRAMES, MODULE_REQUIRES_THREE_FRAMES, - MODULE_REQUIRES_FOUR_FRAMES, - MODULE_REQUIRES_FIVE_FRAMES, - MODULE_REQUIRES_SIX_FRAMES, + MODULE_REQUIRES_MAX_FRAMES = 255, }; +/** Module_Features Enum + * \ingroup PlaYUVerLib_Modules + * Features/Requirements of a module + * @see m_uiModuleRequirements + */ enum Module_Features { MODULE_REQUIRES_NOTHING = 0, @@ -89,6 +116,11 @@ enum Module_Key_Supported }; +/** + * \class PlaYUVerModuleIf + * \ingroup PlaYUVerLib PlaYUVerLib_Modules + * \brief Abstract class for modules + */ class PlaYUVerModuleIf { public: @@ -98,7 +130,10 @@ public: const Char* m_pchModuleCategory; const Char* m_pchModuleName; const Char* m_pchModuleTooltip; + + //! Number of frames enum Module_NumberOfFrames m_uiNumberOfFrames; + //! Features/Requirements UInt m_uiModuleRequirements; PlaYUVerOptions m_cModuleOptions; diff --git a/lib/PlaYUVerOptions.cpp b/lib/PlaYUVerOptions.cpp index 68c57d3..079174d 100644 --- a/lib/PlaYUVerOptions.cpp +++ b/lib/PlaYUVerOptions.cpp @@ -33,7 +33,7 @@ /** * \file PlaYUVerOptions.cpp - * \brief Input args handler + * \brief Options handler */ #include "config.h" diff --git a/lib/PlaYUVerOptions.h b/lib/PlaYUVerOptions.h index 599e935..d51f31c 100644 --- a/lib/PlaYUVerOptions.h +++ b/lib/PlaYUVerOptions.h @@ -33,7 +33,7 @@ /** * \file PlaYUVerOptions.h - * \brief Input args handler + * \brief Options handler */ #ifndef __PROGRAMOPTIONS_H__ diff --git a/lib/PlaYUVerPixel.cpp b/lib/PlaYUVerPixel.cpp index f4b4e84..54e03c4 100644 --- a/lib/PlaYUVerPixel.cpp +++ b/lib/PlaYUVerPixel.cpp @@ -19,7 +19,6 @@ /** * \file PlaYUVerPixel.cpp - * \ingroup PlaYUVerLib * \brief Pixel handling */ diff --git a/lib/PlaYUVerPixel.h b/lib/PlaYUVerPixel.h index 6461377..d6e7262 100644 --- a/lib/PlaYUVerPixel.h +++ b/lib/PlaYUVerPixel.h @@ -19,7 +19,6 @@ /** * \file PlaYUVerPixel.h - * \ingroup PlaYUVerLib * \brief Pixel handling */ diff --git a/lib/PlaYUVerStream.cpp b/lib/PlaYUVerStream.cpp index c7b1a3e..09cda71 100644 --- a/lib/PlaYUVerStream.cpp +++ b/lib/PlaYUVerStream.cpp @@ -19,19 +19,18 @@ /** * \file PlaYUVerStream.cpp - * \ingroup PlaYUVerLib * \brief Input stream handling */ #include "config.h" -#include -#include -#include "LibMemory.h" #include "PlaYUVerStream.h" + +#include + +#include "LibMemory.h" #include "PlaYUVerStreamHandlerIf.h" #include "StreamHandlerRaw.h" #include "StreamHandlerPortableMap.h" - #ifdef USE_FFMPEG #include "StreamHandlerLibav.h" #endif @@ -43,8 +42,8 @@ std::vector PlaYUVerStream::supportedReadFormats() { INI_REGIST_PLAYUVER_SUPPORTED_FMT; - REGIST_PLAYUVER_SUPPORTED_FMT( &PlaYUVerRawHandler::Create, "Raw Video", "yuv" ); - REGIST_PLAYUVER_SUPPORTED_FMT( &PlaYUVerRawHandler::Create, "Raw Video", "gray" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "yuv" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "gray" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable BitMap ", "pbm" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable GrayMap ", "pgm" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable PixMap ", "ppm" ); @@ -60,7 +59,7 @@ std::vector PlaYUVerStream::supportedReadFormats() std::vector PlaYUVerStream::supportedWriteFormats() { INI_REGIST_PLAYUVER_SUPPORTED_FMT; - REGIST_PLAYUVER_SUPPORTED_FMT( &PlaYUVerRawHandler::Create, "Raw Video", "yuv" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "yuv" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable BitMap ", "pbm" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable GrayMap ", "pgm" ); #ifdef USE_FFMPEG @@ -124,7 +123,7 @@ CreateStreamHandlerFn PlaYUVerStream::findStreamHandler( String strFilename, boo return supportedFmts[i].formatFct; } } - return &PlaYUVerRawHandler::Create; + return &StreamHandlerRaw::Create; } PlaYUVerStream::PlaYUVerStream() diff --git a/lib/PlaYUVerStream.h b/lib/PlaYUVerStream.h index 690c2dc..f1f3089 100644 --- a/lib/PlaYUVerStream.h +++ b/lib/PlaYUVerStream.h @@ -19,7 +19,6 @@ /** * \file PlaYUVerStream.h - * \ingroup PlaYUVerLib * \brief Input stream handling */ @@ -27,13 +26,8 @@ #define __PLAYUVERSTREAM_H__ #include "PlaYUVerDefs.h" -#include -#include -#include #include "PlaYUVerFrame.h" - -class LibOpenCVHandler; class PlaYUVerStreamHandlerIf; typedef struct @@ -76,6 +70,7 @@ typedef struct /** * \class PlaYUVerStream * \ingroup PlaYUVerLib PlaYUVerLib_Stream + * \brief Stream handling class */ class PlaYUVerStream { diff --git a/lib/PlaYUVerStreamHandlerIf.h b/lib/PlaYUVerStreamHandlerIf.h index 939471e..04bbab1 100644 --- a/lib/PlaYUVerStreamHandlerIf.h +++ b/lib/PlaYUVerStreamHandlerIf.h @@ -37,7 +37,7 @@ /** * \class PlaYUVerStreamHandlerIf - * \ingroup PlaYUVerLib PlaYUVerLib_Stream + * \ingroup PlaYUVerLib_Stream * \brief Abstract class for stream handling */ class PlaYUVerStreamHandlerIf diff --git a/lib/StreamHandlerLibav.cpp b/lib/StreamHandlerLibav.cpp index d62216e..55e1ac6 100644 --- a/lib/StreamHandlerLibav.cpp +++ b/lib/StreamHandlerLibav.cpp @@ -19,7 +19,6 @@ /** * \file StreamHandlerLibav.cpp - * \ingroup PlaYUVerLib * \brief Interface with libav libs */ diff --git a/lib/StreamHandlerLibav.h b/lib/StreamHandlerLibav.h index 953c97e..9d10861 100644 --- a/lib/StreamHandlerLibav.h +++ b/lib/StreamHandlerLibav.h @@ -19,7 +19,6 @@ /** * \file StreamHandlerLibav.h - * \ingroup PlaYUVerLib * \brief Interface with libav libs */ @@ -43,7 +42,6 @@ extern "C" #include #include #include -//#include #include } @@ -52,6 +50,14 @@ extern "C" #include "PlaYUVerStreamHandlerIf.h" +struct AVFormatContext; +struct AVCodecContext; +struct AVStream; +struct AVStream; +struct AVPacket; + + + class StreamHandlerLibav: public PlaYUVerStreamHandlerIf { REGISTER_STREAM_HANDLER( StreamHandlerLibav ) @@ -85,7 +91,6 @@ public: UInt64 m_uiFrameBufferSize; private: - AVFormatContext* m_cFmtCtx; AVCodecContext* m_cCodecCtx; AVStream* m_cStream; diff --git a/lib/StreamHandlerOpenCV.cpp b/lib/StreamHandlerOpenCV.cpp index d5d762f..f424c96 100644 --- a/lib/StreamHandlerOpenCV.cpp +++ b/lib/StreamHandlerOpenCV.cpp @@ -19,7 +19,6 @@ /** * \file StreamHandlerOpenCV.cpp - * \ingroup PlaYUVerLib * \brief Interface with opencv lib */ diff --git a/lib/StreamHandlerOpenCV.h b/lib/StreamHandlerOpenCV.h index 0a661fe..f1ce3ef 100644 --- a/lib/StreamHandlerOpenCV.h +++ b/lib/StreamHandlerOpenCV.h @@ -19,7 +19,6 @@ /** * \file StreamHandlerOpenCV.h - * \ingroup PlaYUVerLib * \brief Interface with opencv lib */ diff --git a/lib/StreamHandlerPortableMap.cpp b/lib/StreamHandlerPortableMap.cpp index f866f53..c0f0e88 100644 --- a/lib/StreamHandlerPortableMap.cpp +++ b/lib/StreamHandlerPortableMap.cpp @@ -19,8 +19,7 @@ /** * \file StreamHandlerPortableMap.cpp - * \ingroup PlaYUVerLib - * \brief Interface with opencv lib + * \brief Handling portable pixmap formats */ #include diff --git a/lib/StreamHandlerPortableMap.h b/lib/StreamHandlerPortableMap.h index 4cbd389..aedd582 100644 --- a/lib/StreamHandlerPortableMap.h +++ b/lib/StreamHandlerPortableMap.h @@ -19,8 +19,7 @@ /** * \file StreamHandlerPortableMap.h - * \ingroup PlaYUVerLib - * \brief Interface with opencv lib + * \brief Handling portable pixmap formats */ #ifndef __STREAMHANDLERPORTABLEMAP_H__ diff --git a/lib/StreamHandlerRaw.cpp b/lib/StreamHandlerRaw.cpp index 6164c46..8af6ce8 100644 --- a/lib/StreamHandlerRaw.cpp +++ b/lib/StreamHandlerRaw.cpp @@ -19,7 +19,6 @@ /** * \file StreamHandlerRaw.cpp - * \ingroup PlaYUVerLib * \brief Interface for raw (yuv) streams */ @@ -30,7 +29,7 @@ #include "LibMemory.h" -Bool PlaYUVerRawHandler::openHandler( String strFilename, Bool bInput ) +Bool StreamHandlerRaw::openHandler( String strFilename, Bool bInput ) { m_bIsInput = bInput; m_pFile = NULL; @@ -44,19 +43,19 @@ Bool PlaYUVerRawHandler::openHandler( String strFilename, Bool bInput ) return true; } -Void PlaYUVerRawHandler::closeHandler() +Void StreamHandlerRaw::closeHandler() { if( m_pFile ) fclose( m_pFile ); } -Bool PlaYUVerRawHandler::configureBuffer( PlaYUVerFrame* pcFrame ) +Bool StreamHandlerRaw::configureBuffer( PlaYUVerFrame* pcFrame ) { return getMem1D( &m_pStreamBuffer, pcFrame->getBytesPerFrame() ); } -UInt64 PlaYUVerRawHandler::calculateFrameNumber() +UInt64 StreamHandlerRaw::calculateFrameNumber() { if( !m_pFile || m_uiNBytesPerFrame == 0 ) return 0; @@ -66,7 +65,7 @@ UInt64 PlaYUVerRawHandler::calculateFrameNumber() return ( fileSize / m_uiNBytesPerFrame ); } -Bool PlaYUVerRawHandler::seek( UInt64 iFrameNum ) +Bool StreamHandlerRaw::seek( UInt64 iFrameNum ) { if( m_bIsInput && m_pFile ) { @@ -76,7 +75,7 @@ Bool PlaYUVerRawHandler::seek( UInt64 iFrameNum ) return false; } -Bool PlaYUVerRawHandler::read( PlaYUVerFrame* pcFrame ) +Bool StreamHandlerRaw::read( PlaYUVerFrame* pcFrame ) { UInt64 processed_bytes = fread( m_pStreamBuffer, sizeof( Byte ), m_uiNBytesPerFrame, m_pFile ); if( processed_bytes != m_uiNBytesPerFrame ) @@ -85,7 +84,7 @@ Bool PlaYUVerRawHandler::read( PlaYUVerFrame* pcFrame ) return true; } -Bool PlaYUVerRawHandler::write( PlaYUVerFrame* pcFrame ) +Bool StreamHandlerRaw::write( PlaYUVerFrame* pcFrame ) { pcFrame->frameToBuffer( m_pStreamBuffer ); UInt64 processed_bytes = fwrite( m_pStreamBuffer, sizeof( Byte ), m_uiNBytesPerFrame, m_pFile ); diff --git a/lib/StreamHandlerRaw.h b/lib/StreamHandlerRaw.h index 28c23a5..fe451bb 100644 --- a/lib/StreamHandlerRaw.h +++ b/lib/StreamHandlerRaw.h @@ -30,20 +30,19 @@ /** - * \class PlaYUVerRawHandler - * \ingroup PlaYUVerLib PlaYUVerLib_Stream + * \class StreamHandlerRaw * \brief Class to handle raw video format */ -class PlaYUVerRawHandler: public PlaYUVerStreamHandlerIf +class StreamHandlerRaw: public PlaYUVerStreamHandlerIf { - REGISTER_STREAM_HANDLER( PlaYUVerRawHandler ) + REGISTER_STREAM_HANDLER( StreamHandlerRaw ) private: FILE* m_pFile; /**< The input file pointer >*/ public: - PlaYUVerRawHandler() {} - ~PlaYUVerRawHandler() {} + StreamHandlerRaw() {} + ~StreamHandlerRaw() {} Bool openHandler( String strFilename, Bool bInput ); Void closeHandler();