-
Notifications
You must be signed in to change notification settings - Fork 38
oapve param parse #55
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
Closed
Closed
Changes from 6 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
6145e6f
modification of decoding tile
mss-park 6858c97
refactoring
kpchoi 48f696f
refactoring
kpchoi 4772dca
added xeve_param_parse() API
kpchoi 3aaf2ff
fix for arm buiding
kpchoi 4761131
fix typo
kpchoi c17a1d0
added 'preset' to oapve_param_parse()
kpchoi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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 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.
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.
Are here is all required options are listed?
For example threads is missing.
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.
I've tried to add more variables.
Could you help to add "unsigned char q_matrix[OAPV_MAX_CC][OAPV_BLK_D];" option?
Uh oh!
There was an error while loading. Please reload this page.
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.
And, some options are not listed in the oapve_param_t. like 'threads'. it is another issue.
Shall we move 'threads' variable to 'oapve_param_t' structure?
Uh oh!
There was an error while loading. Please reload this page.
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.
How about not supporting '-oapv-params' options?
Instead of it, we can add more AVOptions to support every options listed in oapve_params_t.
Before create new instance by calling oapve_create(), the member variables of oapve_params_t can be directly changed without any side-effect.
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.
Theoretically, we could eliminate the '-oapv-params' option and map all codec parameters (fields of the oapve_param structure) to options (AVOption in the implementation of FFCodec ff_libapv_encoder) in FFmpeg. However, I am not sure if this is a good solution.
Let's assume that we map all OpenAPV codec parameters in ffapv to AVOptions.
In that case, if we want to provide access to all OAPV codec parameters from the FFmpeg side, it will require the maintainers of ffapv to continuously check for any changes in the OpenAPV library and synchronize those changes with FFmpeg.
After implementing changes in OAPV that require modifications on the FFmpeg side, we will have to wait for the corresponding changes to be made in FFmpeg, then go through the review process, be accepted by the FFmpeg community, and merged into the master branch of the FFmpeg project. As you can see, synchronization will involve a certain time overhead, which we will have little influence over due to the engagement of the FFmpeg community.
I think that the optimal solution is to map the most commonly used codec parameters to options in FFmpeg (as is currently the case) and allow the setting of any parameter through the OpenAPV library's API.
This means that the OpenAPV library should expose an API that allows setting all possible codec parameters (function int OAPV_EXPORT oapve_param_parse(oapve_param_t* param, const char* name, const char* value);).
Exposing the oapve_param_parse function in the OpenAPV library allows for setting all supported codec parameters using the -oapv-params option on the FFmpeg side.
This way, no changes in the OpenAPV library related to codec parameters will require reimplementation on the ffapv side.
Moreover, the FFmpeg user, by using the -oapv-params option, will be able to directly refer to the liboapv documentation when configuring codec parameters.
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.
I will refactor many code for supporting oapve_param_parse() API.
And then I will commit PR again later.