Go to the documentation of this file.
34 printf(
"Testing av_stereo3d_alloc_size()\n");
36 printf(
"alloc_size: %s, size>0: %s\n",
37 s3d ?
"OK" :
"FAIL",
size > 0 ?
"yes" :
"no");
42 printf(
"alloc: %s\n", s3d ?
"OK" :
"FAIL");
46 printf(
"\nTesting av_stereo3d_create_side_data()\n");
49 printf(
"create_side_data: %s\n", s3d ?
"OK" :
"FAIL");
53 printf(
"\nTesting av_stereo3d_type_name()\n");
59 printf(
"\nTesting av_stereo3d_from_name()\n");
61 static const char *
const names[] = {
62 "2D",
"side by side",
"top and bottom",
"frame alternate",
63 "checkerboard",
"side by side (quincunx subsampling)",
64 "interleaved lines",
"interleaved columns",
"unspecified",
73 printf(
"\nTesting type name round-trip\n");
77 printf(
"type roundtrip %d (%s): %s\n",
i,
name, rt ==
i ?
"OK" :
"FAIL");
81 printf(
"\nTesting av_stereo3d_view_name()\n");
87 printf(
"\nTesting view name round-trip\n");
91 printf(
"view roundtrip %d (%s): %s\n",
i,
name, rt ==
i ?
"OK" :
"FAIL");
95 printf(
"\nTesting av_stereo3d_view_from_name()\n");
104 printf(
"\nTesting av_stereo3d_primary_eye_name()\n");
110 printf(
"\nTesting av_stereo3d_primary_eye_from_name()\n");
@ AV_PRIMARY_EYE_RIGHT
Right eye.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
__device__ int printf(const char *,...)
int av_stereo3d_view_from_name(const char *name)
Get the AVStereo3DView form a human-readable name.
void av_frame_free(AVFrame **frame)
Free the frame and any dynamically allocated objects in it, e.g.
This structure describes decoded (raw) audio or video data.
@ AV_STEREO3D_VIEW_UNSPEC
Content is unspecified.
@ AV_STEREO3D_UNSPEC
Video is stereoscopic but the packing is unspecified.
const char * av_stereo3d_view_name(unsigned int view)
Provide a human-readable name of a given stereo3d view.
AVFrame * av_frame_alloc(void)
Allocate an AVFrame and set its fields to default values.
#define FF_ARRAY_ELEMS(a)
int av_stereo3d_primary_eye_from_name(const char *name)
Get the AVStereo3DPrimaryEye form a human-readable name.
AVStereo3D * av_stereo3d_alloc_size(size_t *size)
Allocate an AVStereo3D structure and set its fields to default values.
#define i(width, name, range_min, range_max)
const char * av_stereo3d_primary_eye_name(unsigned int eye)
Provide a human-readable name of a given stereo3d primary eye.
AVStereo3D * av_stereo3d_alloc(void)
Allocate an AVStereo3D structure and set its fields to default values.
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a frame
AVStereo3D * av_stereo3d_create_side_data(AVFrame *frame)
Allocate a complete AVFrameSideData and add it to the frame.
const char * av_stereo3d_type_name(unsigned int type)
Provide a human-readable name of a given stereo3d type.
Stereo 3D type: this structure describes how two videos are packed within a single video surface,...
int av_stereo3d_from_name(const char *name)
Get the AVStereo3DType form a human-readable name.