Skip to content

Conversation

@JDarnley
Copy link
Contributor

No description provided.

Copy link
Collaborator

@cmassiot cmassiot left a comment

Choose a reason for hiding this comment

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

It is sad that you do a memcpy of the picture which seems unnecessary. Why don't you just set hmprepend, hmappend, vprepend and vappend during a flow format negotiation?

@JDarnley
Copy link
Contributor Author

JDarnley commented Nov 5, 2020

Oh. Looks like I copy-pasted too much. Sorry and thank you for catching all that.

I need to copy because there seems to be no opportunity to modify the ubuf_mgr request that comes out of upipe_avcodec_decode (avcdec) when it is deported to a worker thread. avcdec calls its demand_ubuf_mgr function from UPIPE_HELPER_UBUF_MGR so it falls back to getting one from the probe when the request isn't answered in the normal manner. I assume it doesn't pass the thread boundary so it can't pass to the usual pipe we use, upipe_ntsc_prepend.

This is only something we recently discovered. Usually we have upipe_ffmt and upipe_sws between the two to convert to 4:2:2 but with that as input they don't need to do anything so they don't send their own asynchronous request for a ubuf_mgr which upipe_ntsc_prepend normally modifies.

A module to pad picture urefs with blank space.
@cmassiot
Copy link
Collaborator

Could you rebase the pull request?

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