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

[mmal] Add zero copy interface to ffmpeg #9384

Merged
merged 5 commits into from Mar 18, 2016
Merged

Conversation

@popcornmix
Copy link
Member

@popcornmix popcornmix commented Mar 18, 2016

This allows the allocation of buffers used by ffmpeg to come from the gpu.
Then we use MMALRenderer to display the buffers through an opaque pointer.
This avoids two copies of the pixel data (on in kodi and one in transfer to GPU) with software decode.

There is a quite a big performance benefit for this, and allows for example 1080p BluRay decode of MPEG-2 without a hardware codec licence, and improves HEVC support.

@popcornmix
Copy link
Member Author

@popcornmix popcornmix commented Mar 18, 2016

*
*/

#ifndef __USER_VCSM__H__INCLUDED__

This comment has been minimized.

@FernetMenta

FernetMenta Mar 18, 2016
Contributor

I am not aware of any compile not supporting "pragma once"

@@ -0,0 +1,440 @@
/*
* Copyright (C) 2015-2016 Raspberry Pi (Trading) Ltd.

This comment has been minimized.

@FernetMenta

FernetMenta Mar 18, 2016
Contributor

shouldn't this files be places into a folder named pri?

#ifdef HAS_MMAL
if (*cur == AV_PIX_FMT_YUV420P)
{
CDecoder* dec = new CDecoder();

This comment has been minimized.

@FernetMenta

FernetMenta Mar 18, 2016
Contributor

namespace is missing

@FernetMenta
Copy link
Contributor

@FernetMenta FernetMenta commented Mar 18, 2016

Looks good! Only some minors, see comments.

@popcornmix
Copy link
Member Author

@popcornmix popcornmix commented Mar 18, 2016

@FernetMenta I've added commits addressing your comments.

@FernetMenta
Copy link
Contributor

@FernetMenta FernetMenta commented Mar 18, 2016

+1

@popcornmix popcornmix force-pushed the popcornmix:zerocopy branch from 1d6a1c5 to bc9a0b3 Mar 18, 2016
@popcornmix
Copy link
Member Author

@popcornmix popcornmix commented Mar 18, 2016

jenkins build this please

popcornmix added a commit that referenced this pull request Mar 18, 2016
[mmal] Add zero copy interface to ffmpeg
@popcornmix popcornmix merged commit 194576e into xbmc:master Mar 18, 2016
0 of 2 checks passed
0 of 2 checks passed
default Merged build finished.
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
@popcornmix popcornmix deleted the popcornmix:zerocopy branch Mar 18, 2016
@Razzeee Razzeee added this to the Krypton 17.0-alpha1 milestone Mar 18, 2016
@ghost
Copy link

@ghost ghost commented Mar 19, 2016

nice, gives me some ideas about using darwin surfaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants