-
Notifications
You must be signed in to change notification settings - Fork 50
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
MarcAntoine-Arnaud
merged 25 commits into
avTranscoder:master
from
cchampet:dev_audioProcessing
Jun 16, 2014
Merged
Add Options #7
MarcAntoine-Arnaud
merged 25 commits into
avTranscoder:master
from
cchampet:dev_audioProcessing
Jun 16, 2014
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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.
…scoder into dev_audioProcessing
* 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to OpionRatio
* 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.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Options are wrappers of AVOption in libav / ffmpeg, created according to the enum AVOptionType (int, double, boolean, choice...).