[x264-devel] Re: tiles

Loren Merritt lorenm at u.washington.edu
Sat Oct 1 00:53:41 CEST 2005


On Fri, 30 Sep 2005, Tobias Bergmann wrote:
> Sachin Patil wrote:
>> reamer-s at Safe-mail.net wrote:
>> 
>>> I am new to 264 so please excuse my ignorance.  Can the multi-slice or 
>>> some other feature be used to segment the image into a few (perhaps six or 
>>> less) non-overlapping rectangular tiles, none of which  encompass a 
>>> complete scan line of the original image?  If not, is there anything to 
>>> prevent me from stictching an image together from separately encoded tiles 
>>> in a manner which will be transparent to most decoders?  If so, is this 
>>> approach also likely to work with other MPEG-4/AVC-like formats?
>> 
>> The concept of encoding in slices and stitching together a final bitstream 
>> is quiet frequently used in cases where a multiprocessor system is 
>> available to improve encoding speeds. The H264 standard itself supports the 
>> slice encoding feature very well. This approach will work with other AVC 
>> like formats if slice level encoding is supported.

Just note that slice-groups (needed for any shape other than raster scan) 
are allowed only in baseline and extended profiles.

> ASP supports it even better as no in-loop filter is involved and thus 
> multi-slice encoding can be completely transparent.

Multislice, yes. But can ASP do non-raster-shaped slices? Or would you 
put each scanline of each region into its own slice?

And no matter what, you'll still lose some quality because inter blocks 
can't predict MVs from across the slice border.

> It's even not neccessary to lose quality when all threads have the complete 
> reference frames at their disposal :)

You would lose a whole lot of quality if each thread did not have access 
to the complete reference frame, since you'd have to avoid any motion 
compensation that involves pixels from other slices. And that's not just 
MVs that span the slice border, but also MVs within the slice that point 
within a few pixels of the border (due to 6tap (H.264) or 8tap (ASP qpel) 
subpel interpolation).

> But no one volunteered to code that yet.

What is missing from libavcodec's implementation of multislice ASP?

--Loren Merritt

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list