#include "libavutil/opt.h"
#include "avcodec.h"
#include <x264.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | X264Context |
Defines | |
#define | OPT_STR(opt, param) |
#define | OFFSET(x) offsetof(X264Context,x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static void | X264_log (void *p, int level, const char *fmt, va_list args) |
static int | encode_nals (AVCodecContext *ctx, uint8_t *buf, int size, x264_nal_t *nals, int nnal, int skip_sei) |
static int | X264_frame (AVCodecContext *ctx, uint8_t *buf, int orig_bufsize, void *data) |
static av_cold int | X264_close (AVCodecContext *avctx) |
static void | check_default_settings (AVCodecContext *avctx) |
Detect default settings and use default profile to avoid libx264 failure. | |
static av_cold int | X264_init (AVCodecContext *avctx) |
Variables | |
static const AVOption | options [] |
class { | |
libx264 | |
av_default_item_name | |
options | |
}; | |
AVCodec | ff_libx264_encoder |
#define OFFSET | ( | x | ) | offsetof(X264Context,x) |
#define OPT_STR | ( | opt, | |||
param | ) |
Value:
do { \ if (param && x264_param_parse(&x4->params, opt, param) < 0) { \ av_log(avctx, AV_LOG_ERROR, \ "bad value for '%s': '%s'\n", opt, param); \ return -1; \ } \ } while (0); \
Definition at line 213 of file libx264.c.
Referenced by X264_init().
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
static void check_default_settings | ( | AVCodecContext * | avctx | ) | [static] |
Detect default settings and use default profile to avoid libx264 failure.
Definition at line 191 of file libx264.c.
Referenced by X264_init().
static int encode_nals | ( | AVCodecContext * | ctx, | |
uint8_t * | buf, | |||
int | size, | |||
x264_nal_t * | nals, | |||
int | nnal, | |||
int | skip_sei | |||
) | [static] |
Definition at line 64 of file libx264.c.
Referenced by X264_frame(), X264_init(), XAVS_frame(), and XAVS_init().
static av_cold int X264_close | ( | AVCodecContext * | avctx | ) | [static] |
static int X264_frame | ( | AVCodecContext * | ctx, | |
uint8_t * | buf, | |||
int | orig_bufsize, | |||
void * | data | |||
) | [static] |
static av_cold int X264_init | ( | AVCodecContext * | avctx | ) | [static] |
static void X264_log | ( | void * | p, | |
int | level, | |||
const char * | fmt, | |||
va_list | args | |||
) | [static] |
const { ... } [static] |
Initial value:
{ .name = "libx264", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_H264, .priv_data_size = sizeof(X264Context), .init = X264_init, .encode = X264_frame, .close = X264_close, .capabilities = CODEC_CAP_DELAY, .pix_fmts = (const enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_YUVJ420P, PIX_FMT_NONE }, .long_name = NULL_IF_CONFIG_SMALL("libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"), .priv_class = &class, }
options | ( | ) | [static] |
Initial value:
{ {"preset", "Set the encoding preset", OFFSET(preset), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"tune", "Tune the encoding params", OFFSET(tune), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"fastfirstpass", "Use fast settings when encoding first pass", OFFSET(fastfirstpass), FF_OPT_TYPE_INT, {.dbl=1}, 0, 1, VE}, {"profile", "Set profile restrictions", OFFSET(profile), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"level", "Specify level (as defined by Annex A)", OFFSET(level), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"passlogfile", "Filename for 2 pass stats", OFFSET(stats), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"wpredp", "Weighted prediction for P-frames", OFFSET(weightp), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, {"x264opts", "x264 options", OFFSET(x264opts), FF_OPT_TYPE_STRING, {.str=NULL}, 0, 0, VE}, { NULL }, }