[vlc-devel] Offsets, plane_CopyPixels() and deinterlace
juha.jeronen at jyu.fi
Mon May 9 03:56:13 CEST 2011
On 05/08/2011 08:42 PM, Jean-Baptiste Kempf wrote:
> On Sun, May 08, 2011 at 07:39:54PM +0200, Laurent Aimar wrote :
>>>> most be displayed. Usually there are different than the whole surface due to memory
>>>> alignment constraints (like mod 16 for SSE2 or to be alligned on a macroblock).
>>>> Those values are decided when the picture is allocated and they usually don't change
>>>> for a given picture pointer (but they can change, like in direct3d buffers).
>>>> While video_format_t:i_visible_width/height and i_x/y_offset are more a 'hint'
>>>> regarding what will be actually displayed. A filter should update filter_t::fmt_out
>>>> if needed to ensure that the allocated pictures get the right value. I don't think
>>>> a filter should limit to this area as dynamic crop setting is supported.
>>> Ok. So basically, it's fine in a filter to handle the
>>> plane_t::i_visible_* area - which should include margins and only adjust
>>> for memory alignment - and let the cropping be performed elsewhere. In
>>> this case the current version of deinterlace is correct.
> Hint: add this info in the Hacker's Guide wiki ?
It's rather unorganized and I've probably forgotten to mention a lot of
things, but it's a start :)
I included Laurent's remark (with minor edits) as section 6.1,
"video_format_t vs. plane_t".
More information about the vlc-devel