Skip to content

Commit

Permalink
[mmalrender] Add pixel format to api
Browse files Browse the repository at this point in the history
  • Loading branch information
popcornmix committed Jun 12, 2016
1 parent 8dd4150 commit 8cb226d
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp
Expand Up @@ -892,7 +892,7 @@ void CMMALVideo::Prime()
{
MMAL_BUFFER_HEADER_T *buffer;
assert(m_renderer);
MMAL_POOL_T *render_pool = m_renderer->GetPool(RENDER_FMT_MMAL, true);
MMAL_POOL_T *render_pool = m_renderer->GetPool(RENDER_FMT_MMAL, AV_PIX_FMT_YUV420P, true);
assert(render_pool);
if (VERBOSE && g_advancedSettings.CanLogComponent(LOGVIDEO))
CLog::Log(LOGDEBUG, "%s::%s - queue(%p)", CLASSNAME, __func__, render_pool);
Expand Down
2 changes: 1 addition & 1 deletion xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALFFmpeg.cpp
Expand Up @@ -280,7 +280,7 @@ int CDecoder::Decode(AVCodecContext* avctx, AVFrame* frame)

MMAL_BUFFER_HEADER_T *CDecoder::GetMmal()
{
MMAL_POOL_T *render_pool = m_renderer->GetPool(RENDER_FMT_MMAL, false);
MMAL_POOL_T *render_pool = m_renderer->GetPool(RENDER_FMT_MMAL, AV_PIX_FMT_YUV420P, false);
assert(render_pool);
MMAL_BUFFER_HEADER_T *mmal_buffer = mmal_queue_timedwait(render_pool->queue, 500);
if (!mmal_buffer)
Expand Down
Expand Up @@ -39,12 +39,12 @@

#define VERBOSE 0

MMAL_POOL_T *CMMALRenderer::GetPool(ERenderFormat format, bool opaque)
MMAL_POOL_T *CMMALRenderer::GetPool(ERenderFormat format, AVPixelFormat pixfmt, bool opaque)
{
CSingleLock lock(m_sharedSection);
bool formatChanged = m_format != format || m_opaque != opaque;
if (!m_bMMALConfigured || formatChanged)
m_bMMALConfigured = init_vout(format, opaque);
m_bMMALConfigured = init_vout(format, pixfmt, opaque);

return m_vout_input_pool;
}
Expand Down Expand Up @@ -82,7 +82,7 @@ static void vout_input_port_cb_static(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *b
mmal->vout_input_port_cb(port, buffer);
}

bool CMMALRenderer::init_vout(ERenderFormat format, bool opaque)
bool CMMALRenderer::init_vout(ERenderFormat format, AVPixelFormat pixfmt, bool opaque)
{
CSingleLock lock(m_sharedSection);
bool formatChanged = m_format != format || m_opaque != opaque;
Expand Down Expand Up @@ -283,7 +283,7 @@ bool CMMALRenderer::Configure(unsigned int width, unsigned int height, unsigned
SetViewMode(CMediaSettings::GetInstance().GetCurrentVideoSettings().m_ViewMode);
ManageRenderArea();

m_bMMALConfigured = init_vout(format, m_opaque);
m_bMMALConfigured = init_vout(format, AV_PIX_FMT_YUV420P, m_opaque);
m_bConfigured = m_bMMALConfigured;
assert(m_bConfigured);
return m_bConfigured;
Expand Down
Expand Up @@ -83,7 +83,7 @@ class CMMALRenderer : public CBaseRenderer, public CThread
virtual bool IsGuiLayer() { return false; }

void vout_input_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer);
MMAL_POOL_T *GetPool(ERenderFormat format, bool opaque);
MMAL_POOL_T *GetPool(ERenderFormat format, AVPixelFormat pixfmt, bool opaque);
protected:
int m_iYV12RenderBuffer;
int m_NumYV12Buffers;
Expand Down Expand Up @@ -112,7 +112,7 @@ class CMMALRenderer : public CBaseRenderer, public CThread
MMAL_QUEUE_T *m_queue;
double m_error;

bool init_vout(ERenderFormat format, bool opaque);
bool init_vout(ERenderFormat format, AVPixelFormat pixfmt, bool opaque);
void ReleaseBuffers();
void UnInitMMAL();
};

0 comments on commit 8cb226d

Please sign in to comment.