libx265: Update API usage
Framerate is now a sane rational instead of an integer, and inputDepth is changed to what it actually is. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
parent
30517a9f05
commit
d00a504b24
4
configure
vendored
4
configure
vendored
@ -3982,8 +3982,8 @@ enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 &
|
|||||||
{ check_cpp_condition x264.h "X264_BUILD >= 118" ||
|
{ check_cpp_condition x264.h "X264_BUILD >= 118" ||
|
||||||
die "ERROR: libx264 version must be >= 0.118."; }
|
die "ERROR: libx264 version must be >= 0.118."; }
|
||||||
enabled libx265 && require_pkg_config x265 x265.h x265_encoder_encode &&
|
enabled libx265 && require_pkg_config x265 x265.h x265_encoder_encode &&
|
||||||
{ check_cpp_condition x265.h "X265_BUILD >= 5" ||
|
{ check_cpp_condition x265.h "X265_BUILD >= 7" ||
|
||||||
die "ERROR: libx265 version must be >= 5."; }
|
die "ERROR: libx265 version must be >= 7."; }
|
||||||
enabled libxavs && require libxavs xavs.h xavs_encoder_encode -lxavs
|
enabled libxavs && require libxavs xavs.h xavs_encoder_encode -lxavs
|
||||||
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
|
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
|
||||||
enabled openssl && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
enabled openssl && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||||
|
@ -99,10 +99,15 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctx->params->frameNumThreads = avctx->thread_count;
|
ctx->params->frameNumThreads = avctx->thread_count;
|
||||||
ctx->params->frameRate = (int) (avctx->time_base.den / avctx->time_base.num);
|
ctx->params->fpsNum = avctx->time_base.den;
|
||||||
|
ctx->params->fpsDenom = avctx->time_base.num * avctx->ticks_per_frame;
|
||||||
ctx->params->sourceWidth = avctx->width;
|
ctx->params->sourceWidth = avctx->width;
|
||||||
ctx->params->sourceHeight = avctx->height;
|
ctx->params->sourceHeight = avctx->height;
|
||||||
ctx->params->inputBitDepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
|
|
||||||
|
if (x265_max_bit_depth == 8)
|
||||||
|
ctx->params->internalBitDepth = 8;
|
||||||
|
else if (x265_max_bit_depth == 12)
|
||||||
|
ctx->params->internalBitDepth = 10;
|
||||||
|
|
||||||
if (avctx->bit_rate > 0) {
|
if (avctx->bit_rate > 0) {
|
||||||
ctx->params->rc.bitrate = avctx->bit_rate / 1000;
|
ctx->params->rc.bitrate = avctx->bit_rate / 1000;
|
||||||
@ -189,7 +194,8 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
x265pic.stride[i] = pic->linesize[i];
|
x265pic.stride[i] = pic->linesize[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
x265pic.pts = pic->pts;
|
x265pic.pts = pic->pts;
|
||||||
|
x265pic.bitDepth = av_pix_fmt_desc_get(avctx->pix_fmt)->comp[0].depth_minus1 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = x265_encoder_encode(ctx->encoder, &nal, &nnal,
|
ret = x265_encoder_encode(ctx->encoder, &nal, &nnal,
|
||||||
|
Loading…
Reference in New Issue
Block a user