Man Linux: Main Page and Category List

NAME

       fame_start_frame - starts encoding of a frame

SYNOPSIS

       #include <fame.h>

       void fame_start_frame(fame_context_t *context, fame_yuv_t *yuv, unsigned char *shape);

DESCRIPTION

       fame_start_frame()  starts  the  encoding of an uncompressed frame from
       yuv  to  a  binary  stream  in   buffer,  according  to  initialization
       parameters  and  optionnaly  previously  encoded  frames.  It should be
       called before starting processing slices with fame_encode_slice

       Note that in the case of video sequences containing B frames, it is  up
       to  the  caller  to present frames in the encoder order. Since B frames
       require both previous and next reference frames, they must be presented
       after  both  previous  and  next  reference frames have been coded. For
       example, a "IBBPBBP" coding sequence must  be  presented  in  "IPBBPBB"
       order.  This  presentation  order is also the order in which the frames
       should be stored in a file or sent to a network.

       context is the context handle previously returned by fame_open

       yuv is a pointer to  the  input  frame.  Currently,  only  YV12  planar
       format,  also  called  YUV  4:2:0, is supported. The YV12 planar format
       consists in three plane, one for the Y (luminance) and two for  the  Cr
       and   Cb   (chrominance)   components,  the  chrominance  planes  being
       subsampled by 2x2. These three planes are mapped linearly in memory:

                  width
       yuv ->  +=========+
               |         |
               |    Y    | height
               |         |
               +====+====+
               | Cr | height / 2
               +====+
               | Cb | height / 2
               +====+
              width / 2

       The process of converting RGB pictures to YUV12 will not  be  detailled
       here.

       shape  represents  the shape in case of video with arbitrary shape.  It
       consists in a bitmap of width x height bytes, with 255 representing  an
       opaque  pixel  and 0 representing a transparent pixel. Values between 0
       and 255 are not supported yet.  For rectangular video,  this  parameter
       must be set to NULL.

SEE ALSO

       fame_open(3),    fame_init(3),   fame_close(3),   fame_encode_slice(3),
       fame_end_frame(3)