#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 },
}
1.5.8