[FFmpeg-devel] [RFC][PATCH] Move H.264 intra prediction functions into their own context

Kostya kostya.shishkov
Tue Sep 4 19:39:44 CEST 2007


On Tue, Sep 04, 2007 at 02:58:01PM +0200, Michael Niedermayer wrote:
> Hi
> 
> On Tue, Sep 04, 2007 at 09:14:37AM +0300, Kostya wrote:
> > On Mon, Sep 03, 2007 at 07:57:55PM +0200, Michael Niedermayer wrote:
> > > Hi
> > > 
> > > On Mon, Sep 03, 2007 at 03:48:46PM +0300, Kostya wrote:
> > > > There are two codecs based on H.264 drafts in lavc with slightly different
> > > > intra prediction functions - H.264 itself and SVQ3. As I was working on
> > > > RV30/40 and these codecs are based on H.264 drafts too with more different
> > > > intra prediction functions, I found it more convenient to move them into
> > > > separate context which is initialized with functions appropriate to chosen
> > > > codec (SVQ3 has two different prediction functions, RV40 a bit more).
> > > > 
> > > > So here is the patch to do this (while h264pred.[ch] were svn cp'ed out from h264.[ch] it is easier to send them plain).
> > > 
> > > could you split the file in
> > > common ones
> > > h264 specific ones
> > > svq3 specific ones
> > > rv40 specific ones
> > > 
> > > that way we can disable them at compile time nicely
> > 
> > No sense doing this for SVQ3 and separating other functions is a bit
> > tricky because of macros used (and I see no solution that would work
> > without some #ifdefs or unneeded visible functions).
> 
> macros can be put in a header file
> 
> anyway its not critical, it just means more work for others like aurel who
> will likely want to seperate the codecs properly
> i wont reject the patch because of it as its not seperated properly
> ATM either

So it is accepted?

> also svq3 must be split out correctly eventually

At least with this code SVQ3 instead of directly patching functions pointers
in H264Context just calls ff_h264_pred_init(&ctx, CODEC_ID_SVQ3) which is
cleaner and helps split IMO.
 
> [...]
> -- 
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB




More information about the ffmpeg-devel mailing list