Man Linux: Main Page and Category List

NAME

       fame_encode_frame - encode a single frame (DEPRECATED)

SYNOPSIS

       #include <fame.h>

       fame_frame_statistics_t *fame_encode_frame(fame_context_t *context, fame_yuv_t *yuv, unsigned char *shape);

DESCRIPTION

       fame_encode_frame()  encodes  a single uncompressed frame from yuv to a
       binary stream in  buffer, according to  initialization  parameters  and
       optionnaly  previously  encoded  frames. 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.

RETURN VALUE

       fame_encode_frame returns a pointer to frame encoding statistics. These
       statistics include frame number, coding mode (I,P or B) for the  frame,
       expected bits, actual bits used, spatial activity, and quantizer scale.
       The number of bytes written to the buffer is actual_bits/8.

BUGS

       MMX arithmetic performs bad at quality > 95%.  Encoding of B frames  is
       not  yet supported.  Only works when slices_per_frame has been set to 1
       in fame_init

DEPRECATED

       Usage  of  this  function  is  deprecated.   Use   fame_start_frame   ,
       fame_encode_slice , and fame_end_frame instead.

SEE ALSO

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