[x264-devel] Custom slice support

Etienne Bömcke etienne.bomcke at uclouvain.be
Tue Nov 13 13:47:33 CET 2007


Thanks. I was kind of expecting such an answer. Do you already know  
when you'll merge the patch for horizontal slicing? That information  
could be useful for me to plan my future work. I'm getting slightly  
off topic, but would you know anything about a h.264 encoder which  
currently supports slices? I don't have much experience in the field  
of encoders, so any information would be appreciated.

Thanks again for your quick response.

Etienne Bömcke

On 13 Nov 2007, at 12:35, Loren Merritt wrote:

> On Tue, 13 Nov 2007, Etienne Bömcke wrote:
>
>> I'm a PhD student at the university of Louvain-la-Neuve, Belgium,
>> currently working in the field of video-transmission to mobile
>> devices. I'm looking for a h.264 encoder which would allow me to
>> define custom slice patterns, such as a vertical subdivision of each
>> frame in two rectangular slices. I wanted to know if this was  
>> possible
>> using the current version of x264, or if I would have to do some
>> programming.
>> If new code is needed, could anyone point me to the file where the
>> frames should be split into slices? I tried to look at the whole code
>> but I'm afraid it'll take me days to figure this out.
>
> Current x264 doesn't support slices at all. It will support  
> horizontal slices when I get around to merging that patch. But  
> shapes other than "rectangles filling the width of the frame" are  
> nontrivial to implement. You'd have to modify just about every piece  
> of code that looks at neighboring macroblocks, since the normal  
> assumptions of which neighbors are valid and which aren't would no  
> longer hold. Also, x264 doesn't divide the frame into slices,  
> instead it codes macroblocks in raster scan order and writes a new  
> slice header when it reaches a slice border. You can't change the  
> raster order without breaking threading, so you'd have keep multiple  
> bitstream contexts and switch between them depending on which slice  
> the current macroblock is in. And that's just if you're using slices  
> for error resilience; if you also want to change any parameters  
> between slices things get even more complicated.
>
> --Loren Merritt_______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel




More information about the x264-devel mailing list