Skip to content
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

libde265: add callback mechanism to parse events #205

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

chemag
Copy link
Contributor

@chemag chemag commented Apr 19, 2019

Add a mechanism that allows a decoder tool to get a callback for
every NAL unit, slice content, and image that it is interested on.
The idea is for the decoder tool to subscribe to the event it wants
to hear about, and then get the parser object.

This requires:

  • replace C linkage with C++ linkage, so that we can add classes in the
    callback
  • move error codes to separate file, to break the circular dependency
    between several files (e.g. [sps|pps|vps].h) and de265.h

Tested:

Wrote a decoder that subscribes to all the events, and just calls the
dump method for every object.

@chemag
Copy link
Contributor Author

chemag commented Apr 19, 2019

For completeness, chemag@5b9a1d4 is an example of use of the callback mechanism

Add a mechanism that allows a decoder tool to get a callback for
every NAL unit, slice content, and image that it is interested on.
The idea is for the decoder tool to subscribe to the event it wants
to hear about, and then get the parser object.

This requires:

* replace C linkage with C++ linkage, so that we can add classes in the
callback
* move error codes to separate file, to break the circular dependency
between several files (e.g. `[sps|pps|vps].h`) and de265.h

Tested:

Wrote a decoder that subscribes to all the events, and just calls the
`dump` method for every object.
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.

1 participant