diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-07 02:26:13 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-07 02:34:35 +0300 |
commit | 0eb321bf2c1cc0e048faff26a01f86cdd3ec254f (patch) | |
tree | 71cb9bd9ed121156d3382066c0722c73189afe04 /DOCS/tech | |
parent | 6d908205fbadbdf7ccdc6c5e0eb918f0b43f16e0 (diff) |
Remove trailing whitespace from most files
Diffstat (limited to 'DOCS/tech')
-rw-r--r-- | DOCS/tech/Doxyfile | 918 | ||||
-rw-r--r-- | DOCS/tech/TODO | 2 | ||||
-rw-r--r-- | DOCS/tech/codec-devel.txt | 6 | ||||
-rw-r--r-- | DOCS/tech/dr-methods.txt | 2 | ||||
-rw-r--r-- | DOCS/tech/encoding-tips.txt | 128 | ||||
-rw-r--r-- | DOCS/tech/formats.txt | 26 | ||||
-rw-r--r-- | DOCS/tech/general.txt | 7 | ||||
-rw-r--r-- | DOCS/tech/hwac3.txt | 98 | ||||
-rw-r--r-- | DOCS/tech/libao2.txt | 4 | ||||
-rw-r--r-- | DOCS/tech/libvo.txt | 7 | ||||
-rw-r--r-- | DOCS/tech/mingw-crosscompile.txt | 2 | ||||
-rw-r--r-- | DOCS/tech/new_policy_proposal.txt | 6 | ||||
-rw-r--r-- | DOCS/tech/playtree | 8 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/TODO | 2 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/audio-codecs.txt | 7 | ||||
-rw-r--r-- | DOCS/tech/realcodecs/video-codecs.txt | 8 | ||||
-rw-r--r-- | DOCS/tech/slave.txt | 5 | ||||
-rw-r--r-- | DOCS/tech/snow.txt | 3 | ||||
-rw-r--r-- | DOCS/tech/subcp.txt | 14 | ||||
-rw-r--r-- | DOCS/tech/swscaler_methods.txt | 9 | ||||
-rw-r--r-- | DOCS/tech/vidix.txt | 20 |
21 files changed, 634 insertions, 648 deletions
diff --git a/DOCS/tech/Doxyfile b/DOCS/tech/Doxyfile index 5239bd4bcd..1a9a036bef 100644 --- a/DOCS/tech/Doxyfile +++ b/DOCS/tech/Doxyfile @@ -14,190 +14,190 @@ # Project related configuration options #--------------------------------------------------------------------------- -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = MPlayer -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = +PROJECT_NUMBER = -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = DOCS/tech/doxygen -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 2 levels of 10 sub-directories under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of source -# files, where putting all generated files in the same directory would otherwise +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 2 levels of 10 sub-directories under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of source +# files, where putting all generated files in the same directory would otherwise # cause performance problems for the file system. CREATE_SUBDIRS = YES -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, -# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en -# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, # Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = NO -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is used -# as the annotated text. Otherwise, the brief description is used as-is. If left -# blank, the following values are used ("$name" is automatically replaced with the -# name of the entity): "The $name class" "The $name widget" "The $name file" +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" # "is" "provides" "specifies" "contains" "represents" "a" "an" "the" -ABBREVIATE_BRIEF = +ABBREVIATE_BRIEF = -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of # the base classes will not be shown. INLINE_INHERITED_MEMB = YES -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the # path to strip. -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 header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that +# 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 header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the 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 +# 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 support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO -# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member +# If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = -# 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 instance, some of the names that are used will be different. The list +# 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 instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES @@ -206,162 +206,162 @@ SUBGROUPING = YES # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES -# If the EXTRACT_STATIC tag is set to YES all static members of a file +# If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows # users are advised to set this option to NO. CASE_SENSE_NAMES = YES -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the +# Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional +# The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES @@ -370,123 +370,123 @@ SHOW_USED_FILES = YES # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated +# The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = NO -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = NO -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the # warning originated and the warning text. WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = +INPUT = -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp # *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm -FILE_PATTERNS = +FILE_PATTERNS = -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = DOCS TOOLS -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories # that are symbolic links (a Unix filesystem feature) are excluded from the input. EXCLUDE_SYMLINKS = NO -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = -# 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 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 *.h) to filter out the source-files in the directories. If left +# 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 *.h) to filter out the source-files in the directories. If left # blank all files are included. -EXAMPLE_PATTERNS = +EXAMPLE_PATTERNS = -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are 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 -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes +# 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 +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes # to standard output. -INPUT_FILTER = +INPUT_FILTER = -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -495,38 +495,38 @@ FILTER_SOURCE_FILES = NO # configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body +# Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = YES -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES @@ -535,133 +535,133 @@ VERBATIM_HEADERS = YES # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 2 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = +HTML_HEADER = -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a # standard footer. -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 the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own +# 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 the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be # written to the html output directory. -CHM_FILE = +CHM_FILE = -# If the GENERATE_HTMLHELP tag is set to YES, 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 doxygen will try to run +# If the GENERATE_HTMLHELP tag is set to YES, 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 doxygen will try to run # the HTML help compiler on the generated index.hhp. -HHC_LOCATION = +HHC_LOCATION = -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that +# If the GENERATE_HTMLHELP tag is set to YES, 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). GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a +# If the GENERATE_HTMLHELP tag is set to YES, 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. BINARY_TOC = NO -# The TOC_EXPAND flag can be set to YES to add extra items for group members +# The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 @@ -670,74 +670,74 @@ TREEVIEW_WIDTH = 250 # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. -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 chapter. If it is left blank doxygen will generate a +# 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 chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO @@ -746,68 +746,68 @@ LATEX_HIDE_INDICES = NO # configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = -# Set optional variables used in the generation of an rtf document. +# Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man -# The MAN_EXTENSION tag determines the extension that is added to +# The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 -# 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 man page(s). These additional files -# only source the real man page, but without them the man command +# 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 man page(s). These additional files +# only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO @@ -816,33 +816,33 @@ MAN_LINKS = NO # configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_SCHEMA = +XML_SCHEMA = -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_DTD = +XML_DTD = -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES @@ -851,10 +851,10 @@ XML_PROGRAMLISTING = YES # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO @@ -863,280 +863,280 @@ GENERATE_AUTOGEN_DEF = NO # configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by # the preprocessor. -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 -# directories. If left blank, the patterns specified with FILE_PATTERNS will +# 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 +# directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -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 -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are +# 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 +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. -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 macro definition that is found in the sources will be used. +# 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 macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse the +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the # parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen +# 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 +# When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. -GENERATE_TAGFILE = +GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES -# The PERL_PATH should be the absolute path and name of the perl script +# The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is # recommended to install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = NO -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented +# 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. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO -# If set to YES, the inheritance and collaboration graphs will show the +# If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png -# The tag DOT_PATH can be used to specify the path where the dot tool can be +# The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found on the path. -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 +# 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). -DOTFILE_DIRS = +DOTFILE_DIRS = -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes that -# lay further from the root node will be omitted. Note that setting this option to -# 1 or 2 may greatly reduce the computation time needed for large code bases. Also -# note that a graph may be further truncated if the graph's image dimensions are -# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). # If 0 is used for the depth value (the default), the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- -# The SEARCHENGINE tag specifies whether or not a search engine should be +# The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO diff --git a/DOCS/tech/TODO b/DOCS/tech/TODO index 505c78988f..cc3c3e2ef4 100644 --- a/DOCS/tech/TODO +++ b/DOCS/tech/TODO @@ -26,7 +26,7 @@ FOR THE NEXT RELEASE: ~~~~~~~~~~~~~~~~~~~~~~ - fix vo_svga vs. -vf scale - DONE? - Re: [MPlayer-cvslog] CVS: main/libvo vo_vesa.c,1.82,1.83 - This patch makes mplayer unusable in console mode, always leaves the + This patch makes mplayer unusable in console mode, always leaves the console in graphic mode. - Dec 19: [BUG] mencoder+mp3lame creates desynced AVI (<=22Khz support missing) - finish testing /old-incoming/ samples diff --git a/DOCS/tech/codec-devel.txt b/DOCS/tech/codec-devel.txt index 86eb8db922..765bf1c281 100644 --- a/DOCS/tech/codec-devel.txt +++ b/DOCS/tech/codec-devel.txt @@ -74,7 +74,7 @@ the driver name. Next, create a new source file which contains the main decoding function that MPlayer will call to decode data. Eventually, you may have multiple -files which comprise your decoder, but let's start simple here. +files which comprise your decoder, but let's start simple here. For audio codecs, see ad_sample.c skeleton. For video, choose one of the existing vd_*.c files which you think is close to your codec in behaviour. @@ -188,7 +188,7 @@ files: - Makefile - etc/codecs.conf - ad.c or vd.c -Of course, you will need to include your newly-created file(s): +Of course, you will need to include your newly-created file(s): vd_<name>.c -OR- ad_<name>.c. If you contribute enough decoders, the development team may even grant you write privileges to the Subversion repository. @@ -198,7 +198,7 @@ You may think you're finished when you release the codec and if you're extremely lucky, you will be right. However, it's more likely that people will start throwing all kinds of oddball media at your decoder that it never counted on. Cheer up; take comfort in knowing that people are -testing your code and attempting to use it as a real world +testing your code and attempting to use it as a real world application. Download the problem media that people upload to the MPlayer FTP site and get back to work, implementing fixed code that addresses the issues. Contribute more patches and encourage people to hammer on your diff --git a/DOCS/tech/dr-methods.txt b/DOCS/tech/dr-methods.txt index 8f613cbd4b..c8eac2aae3 100644 --- a/DOCS/tech/dr-methods.txt +++ b/DOCS/tech/dr-methods.txt @@ -106,7 +106,7 @@ steps of decoding with libmpcodecs: 3. vd asks libvo (control(VOCTRL_GET_IMAGE)), if it can provide such buffer: - if it can -> do direct rendering - it it can not -> allocate system ram area with memalign()/malloc() - Note: codec may request EXPORT buffer, it means buffer allocation is + Note: codec may request EXPORT buffer, it means buffer allocation is done inside the codec, so we cannot do DR :( 4. codec decodes one frame to the mpi struct (system ram or direct rendering) 5. if it isn't DR, we call libvo's draw functions to blit image to video ram diff --git a/DOCS/tech/encoding-tips.txt b/DOCS/tech/encoding-tips.txt index 9096f1f84e..8891bdc20a 100644 --- a/DOCS/tech/encoding-tips.txt +++ b/DOCS/tech/encoding-tips.txt @@ -122,7 +122,7 @@ long, encoded at 25fps (those nasty NTSC fps values give me headaches. Adjust to your needs, of course!). This leaves you with a video bitrate of: - $videosize * 8 + $videosize * 8 $videobitrate = -------------- $length * 1000 @@ -152,7 +152,7 @@ vbitate and scale. Why? Because both together tell the codec how many bits it may spend on each frame for each bit: and this is the 'bpp' value (bits per pixel). It's simply defined as - $videobitrate * 1000 + $videobitrate * 1000 $bpp = ----------------------- $width * $height * $fps @@ -260,7 +260,7 @@ majority of quantizers at 4 and above then you should probably decrease the resolution (you'll definitly see block artefacts). -Well... Several people will probably disagree with me on certain +Well... Several people will probably disagree with me on certain points here, especially when it comes down to hard values (like the $bpp categories and the percentage of the quantizers used). But the idea is still valid. @@ -275,13 +275,13 @@ end up with movies that could certainly look better. Now please shoot me if you have any complaints ;) --- +-- ==> Ciao, Mosu (Moritz Bunkus) =========== ANOTHER APPROACH: BITS PER BLOCK: -> $videobitrate * 1000 +> $videobitrate * 1000 > $bpp = ----------------------- > $width * $height * $fps @@ -341,7 +341,7 @@ scale down again in desesperate need of some bandwidth :) In my experience, don't try to go below a width of 576 without closely watching what's going on. --- +-- Rémi =========== @@ -488,18 +488,18 @@ I found myself that 4:3 B&W old movies are very hard to compress well. In addition to the 4:3 aspect ratio which eats lots of bits, those movies are typically very "noisy", which doesn't help at all. Anyway : -> After a few tries I am -> still a little bit disappointed with the video quality. Since it is a -> "dark" movies, there is a lot of black on the pictures, and on the -> encoded avi I can see a lot of annoying "mpeg squares". I am using -> avifile codec, but the best I think is to give you the command line I -> used to encode a preview of the result: +> After a few tries I am +> still a little bit disappointed with the video quality. Since it is a +> "dark" movies, there is a lot of black on the pictures, and on the +> encoded avi I can see a lot of annoying "mpeg squares". I am using +> avifile codec, but the best I think is to give you the command line I +> used to encode a preview of the result: -> -> First pass: -> mencoder TITLE01-ANGLE1.VOB -oac copy -ovc lavc -lavcopts -> vcodec=mpeg4:vhq:vpass=1:vbitrate=800:keyint=48 -ofps 23.976 -npp lb -> -ss 2:00 -endpos 0:30 -vf scale -zoom -xy 640 -o movie.avi +> +> First pass: +> mencoder TITLE01-ANGLE1.VOB -oac copy -ovc lavc -lavcopts +> vcodec=mpeg4:vhq:vpass=1:vbitrate=800:keyint=48 -ofps 23.976 -npp lb +> -ss 2:00 -endpos 0:30 -vf scale -zoom -xy 640 -o movie.avi 1) keyint=48 is way too low. The default value is 250, this is in *frames* not seconds. Keyframes are significantly larger than P or B frames, so the @@ -555,35 +555,35 @@ Be warned that these options are really experimental and the result could be very good or very bad depending on your visualization device (computer CRT, TV or TFT screen). Don't push too hard these options. -> Second pass: -> the same with vpass=2 +> Second pass: +> the same with vpass=2 7) I've found that lavc gives better results when the first pass is done with "vqscale=2" instead of a target bitrate. The statistics collected seems to be more precise. YMMV. -> I am new to mencoder, so please tell me any idea you have even if it -> obvious. I also tried the "gray" option of lavc, to encode B&W only, -> but strangely it gives me "pink" squares from time to time. +> I am new to mencoder, so please tell me any idea you have even if it +> obvious. I also tried the "gray" option of lavc, to encode B&W only, +> but strangely it gives me "pink" squares from time to time. Yes, I've seen that too. Playing the resulting file with "-lavdopts gray" fix the problem but it's not very nice ... -> So if you could tell me what option of mencoder or lavc I should be -> looking at to lower the number of "squares" on the image, it would be -> great. The version of mencoder i use is 0.90pre8 on a macos x PPC -> platform. I guess I would have the same problem by encoding anime -> movies, where there are a lot of region of the image with the same -> color. So if you managed to solve this problem... +> So if you could tell me what option of mencoder or lavc I should be +> looking at to lower the number of "squares" on the image, it would be +> great. The version of mencoder i use is 0.90pre8 on a macos x PPC +> platform. I guess I would have the same problem by encoding anime +> movies, where there are a lot of region of the image with the same +> color. So if you managed to solve this problem... You could also try the "mpeg_quant" flag. It selects a different set of quantizers and produce somewhat sharper pictures and less blocks on large zones with the same or similar luminance, at the expense of some bits. -> This is completely off topic, but do you know how I can create good -> subtitles from vobsub subtitles ? I checked the -dumpmpsub option of -> mplayer, but is there a way to do it really fast (ie without having to -> play the whole movie) ? +> This is completely off topic, but do you know how I can create good +> subtitles from vobsub subtitles ? I checked the -dumpmpsub option of +> mplayer, but is there a way to do it really fast (ie without having to +> play the whole movie) ? I didn't find a way under *nix to produce reasonably good text subtitles from vobsubs. OCR *nix softwares seems either not suited to the task, not @@ -601,14 +601,14 @@ for f in 0 1 2 3 4 5 6 7 8 9 10 11 ; do \ done (and yes, I've a DVD with 12 subtitles) --- +-- Rémi ================================================================================ -TIPS FOR SMOKE & CLOUDS +TIPS FOR SMOKE & CLOUDS Q: I'm trying to encode Dante's Peak and I'm having problems with clouds, fog and smoke: They don't look fine (they look very bad if I watch the @@ -620,10 +620,10 @@ In particular I'm using vqscale=2:vhq:v4mv A: Try adding "vqcomp=0.7:vqblur=0.2:mpeg_quant" to lavcopts. -Q: I tried your suggestion and it improved the image a little ... but not -enough. I was playing with different options and I couldn't find the way. -I suppose that the vob is not so good (watching it in TV trough the -computer looks better than my encoding, but it isn't a lot of better). +Q: I tried your suggestion and it improved the image a little ... but not +enough. I was playing with different options and I couldn't find the way. +I suppose that the vob is not so good (watching it in TV trough the +computer looks better than my encoding, but it isn't a lot of better). A: Yes, those scenes with qscale=2 looks terrible :-( @@ -652,46 +652,46 @@ A = Rémi TIPS FOR TWEAKING RATECONTROL -(For the purpose of this explanation, consider "2nd pass" to be any beyond -the 1st. The algorithm is run only on P-frames; I- and B-frames use QPs -based on the adjacent P. While x264's 2pass ratecontrol is based on lavc's, +(For the purpose of this explanation, consider "2nd pass" to be any beyond +the 1st. The algorithm is run only on P-frames; I- and B-frames use QPs +based on the adjacent P. While x264's 2pass ratecontrol is based on lavc's, it has diverged somewhat and not all of this is valid for x264.) Consider the default ratecontrol equation in lavc: "tex^qComp". -At the beginning of the 2nd pass, rc_eq is evaluated for each frame, and -the result is the number of bits allocated to that frame (multiplied by +At the beginning of the 2nd pass, rc_eq is evaluated for each frame, and +the result is the number of bits allocated to that frame (multiplied by some constant as needed to match the total requested bitrate). -"tex" is the complexity of a frame, i.e. the estimated number of bits it -would take to encode at a given quantizer. (If the 1st pass was CQP and -not turbo, then we know tex exactly. Otherwise it is calculated by -multiplying the 1st pass's bits by the QP of that frame. But that's not +"tex" is the complexity of a frame, i.e. the estimated number of bits it +would take to encode at a given quantizer. (If the 1st pass was CQP and +not turbo, then we know tex exactly. Otherwise it is calculated by +multiplying the 1st pass's bits by the QP of that frame. But that's not why CQP is potentially good; more on that later.) -"qComp" is just a constant. It has no effect outside the rc_eq, and is +"qComp" is just a constant. It has no effect outside the rc_eq, and is directly set by the vqcomp parameter. -If vqcomp=1, then rc_eq=tex^1=tex, so 2pass allocates to each frame the +If vqcomp=1, then rc_eq=tex^1=tex, so 2pass allocates to each frame the number of bits needed to encode them all at the same QP. -If vqcomp=0, then rc_eq=tex^0=1, so 2pass allocates the same number of -bits to each frame, i.e. CBR. (Actually, this is worse than 1pass CBR in -terms of quality; CBR can vary within its allowed buffer size, while +If vqcomp=0, then rc_eq=tex^0=1, so 2pass allocates the same number of +bits to each frame, i.e. CBR. (Actually, this is worse than 1pass CBR in +terms of quality; CBR can vary within its allowed buffer size, while vqcomp=0 tries to make each frame exactly the same size.) -If vqcomp=0.5, then rc_eq=sqrt(tex), so the allocation is somewhere -between CBR and CQP. High complexity frames get somewhat lower quality +If vqcomp=0.5, then rc_eq=sqrt(tex), so the allocation is somewhere +between CBR and CQP. High complexity frames get somewhat lower quality than low complexity, but still more bits. -While the actual selection of a good value of vqcomp is experimental, the +While the actual selection of a good value of vqcomp is experimental, the following underlying factors determine the result: -Arguing towards CQP: You want the movie to be somewhere approaching -constant quality; oscillating quality is even more annoying than constant -low quality. (However, constant quality does not mean constant PSNR nor -constant QP. Details are less noticeable in high-motion scenes, so you can -get away with somewhat higher QP in high-complexity frames for the same +Arguing towards CQP: You want the movie to be somewhere approaching +constant quality; oscillating quality is even more annoying than constant +low quality. (However, constant quality does not mean constant PSNR nor +constant QP. Details are less noticeable in high-motion scenes, so you can +get away with somewhat higher QP in high-complexity frames for the same perceived quality.) -Arguing towards CBR: You get more quality per bit if you spend those bits -in frames where motion compensation works well (which tends to be -correlated with "tex"): A given artifact may stick around several seconds -in a low-motion scene, and you only have to fix it in one frame to improve +Arguing towards CBR: You get more quality per bit if you spend those bits +in frames where motion compensation works well (which tends to be +correlated with "tex"): A given artifact may stick around several seconds +in a low-motion scene, and you only have to fix it in one frame to improve the quality of the whole sequence. Now for why the 1st pass ratecontrol method matters: diff --git a/DOCS/tech/formats.txt b/DOCS/tech/formats.txt index 7535251216..ee4aa8f6ba 100644 --- a/DOCS/tech/formats.txt +++ b/DOCS/tech/formats.txt @@ -19,17 +19,17 @@ It accepts all PES variants, including files created by VDR. Note: VOB (video object) is simple mpeg stream, but it usually has 01BD packets which may contain subtitles and non-mpeg audio. Usually found on DVD discs. - + Headers: mpeg streams has no global header. each frame sequence (also called GOP, group of pictures) contains an sequence header, it describes that block. In normal mpeg 1/2 content there are groups of 12-15 frames (24/30 fps). It means you can freely seek in mpeg streams, and even can cut it to small parts with standard file tools (dd, cut) without destroying it. - + Codecs: video is always mpeg video (mpeg1, mpeg2 or mpeg4). audio is usually mpeg audio (any layer allowed, but it's layer 2 in most files) but 01BD packets may contain AC3, DTS or LPCM too. - + FPS: mpeg2 content allows variable framerate, in form of delayed frames. It's mostly used for playback 24fps content at 29.97/30 fps (NTSC) rate. (so called Telecine or 3:2 pulldown effect) @@ -77,7 +77,7 @@ as VBR is unusual, and Microsoft's AVI specs only describe CBR audio. I also note, that most AVI encoders/multiplexers create bad files if using VBR audio. only 2 exception (known by me): NaNDub and MEncoder. - + FPS: only constant framerate allowed, but it's possible to skip frames. - ASF streams: @@ -94,7 +94,7 @@ but all files i've seen had it at the beginning of the file. Asf uses fixed packet size, so it is seekable without any INDEX block, and broken files are playable well. - + Codecs: video is mostly microsoft's mpeg4 variants: MP42, MP43 (aka DivX), WMV1 and WMV2. but any codecs allowed. audio is usually wma or voxware, sometimes mp3, but any codecs allowed. @@ -106,16 +106,16 @@ They come from Mac users, usually with .mov or .qt extension, but as MPEG Group chose quicktime as recommended file format for MPEG4, sometimes you meet quicktime files with .mpg or .mp4 extension. - + At first look, it's a mixture of ASF and AVI. It requires INDEX block for random access and seeking, and even for playback, like AVI, but uses timestamps instead of constant framerate and has more flexible stream options (including network stuff) like ASF. - + Headers: header can be placed at the beginning or at the end of file. About half of my files have it at the beginning, others have it at the end. Broken files are only playable if they have header at the beginning! - + Codecs: any codecs allowed, both CBR and VBR. Note: most new mov files use Sorenson video and QDesign Music audio, they are patented, closed, secret, (TM)-ed etc formats, only Apple's @@ -128,7 +128,7 @@ files even has no keyframes, so forget seeking! Video is standard h.263 (in vivo/2.0 files it's modified, non-standard h.263), audio is either standard g.723 or Vivo Siren codec. - + Note, that microsoft licensed vivo stuff, and included in their netshow v2.0 program, so there are VfW/ACM codecs for vivo video and audio. @@ -142,14 +142,14 @@ appended fragments of the video frame. RV30+ supports B frames, so you have to parse some bits of the first fragment to get the real PTS. The audio frames are fixed size (CBR) but using the same scrambling - (out-of-order interleaving) as in the ASF files. - + (out-of-order interleaving) as in the ASF files. + Codecs: Audio is either COOK(er), SIPR(o), ATRAC3 or DNET. The DNET is actually a byte-swapped low-bitrate Dolby AC3 variant :) Video is RV10 (h263 variant), RV20 (rp G2), RV30 (rp v8) or RV40 (rp v9). - + FPS: variable, just like in ASF. - + Note, that similarity of real and asf has some background - they worked together on the (never finished/used) ASF v2 spec for some time. diff --git a/DOCS/tech/general.txt b/DOCS/tech/general.txt index 7e5667a4cd..631ee3f9de 100644 --- a/DOCS/tech/general.txt +++ b/DOCS/tech/general.txt @@ -148,7 +148,7 @@ Now, go on: From this we can calculate what PTS we need for the just played audio, then after we compare this with the video's PTS, we have the difference! - + Life didn't get simpler with AVI. There's the "official" timing method, the BPS-based, so the header contains how many compressed audio bytes or chunks belong to one second of frames. @@ -194,14 +194,14 @@ Now, go on: blocking. Unfortunately it doesn't say how much we could :(( Also, doesn't/badly works with some drivers. Only used if none of the above works. - + 4. Codecs. Consists of libmpcodecs/* and separate files or libs, for example liba52, libmpeg2, xa/*, alaw.c, opendivx/*, loader, mp3lib. mplayer.c doesn't call them directly, but through the dec_audio.c and dec_video.c files, so the mplayer.c doesn't have to know anything about the codecs. - + libmpcodecs contains wrapper for every codecs, some of them include the codec function implementation, some calls functions from other files included with mplayer, some calls optional external libraries. @@ -226,4 +226,3 @@ Now, go on: 6.a audio plugins for details on this, read libao2.txt - diff --git a/DOCS/tech/hwac3.txt b/DOCS/tech/hwac3.txt index b3a7e9a757..9ae5a4f136 100644 --- a/DOCS/tech/hwac3.txt +++ b/DOCS/tech/hwac3.txt @@ -61,83 +61,83 @@ running for me. ----------------------------------------------------------------------- Hi there. -Perhaps I can clear up some mystification about AC3 passthrough in +Perhaps I can clear up some mystification about AC3 passthrough in general and mplayer in special: -To get the external decoder solution working, it must be fed with data -which is bitidentical to the chunks in the source ac3 file (compressed -data is very picky about bit errors). Additionally - or better to say -'historically' - the non-audio bit should be set in the spdif status -fields to prevent old spdif hardware from reproducing ugly scratchy -noise. Note: for current decoders (probably those with DTS capability) -this safety bit isn't needed anymore. At least I can state that for my -Sherwood RVD-6095RDS. I think it is due to DTS because DTS sound can -reside on a ordinary AudioCD and an ordinary AudioCD-Player will always +To get the external decoder solution working, it must be fed with data +which is bitidentical to the chunks in the source ac3 file (compressed +data is very picky about bit errors). Additionally - or better to say +'historically' - the non-audio bit should be set in the spdif status +fields to prevent old spdif hardware from reproducing ugly scratchy +noise. Note: for current decoders (probably those with DTS capability) +this safety bit isn't needed anymore. At least I can state that for my +Sherwood RVD-6095RDS. I think it is due to DTS because DTS sound can +reside on a ordinary AudioCD and an ordinary AudioCD-Player will always have it's audio-bit set. -The sample format of the data must be 2channel 16bit (little endian -IIRC). Samplerates are 48kHz - although my receiver also accepts -44100Hz. I do not know if this is due to an over-compatability of my -receiver or if 44100 is also possible in the ac3 specs. For safety's -sake lets keep this at 48000Hz. AC3 data chunks are inserted into the -stream every 0x1600 bytes (don't bite me on that, look into +The sample format of the data must be 2channel 16bit (little endian +IIRC). Samplerates are 48kHz - although my receiver also accepts +44100Hz. I do not know if this is due to an over-compatability of my +receiver or if 44100 is also possible in the ac3 specs. For safety's +sake lets keep this at 48000Hz. AC3 data chunks are inserted into the +stream every 0x1600 bytes (don't bite me on that, look into 'ac3-iec958.c': 'ac3_iec958_build_burst'). -To come back to the problem: data must be played bit-identically through -the soundcard at the correct samplerate and should optionally have it's +To come back to the problem: data must be played bit-identically through +the soundcard at the correct samplerate and should optionally have it's non-audio bit set. There are two ways to accomplish this: -1) Some OSS guy invented the format AFMT_AC3. Soundcard drivers -implementing this format should therefore adjust it's mixers and -switches to produce the desired output. Unfortunately some soundcard -drivers do not support this format correctly and most do not even +1) Some OSS guy invented the format AFMT_AC3. Soundcard drivers +implementing this format should therefore adjust it's mixers and +switches to produce the desired output. Unfortunately some soundcard +drivers do not support this format correctly and most do not even support it at all (including ALSA). -2) The alternative approach currently in mplayer CVS is to simply set -the output format to 48kHz16bitLE and rely on the user to have the +2) The alternative approach currently in mplayer CVS is to simply set +the output format to 48kHz16bitLE and rely on the user to have the soundcard mixers adjusted properly. -I do have two soundcards with digital IO facilities (CMI8738 and -Trident4DWaveNX based) plus the mentioned decoder. I'm currently running +I do have two soundcards with digital IO facilities (CMI8738 and +Trident4DWaveNX based) plus the mentioned decoder. I'm currently running Linux-2.4.17. Following configurations are happily running here: 1. Trident with ALSA drivers (OSS does not support Hoontech's dig. IO) 2. CMI with ALSA drivers 3. CMI with OSS drivers -For Linux I'd suggest using ALSA because of it's cleaner architecture -and more consitent user interface. Not to mention that it'll be the +For Linux I'd suggest using ALSA because of it's cleaner architecture +and more consitent user interface. Not to mention that it'll be the standard sound support in Linux soon. -For those who want to stick to OSS drivers: The CMI8738 drivers works +For those who want to stick to OSS drivers: The CMI8738 drivers works out-of-the-box, if the PCM/Wave mixer is set to 100%. -For ALSA I'd suggest using its OSS emulation. More on that later. -ALSA-0.9 invented the idea of cards, devices and dubdevices. You can -reach the digital interface of all supported cards consitently by using -the device 'hw:x,2' (x counting from 0 is the number of your soundcard). -So most people would end up at 'hw:0,2'. This device can only be opened -in sample formats and rates which are directly supported in hardware -hence no samplerate conversion is done keeping the stream as-is. However -most consumer soundcards do not support 44kHz so it would definitively -be a bad idea to use this as your standard device if you wanted to -listen to some mp3s (most of them are 44kHz due to CD source). Here the -OSS comes to play again. You can configure which OSS device (/dev/dsp -and /dev/adsp) uses which ALSA device. So I'd suggest pointing the -standard '/dev/dsp' to standard 'hw:0,0' which suports mixing and -samplerate conversion. No further reconfiguration would be needed for -your sound apps. For movies I'd point '/dev/adsp' to 'hw:0,2' and -configure mplayer to use adsp instead of dsp. The samplerate constrain -is no big deal here since movies usually are in 48Khz anyway. The +For ALSA I'd suggest using its OSS emulation. More on that later. +ALSA-0.9 invented the idea of cards, devices and dubdevices. You can +reach the digital interface of all supported cards consitently by using +the device 'hw:x,2' (x counting from 0 is the number of your soundcard). +So most people would end up at 'hw:0,2'. This device can only be opened +in sample formats and rates which are directly supported in hardware +hence no samplerate conversion is done keeping the stream as-is. However +most consumer soundcards do not support 44kHz so it would definitively +be a bad idea to use this as your standard device if you wanted to +listen to some mp3s (most of them are 44kHz due to CD source). Here the +OSS comes to play again. You can configure which OSS device (/dev/dsp +and /dev/adsp) uses which ALSA device. So I'd suggest pointing the +standard '/dev/dsp' to standard 'hw:0,0' which suports mixing and +samplerate conversion. No further reconfiguration would be needed for +your sound apps. For movies I'd point '/dev/adsp' to 'hw:0,2' and +configure mplayer to use adsp instead of dsp. The samplerate constrain +is no big deal here since movies usually are in 48Khz anyway. The configuration in '/etc/modules.conf' is no big deal also: alias snd-card-0 snd-card-cmipci # insert your card here alias snd-card-1 snd-pcm-oss # load OSS emulation options snd-pcm-oss snd_dsp_map=0 snd_adsp_map=2 # do the mapping -This works flawlessly in combination with alsa's native -SysVrc-init-script 'alsasound'. Be sure to disable any distribution -dependent script (e.g. Mandrake-8.1 has an 'alsa' script which depends +This works flawlessly in combination with alsa's native +SysVrc-init-script 'alsasound'. Be sure to disable any distribution +dependent script (e.g. Mandrake-8.1 has an 'alsa' script which depends on ALSA-0.5). Sorry for you *BSD'lers out there. I have no grasp on sound support there. diff --git a/DOCS/tech/libao2.txt b/DOCS/tech/libao2.txt index ba8317e056..49cb0284f7 100644 --- a/DOCS/tech/libao2.txt +++ b/DOCS/tech/libao2.txt @@ -41,7 +41,7 @@ static int play(void* data,int len,int flags); rounded down to 0 or the data will never be played (as MPlayer will never call play() with a larger len). -static float get_delay(void); +static float get_delay(void); Returns how long time it will take to play the data currently in the output buffer. Be exact, if possible, since the whole timing depends on this! In the worst case, return the maximum delay. @@ -53,4 +53,4 @@ static void audio_pause(void); Pause playing but do not delete buffered data if possible. static void audio_resume(void); - Continue playing after audio_pause(). + Continue playing after audio_pause(). diff --git a/DOCS/tech/libvo.txt b/DOCS/tech/libvo.txt index 6176cdbdff..945aeab952 100644 --- a/DOCS/tech/libvo.txt +++ b/DOCS/tech/libvo.txt @@ -106,7 +106,7 @@ Each vo driver _has_ to implement these: that sets vo_dx, vo_dy etc. appropriately before config() is called. - config(): + config(): Set up the video system. You get the dimensions and flags. width, height: size of the source image d_width, d_height: wanted scaled/display size (it's a hint) @@ -116,7 +116,7 @@ Each vo driver _has_ to implement these: 0x04 - allow software scaling (-zoom) 0x08 - flipping (-flip) They're defined as VOFLAG_* (see libvo/video_out.h) - + IMPORTANT NOTE: config() may be called 0 (zero), 1 or more (2,3...) times between preinit() and uninit() calls. You MUST handle it, and you shouldn't crash at second config() call or at uninit() without @@ -158,7 +158,7 @@ Each vo driver _has_ to implement these: this filter automatically. Make sure you set VFCAP_OSD depending on whether you implemented it or not. - + NOTE: This one will be obsolete soon! But it's still useful when you want to do tricks, like rendering osd _after_ hardware scaling (tdfxfb) or render subtitles under of the image (vo_mpegpes, sdl) @@ -171,4 +171,3 @@ Each vo driver _has_ to implement these: real. This is 'swapbuffers' when doublebuffering. Try to do as little work here as possible, since that affect jitter/ A-V sync. - diff --git a/DOCS/tech/mingw-crosscompile.txt b/DOCS/tech/mingw-crosscompile.txt index e4e2dbee0e..62e901a0f6 100644 --- a/DOCS/tech/mingw-crosscompile.txt +++ b/DOCS/tech/mingw-crosscompile.txt @@ -11,7 +11,7 @@ http://natsuki.mplayerhq.hu/~reimar/mpl_mingw32.tar.bz2 NOTE that this is likely to be quite out-dated and might include packages with security issues, so do not use it to build binaries for real use. -After extracting this package into the MPlayer source-tree, +After extracting this package into the MPlayer source-tree, you only need to run the included linux-mingw.sh to configure (it just runs ./configure --host-cc=cc --target=i686-mingw32msvc --cc=i586-mingw32msvc-cc --windres=i586-mingw32msvc-windres --ranlib=i586-mingw32msvc-ranlib diff --git a/DOCS/tech/new_policy_proposal.txt b/DOCS/tech/new_policy_proposal.txt index fd485a012f..d6fbfbc6b3 100644 --- a/DOCS/tech/new_policy_proposal.txt +++ b/DOCS/tech/new_policy_proposal.txt @@ -90,7 +90,7 @@ Reverting broken commits If you are even just slightly uncertain how to revert something then ask on the mplayer-dev-eng mailing list. -Broken code +Broken code You must not commit code which breaks MPlayer! (Meaning unfinished but enabled code which breaks compilation or compiles but does not work.) You can commit unfinished stuff (for testing etc), but it must be disabled @@ -256,7 +256,7 @@ public developer mailing list and rate options each with an integer unrated options shall be counted equal to the default option Any leader can cast a veto against any option except the default up to 10 days days after a vote has been started, to do so she has to reply to the original -vote mail on the public developer mailing list and replace +vote mail on the public developer mailing list and replace [VOTE] by [VOTE-VETO] Developers and leaders who use gpg/pgp MUST sign their votes and vetoes @@ -287,7 +287,7 @@ furthermore B wins even though 100 of 101 developers prefer A over B S. Changes to developer and Leader status ---------------------------------------- -The majority of leaders, that is yes>no can give and take away +The majority of leaders, that is yes>no can give and take away developer and leader status to people furthermore any developer or leader can step back and thus loose his leader and or developer status diff --git a/DOCS/tech/playtree b/DOCS/tech/playtree index 448c378099..2aaf5a175e 100644 --- a/DOCS/tech/playtree +++ b/DOCS/tech/playtree @@ -1,5 +1,5 @@ -How work the playtree ? +How work the playtree ? Good question, I try to explain but note that it's the first doc I write :) @@ -25,7 +25,7 @@ struct play_tree { The play_tree_t* hold the links in the 4 directions, the params hold all parameters of this entry, loop is obvious (loop < 0 mean infint loop), -files hold all the files of this entry and entry_type obviously tell the +files hold all the files of this entry and entry_type obviously tell the type of this entry (Node, file, dvd, vcd ot tv). An entry can hold more than one file, why ? @@ -47,7 +47,7 @@ be raised). Then to create a list of entry you should use play_tree_append_entry, play_tree_prepend_entry or play_tree_insert_entry. In all this function you can use any entry of the the list as first argument, -no need that it's the first one. The same apply when you set the child of a node, +no need that it's the first one. The same apply when you set the child of a node, the child argument can be any entry in a list. To remove an entry from the tree use play_tree_remove. If the second arg (free_it) is true it will also free it, if the entry should be freed and the third @@ -103,7 +103,7 @@ iter->num_files and which one it returned using iter->file. In case the entry is a DVD, VCD or TV channel the returned string is not a filename but "DVD title x", "VCD track x" or "TV channel x". To distinc those case from a normal file you can check iter->tree->entry_type. -It will contain one of PLAY_TREE_ENTRY_DVD, PLAY_TREE_ENTRY_VCD, +It will contain one of PLAY_TREE_ENTRY_DVD, PLAY_TREE_ENTRY_VCD, PLAY_TREE_ENTRY_TV or PLAY_TREE_ENTRY_FILE. If you need to make some check with the iter, such as will next entry be valid, etc diff --git a/DOCS/tech/realcodecs/TODO b/DOCS/tech/realcodecs/TODO index 2a33e043e7..5ba035bfdd 100644 --- a/DOCS/tech/realcodecs/TODO +++ b/DOCS/tech/realcodecs/TODO @@ -20,5 +20,3 @@ TODO: also statistics->streams->video->POST FILTER: ON (i've found that custommessage calls differ wiht pp on/off, but adding these calls to mplayer didn't make a pixel difference between outputs) - - diff --git a/DOCS/tech/realcodecs/audio-codecs.txt b/DOCS/tech/realcodecs/audio-codecs.txt index 983b1e7356..8a0d958354 100644 --- a/DOCS/tech/realcodecs/audio-codecs.txt +++ b/DOCS/tech/realcodecs/audio-codecs.txt @@ -65,7 +65,7 @@ void *GetRAFlavorProperty(ra_main_t *raMain, ulong flavor, ulong property, returns property data for a specific data This is not important, because it's just a read only function. -These flavor properties don't seem to exist in +These flavor properties don't seem to exist in ulong RADecode(ra_main_t *raMain, char *input_buffer, @@ -91,7 +91,7 @@ audio data storage: With Real Audio V5 (or earlier?), the audio streams can be interleaved, i.e. the stream is striped amongst several data packets. The packets (which have a fixed size packet_len) are split up into a fixed number -of num_parts equally sized parts - I call them leaves in lack of +of num_parts equally sized parts - I call them leaves in lack of better name. The leaves have the size leaf_size = packet_len / num_parts. To create a bunch of packets, you need 2*num_parts stream packets. @@ -153,6 +153,3 @@ output_buffer points to the output buffer from the last decode operation. retval is unknown, returning always 0x18 in a specific sample -> further investigation needed - - - diff --git a/DOCS/tech/realcodecs/video-codecs.txt b/DOCS/tech/realcodecs/video-codecs.txt index 5fd515a23b..2bef957172 100644 --- a/DOCS/tech/realcodecs/video-codecs.txt +++ b/DOCS/tech/realcodecs/video-codecs.txt @@ -94,7 +94,7 @@ NOTE: rv30 only requires the (0x24,2|3,{w,h,w,h}) message. others can be left out! rv20 only requires the (0x11,2,0) message in rp8, before each transform call. -(3,2,0) +(3,2,0) returns always(?) an error, since a global variable inside the codec (which points to a function similar to custommessage), is always NULL @@ -140,7 +140,7 @@ unscaled video stream, the second possibly image size 060 height width height 0 070 0 1 0 0 080 0 0xb w h -090 w h 0 0 +090 w h 0 0 0A0 1 0xb0(w?) 0x58 0x58 0B0 ptr->? 0 0 1 0C0 0x32 1 0 0 @@ -148,7 +148,7 @@ unscaled video stream, the second possibly image size 0E0 0 0 0 0 0F0 0 0 0 0 100 0 0 0 0 -110 p p p p p are pointers to several function, for +110 p p p p p are pointers to several function, for 120 p p p p example to the actual public functions 130 p p p p (except init, the others are some kind of 140 p p p p interfaces) @@ -183,5 +183,3 @@ Transform (internally calls (0x1c,x,y)) ] Free - - diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index df23826c3c..e1fed7edee 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -237,7 +237,7 @@ radio_step_channel <-1|1> 'channels' radio parameter was set. radio_step_freq <value> - Tune frequency by the <value> (positive - up, negative - down). + Tune frequency by the <value> (positive - up, negative - down). seek <value> [type] Seek to some place in the movie. @@ -541,9 +541,8 @@ teletext_page int 0 799 X X X teletext_subpage int 0 64 X X X teletext_mode flag 0 1 X X X 0 - off, 1 - on teletext_format int 0 3 X X X 0 - opaque, - 1 - transparent, + 1 - transparent, 2 - opaque inverted, 3 - transp. inv. teletext_half_page int 0 2 X X X 0 - off, 1 - top half, 2- bottom half - diff --git a/DOCS/tech/snow.txt b/DOCS/tech/snow.txt index fea39a7b51..be531fcb5c 100644 --- a/DOCS/tech/snow.txt +++ b/DOCS/tech/snow.txt @@ -32,7 +32,7 @@ OPTIONS RECOGNIZED BY SNOW * cmp, subcmp, mbcmp Set the comparison function, default: 0 (SAD). - useful values = 0 (SAD), 1 (SSD), 2 (SATD), + useful values = 0 (SAD), 1 (SSD), 2 (SATD), 11 (5/3 wavelet), 12 (9/7 wavelet). SAD is fastest and lowest quality. SSD is the only function that makes correct decisions about intra vs @@ -87,4 +87,3 @@ vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=12:subcmp=12:mbcmp=1:qpel: Decent, fast options are vcodec=snow:vstrict=-2:vpass=1:vbitrate=$B:pred=0:cmp=1:subcmp=1:mbcmp=1 vcodec=snow:vstrict=-2:vpass=2:vbitrate=$B:pred=0:cmp=2:subcmp=2:mbcmp=1:refs=2 - diff --git a/DOCS/tech/subcp.txt b/DOCS/tech/subcp.txt index 289c28c059..60c370771c 100644 --- a/DOCS/tech/subcp.txt +++ b/DOCS/tech/subcp.txt @@ -1,7 +1,7 @@ Ascii Subtitle / Font CODEPAGEs =============================== -The subtitle encoding issue seems a bit confusing, so I'll try to +The subtitle encoding issue seems a bit confusing, so I'll try to summarize it here. There are 2 approaches: @@ -10,7 +10,7 @@ There are 2 approaches: subfont --unicode <signle-byte encoding known by iconv> ... or subfont --unicode <path to custom encoding file> ... - (this custom encoding file could list all iso-8859-* characters to create + (this custom encoding file could list all iso-8859-* characters to create single font file for common encodings) and then run mplayer this way (-subcp and -utf8 expect Unicode font!): @@ -23,8 +23,8 @@ or or subfont <path to custom signle-byte or EUC encoding file> ... -and then run mplayer without any encoding options for signle-byte -encodings, or with -unicode option for EUC (and the like) encodings +and then run mplayer without any encoding options for signle-byte +encodings, or with -unicode option for EUC (and the like) encodings (which is only partially implemented in mplayer). AFAIK, CJK encodings: EUC-*, BIG5 and GB2312 work more or less this way: @@ -34,11 +34,9 @@ AFAIK, CJK encodings: EUC-*, BIG5 and GB2312 work more or less this way: - other characters are single-byte. -I tested charmap2enc script only with /usr/share/i18n/charmaps/EUC-KR.gz +I tested charmap2enc script only with /usr/share/i18n/charmaps/EUC-KR.gz (on RedHat). It wasn't intended to be perfect. --- +-- Artur Zaprzala - - diff --git a/DOCS/tech/swscaler_methods.txt b/DOCS/tech/swscaler_methods.txt index 20e2a03b79..b2c7077652 100644 --- a/DOCS/tech/swscaler_methods.txt +++ b/DOCS/tech/swscaler_methods.txt @@ -28,7 +28,7 @@ blocky (upscale only) recommendations: (based upon my personal opinion many ppl might disagree ...) --------------------------------------------------------------------- - + the recommended scalers for upscaling: fast_bilinear, point if speed is important cubic, spline, lanczos if quality is important @@ -38,8 +38,8 @@ fast_bilinear, point if speed is important gauss, bilinear if quality is important cubic, spline, lanczos if a sharper picture is important -note: when encoding at a limited amount of bits (not constant quantizer) -then a slightly blurred input might look better after decoding than a slightly +note: when encoding at a limited amount of bits (not constant quantizer) +then a slightly blurred input might look better after decoding than a slightly sharpened one, especially for lower bitrates sws numbers / names / artifact types @@ -64,6 +64,5 @@ m mosaic (blocky) (upscale only) short filter b -sws 10 bicubic spline r -Notes: +Notes: area upscale is identical to bilinear - diff --git a/DOCS/tech/vidix.txt b/DOCS/tech/vidix.txt index f1f61ffe2c..71409be69d 100644 --- a/DOCS/tech/vidix.txt +++ b/DOCS/tech/vidix.txt @@ -1,6 +1,6 @@ VIDIX - VIDeo Interface for *niX ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + This interface was designed and introduced as interface to userspace drivers to provide DGA everywhere where it's possible (unline X11). I hope that these drivers will be portable same as X11 (not only on *nix). @@ -12,10 +12,10 @@ What is it: - Unlikely linux's drivers it uses mathematics library. Why it was developed: -As said Vladimir Dergachev +As said Vladimir Dergachev (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gatos/km/km.rfc.txt): "0) Motivation - v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit + v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit existing multimedia devices into a fixed scheme." Well - I tried to implement something similar by motivation. @@ -42,7 +42,7 @@ So any suggestions, reports, criticism are gladly accepted. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vidix_playback_t.fourcc - contains fourcc of movie vidix_playback_t.capability - currently contsinas copy of vidix_capability_t.flags - vidix_playback_t.blend_factor- currently unused + vidix_playback_t.blend_factor- currently unused vidix_playback_t.src - x,y,w,h fields contain original movie size (in pixels) x and y often are nulls. vidix_playback_t.src.pitch.y These fields contain source pitches @@ -61,23 +61,23 @@ So any suggestions, reports, criticism are gladly accepted. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vidix_playback_t.num_frames - real # of frames which will be used by driver. (Should be less or equal to app's num_frames). - + vidix_playback_t.dest.pitch.y These fields should contain alignment vidix_playback_t.dest.pitch.u - for each Y,U,V plane in bytes. vidix_playback_t.dest.pitch.v (For packed fourcc only Y value is used) - + vidix_playback_t.frame_size - Driver should tell to app which size of source frame (src.w and src.h) should use APP (according to pitches and offsets) vidix_playback_t.offsets - offsets from begin of BES memory for each frame - + vidix_playback_t.offset.y These field should contain offset vidix_playback_t.offset.u - for each Y,U,V plane within frame. vidix_playback_t.offset.v (For packed fourcc only Y value is used) vidix_playback_t.dga_addr - Address of BES memory. - + Also see this picture: VIDEO MEMORY layout: @@ -128,8 +128,8 @@ Formula: (For Y plane) copy source to: 10) APP calls vixPlaybackOff. Driver should deactivate BES on this call. 11) If vixDestroy is defined APP calls this function before unloading driver from memory. - - + + What functions are mandatory: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vixGetVersion |