FFmpeg
|
VP8 encoder support via libvpx. More...
#include <vpx/vpx_encoder.h>
#include <vpx/vp8cx.h>
#include "avcodec.h"
#include "internal.h"
#include "libavutil/avassert.h"
#include "libavutil/base64.h"
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
Go to the source code of this file.
Data Structures | |
struct | FrameListData |
Portion of struct vpx_codec_cx_pkt from vpx_encoder.h. More... | |
struct | VP8Context |
Macros | |
#define | VPX_DISABLE_CTRL_TYPECHECKS 1 |
#define | VPX_CODEC_DISABLE_COMPAT 1 |
#define | VP8F_ERROR_RESILIENT 0x00000001 |
Enable measures appropriate for streaming over lossy links. | |
#define | VP8F_AUTO_ALT_REF 0x00000002 |
Enable automatic alternate reference frame generation. | |
#define | OFFSET(x) offsetof(VP8Context, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static av_cold void | log_encoder_error (AVCodecContext *avctx, const char *desc) |
static av_cold void | dump_enc_cfg (AVCodecContext *avctx, const struct vpx_codec_enc_cfg *cfg) |
static void | coded_frame_add (void *list, struct FrameListData *cx_frame) |
static av_cold void | free_coded_frame (struct FrameListData *cx_frame) |
static av_cold void | free_frame_list (struct FrameListData *list) |
static av_cold int | codecctl_int (AVCodecContext *avctx, enum vp8e_enc_control_id id, int val) |
static av_cold int | vp8_free (AVCodecContext *avctx) |
static av_cold int | vp8_init (AVCodecContext *avctx) |
static void | cx_pktcpy (struct FrameListData *dst, const struct vpx_codec_cx_pkt *src) |
static int | storeframe (AVCodecContext *avctx, struct FrameListData *cx_frame, AVPacket *pkt, AVFrame *coded_frame) |
Store coded frame information in format suitable for return from encode2(). | |
static int | queue_frames (AVCodecContext *avctx, AVPacket *pkt_out, AVFrame *coded_frame) |
Queue multiple output frames from the encoder, returning the front-most. | |
static int | vp8_encode (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet) |
Variables | |
static const char *const | ctlidstr [] |
String mappings for enum vp8e_enc_control_id. | |
static const AVOption | options [] |
class { | |
class_name = "libvpx encoder" | |
item_name = av_default_item_name | |
option = options | |
version = LIBAVUTIL_VERSION_INT | |
}; | |
static const AVCodecDefault | defaults [] |
AVCodec | ff_libvpx_encoder |
VP8 encoder support via libvpx.
Definition in file libvpxenc.c.
#define VPX_DISABLE_CTRL_TYPECHECKS 1 |
Definition at line 26 of file libvpxenc.c.
#define VPX_CODEC_DISABLE_COMPAT 1 |
Definition at line 27 of file libvpxenc.c.
#define VP8F_ERROR_RESILIENT 0x00000001 |
Enable measures appropriate for streaming over lossy links.
Definition at line 67 of file libvpxenc.c.
Referenced by vp8_init().
#define VP8F_AUTO_ALT_REF 0x00000002 |
Enable automatic alternate reference frame generation.
Definition at line 68 of file libvpxenc.c.
Referenced by vp8_init().
#define OFFSET | ( | x | ) | offsetof(VP8Context, x) |
Definition at line 571 of file libvpxenc.c.
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 572 of file libvpxenc.c.
|
static |
Definition at line 104 of file libvpxenc.c.
Referenced by codecctl_int(), vp8_encode(), and vp8_init().
|
static |
Definition at line 115 of file libvpxenc.c.
Referenced by vp8_init().
|
static |
Definition at line 170 of file libvpxenc.c.
Referenced by queue_frames().
|
static |
Definition at line 180 of file libvpxenc.c.
Referenced by free_frame_list(), and queue_frames().
|
static |
Definition at line 186 of file libvpxenc.c.
Referenced by vp8_free().
|
static |
Definition at line 197 of file libvpxenc.c.
Referenced by vp8_init().
|
static |
Definition at line 218 of file libvpxenc.c.
Referenced by vp8_init().
|
static |
Definition at line 230 of file libvpxenc.c.
|
inlinestatic |
Definition at line 399 of file libvpxenc.c.
Referenced by queue_frames().
|
static |
Store coded frame information in format suitable for return from encode2().
Write information from cx_frame to pkt
Definition at line 416 of file libvpxenc.c.
Referenced by queue_frames().
|
static |
Queue multiple output frames from the encoder, returning the front-most.
In cases where vpx_codec_get_cx_data() returns more than 1 frame append the frame queue. Return the head frame if available.
Definition at line 445 of file libvpxenc.c.
Referenced by vp8_encode().
|
static |
Definition at line 524 of file libvpxenc.c.
|
static |
String mappings for enum vp8e_enc_control_id.
Definition at line 83 of file libvpxenc.c.
Referenced by codecctl_int().
|
static |
Definition at line 573 of file libvpxenc.c.
class_name = "libvpx encoder" |
Definition at line 612 of file libvpxenc.c.
item_name = av_default_item_name |
Definition at line 613 of file libvpxenc.c.
option = options |
Definition at line 614 of file libvpxenc.c.
version = LIBAVUTIL_VERSION_INT |
Definition at line 615 of file libvpxenc.c.
const { ... } |
|
static |
Definition at line 618 of file libvpxenc.c.
AVCodec ff_libvpx_encoder |
Definition at line 626 of file libvpxenc.c.