[mythtv] KernelDeint update, NuppelVideoRecorder question

Andrew Mahone andrewmahone at eml.cc
Mon Nov 10 10:28:13 EST 2003

I have KernelDeint running (barely) on my system.  There's no ghosting, as 
seen with linearblend, but there is some loss of vertical resolution (try 
postprocess=ci or postprocess=li for an idea of how this looks).  The lost 
resolution is not as severe as with simple interpolation, and I expect it to 
be better once I implement the other filter kernel.  It's completely 
unoptimized now, and very, very slow.  Once I tackle the problems mentioned 
below, I'll redo it in MMX.

I had some minor issues with the NVR class getting this to work.  Capture 
format selection "works" now, and it captures in the format requested by the 
filter chain, but there are some ugly hacks that I'm looking to improve on.  
Because InitBuffers is called before the filter chain is set up, it doesn't 
know what pixel format to use, and therefore it doesn't know how much space 
to allocate per frame.  To get it to work so that I can test, I edited 
InitBuffers to always allocate enough space for YUV422P frames.  See why I 
called it ugly?

To fix the problem, it looks like I'd need to add a ReInitBuffers method to 
check the buffer size and allocate larger buffers if necessary.  
StartRecording would set inpixfmt to FMT_NONE, and call InitFilters to reload 
the filter chain and get the selected capture format.  InitFilters would call 
ReInitBuffers if necessary to make sure the capture buffers were large 
enough.  This seems like best way to make it work to me.  I'll also need to 
fix FilterManager so it doesn't break things when LoadFilters is called with 
an empty string and inpixfmt=FM_NONE, so that setting inpixfmt=FMT_NONE in 
NVR won't break things when there are no filters selected (I think I see why 
Isaac reverted that part of the patch, now).  Anyone else have some thoughts 
on whether this is the right way to make this work?
  Andrew Mahone
  andrewmahone AT eml DOT cc

More information about the mythtv-dev mailing list