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

[WIP] User api #508

Merged
merged 3 commits into from
Sep 10, 2018
Merged

[WIP] User api #508

merged 3 commits into from
Sep 10, 2018

Conversation

lu-zero
Copy link
Collaborator

@lu-zero lu-zero commented Aug 26, 2018

See issue #410

API:

  • Config struct with all the configuration items
    • FromStr to parse a x264-like string
    • Display to produce a x264-like string
    • parse_option(o: &str) to update the configuration using a x264-like key:value string
    • new_context() -> Context
  • Context: opaque struct embedding the existing FrameInvariants, Sequence
    • new_frame() -> Arc<Frame>
    • receive_obu_header() -> Vec<u8>
    • send_frame(frame: Arc<Frame>)/receive_packet() -> Packet
    • flush support
  • Packet
    • data buffer
    • user private data
    • timestamp

Usage:

  • rav1e/rav1repl
  • decode_test

Refactor:

  • Arc the input frame
  • Arc the reconstructed frame

@lu-zero lu-zero requested a review from tdaede August 26, 2018 23:00
@tdaede
Copy link
Collaborator

tdaede commented Aug 27, 2018

This looks okay, but can you explain the rationale for Arc? Is it explained somewhere else?

@lu-zero
Copy link
Collaborator Author

lu-zero commented Aug 27, 2018

It is useful for the multithread experiments (the rec part needs the same changes, but @fbossen is already working on it) and to have multi-encode (see what the commercial x265 offers).

Copy link
Collaborator

@tdaede tdaede left a comment

Choose a reason for hiding this comment

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

I guess I buy it. I kind of imagined rav1e eating the frames once you pass them in, but I guess there is no reason to.

@lu-zero
Copy link
Collaborator Author

lu-zero commented Sep 10, 2018

Rebased to the current master. Once the CI confirms it is working I'd merge it and prepare a new set for the remaining items.

@lu-zero lu-zero merged commit b942e6b into xiph:master Sep 10, 2018
@lu-zero lu-zero deleted the user_api branch April 7, 2019 09:45
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.

2 participants