[mythtv] Aspect ratios and non-linear stretching
Daniel Kristjansson
danielk at cuymedia.net
Thu Nov 2 21:52:19 UTC 2006
On Thu, 2006-11-02 at 16:37 -0500, Sean McVeigh wrote:
> Okay, so I've come up with a decent algorithm which works in-place doing
> a 1-d cylindrical projection (will probably add parameters to configure
> the projection angle and resampling).
> I'm using a LUT to precompute the transform, and was wondering, are
> mythtv filters ever informed about changes to the size of their input
> frames?
Yep, the VideoFrame resolution, pitches or offsets will change.
> Does the filter get re-loaded, or is this a run-time thing that
> will have to be detected on the fly.. ie. if(current size != previous
> size){ recompute lut } ?
The filter may be reloaded, but I would not depend on this, check
the VideoFrame against cached data in VideoFilter instead.
> As a filter, there will be a loss in picture information due to the
> pre-squeeze of about 25% in the center of the screen, but it will
> probably suffice for now I guess.
Yeah, it should be good enough for now.
> Maybe I'll take a stab at allowing
> the filter API to return frames with different geometries, or finding a
> clean way to work it in near the Show() code. (problem being
> maintaining another frame pool -- it's my understanding that we don't
> new and delete actual frame->buf's on the fly... right??)
Yep, the problem is that the VideoOutput instance needs to allocate
any frames. These are generally allocated out of some special pool
which is in some place where the graphics hardware has access to the
memory. This pool is usually fairly limited in size and only allows
a limited resolution in the output. It's a goal of the mythtv-vid
branch to allow this, and I'd greatly appreciate an help, but you
should familiarize yourself with the video output methods before
committing to this work.
-- Daniel
More information about the mythtv-dev
mailing list