Skip to content

Add Options #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Jun 16, 2014
Merged

Conversation

cchampet
Copy link
Member

@cchampet cchampet commented Jun 6, 2014

The Options are wrappers of AVOption in libav / ffmpeg, created according to the enum AVOptionType (int, double, boolean, choice...).

Clement Champetier added 8 commits June 6, 2014 12:12
* Add an abstract class "Option", and basic subclasses : "OptionInt",
"OptionDouble", "OptionString".
* Add "optionChecker" app, which parses AVOptions of a CodecContext and
create an array of Options.
* Update SConscripts to add "src/AvTranscoder/Options" folder, and
compile "optionChecker" app with c++11 flag.
* Corresponding to AV_OPT_TYPE_FLAGS in libav / ffmpeg.
* Manage AV_OPT_TYPE_FLOAT and AV_OPT_TYPE_DOUBLE by the same way :
create "OptionDouble".
* Add const to the getDefaultValue function of "OptionString".
* Corresponding to AV_OPT_TYPE_RATIONAL in libav / ffmpeg.
* Create a struct Value2D to get the defaultValue of this option by one
call of getDefaultValue (which returns a Value2D).
* Corresponding to AV_OPT_TYPE_FLAGS with unit informed in libav /
ffmpeg.
* Update optionChecker to create OptionGroup, and continue to parse if
meet unknowed AVOption type.
* Update comments of OptionBoolean.
* Corresponding to AV_OPT_TYPE_INT with unit informed in libav / ffmpeg.
* Update optionChecker to create OptionChoice, add list of choices to
them, and set their default choice.
* Option: add unit attribut.
* Subclasses Option: update getType function to return a string instead
of an enum defined in libav / ffmpeg (AVOptionType).
/**
* @brief Object return by getDefaultValue of Option2D.
*/
struct Value2D
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename to OpionRatio

Clement Champetier added 17 commits June 10, 2014 11:13
* Update optionChecker to fill OptionGroup by OptionBoolean.
* Rename appendOption by appendChoice.
* Update @brief of the class.
* Suppress tabulation.
* Rename Option2D by OptionRatio.
* Use std::pair<int, int> instead of custom struct Value2D.
* Update optionsChecker to use the OptionLoader. The app calls the
loader and displays the list of options.
* 2 new params:
	* req_flags
	* rej_flags
* Can manage specific AVOptions depending on their flags.
* Option class is not abstract anymore: it represents all possible type
of Option (Int, Boolean, Choice...).
* OptionType enum manages the different cases of option (Int, Boolean,
Choice...).
* Option class contains an array of Option: contains sub options in case
of Choice or Group.
* OptionLoader manages an array of Option (instead of pointers).
* OptionChecker doesn't need to include libav / ffmpeg files
(thankfully).
* Update SConstruct: Options folder doesn't exist anymore.
* Update avinfo app to call functions defined in Description.hpp.
* Use constant member functions as much as possible.
* Return const elements when getting sub options of a Group or a Choice.
* In loadOptions function, choose what ffmpeg / libav object on which
we'll scan AVOption: avFormat or avCodec.
* Update OptionChecker app: no need to get a codecContext from the
audioDesc of a stream of an InputFile !
* Also parse name, because name's format defines (in general)
extensions.
* Sort array of extensions.
* Suppress duplicates.
* Fix algo when parse extensions.
* This app checks getInputExtensions and getOutputExtensions functions.
MarcAntoine-Arnaud added a commit that referenced this pull request Jun 16, 2014
@MarcAntoine-Arnaud MarcAntoine-Arnaud merged commit da88461 into avTranscoder:master Jun 16, 2014
valnoel added a commit to valnoel/avTranscoder that referenced this pull request Dec 3, 2014
…dentificator

Update avProfileIdentificator value
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants