Mercurial > mplayer.hg
view loader/dshow/outputpin.h @ 32434:acb796d7ca50
Make mencoder account for encoder delay when considering the current
time position of a muxer stream. To mencoder core, delayed frames
should be considered as "dealt with", since they'll get to the muxer
eventually. Without this compensation, mencoder will sometimes make
different frame skip/duplicate decisions on the first of a two-pass
x264 encode (since x264 buffers many more frames on the first pass),
leading to a segfault in x264 when it gets fed more frames on the
second pass.
author | corey |
---|---|
date | Thu, 21 Oct 2010 07:05:30 +0000 |
parents | a8ea87c71d18 |
children |
line wrap: on
line source
#ifndef MPLAYER_OUTPUTPIN_H #define MPLAYER_OUTPUTPIN_H /* "output pin" - the one that connects to output of filter. */ #include "allocator.h" typedef struct COutputMemPin COutputMemPin; typedef struct COutputPin COutputPin; /** Callback routine for copying samples from pin into filter \param pUserData pointer to user's data \param sample IMediaSample */ typedef HRESULT STDCALL (*SAMPLEPROC)(void* pUserData,IMediaSample*sample); struct COutputPin { IPin_vt* vt; DECLARE_IUNKNOWN(); COutputMemPin* mempin; AM_MEDIA_TYPE type; IPin* remote; SAMPLEPROC SampleProc; void* pUserData; void ( *SetNewFormat )(COutputPin*, const AM_MEDIA_TYPE* a); }; COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* amt,SAMPLEPROC SampleProc,void* pUserData); #endif /* MPLAYER_OUTPUTPIN_H */