GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
fame_encode_frame(3) fame_encode_frame fame_encode_frame(3)

fame_encode_frame - encode a single frame (DEPRECATED)

#include <fame.h>

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

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.

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.

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

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

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

Febrary 19, 2002 libfame

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.