avcodec/libx264: Add support for Sony XAVC Class 300 and 480
Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
This commit is contained in:
@@ -749,6 +749,18 @@ static av_cold int X264_init(AVCodecContext *avctx)
|
|||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"x264 too old for AVC Intra, at least version 142 needed\n");
|
"x264 too old for AVC Intra, at least version 142 needed\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (x4->avcintra_class > 200) {
|
||||||
|
#if X264_BUILD < 164
|
||||||
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
|
"x264 too old for AVC Intra 300/480, at least version 164 needed\n");
|
||||||
|
return AVERROR(EINVAL);
|
||||||
|
#else
|
||||||
|
/* AVC-Intra 300/480 only supported by Sony XAVC flavor */
|
||||||
|
x4->params.i_avcintra_flavor = X264_AVCINTRA_FLAVOR_SONY;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (x4->b_bias != INT_MIN)
|
if (x4->b_bias != INT_MIN)
|
||||||
x4->params.i_bframe_bias = x4->b_bias;
|
x4->params.i_bframe_bias = x4->b_bias;
|
||||||
if (x4->b_pyramid >= 0)
|
if (x4->b_pyramid >= 0)
|
||||||
@@ -1082,7 +1094,7 @@ static const AVOption options[] = {
|
|||||||
{ "none", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_NONE}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
{ "none", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_NONE}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
||||||
{ "vbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_VBR}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
{ "vbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_VBR}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
||||||
{ "cbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_CBR}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
{ "cbr", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_NAL_HRD_CBR}, INT_MIN, INT_MAX, VE, "nal-hrd" },
|
||||||
{ "avcintra-class","AVC-Intra class 50/100/200", OFFSET(avcintra_class),AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 200 , VE},
|
{ "avcintra-class","AVC-Intra class 50/100/200/300/480", OFFSET(avcintra_class),AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 480 , VE},
|
||||||
{ "me_method", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"},
|
{ "me_method", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"},
|
||||||
{ "motion-est", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"},
|
{ "motion-est", "Set motion estimation method", OFFSET(motion_est), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, X264_ME_TESA, VE, "motion-est"},
|
||||||
{ "dia", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_DIA }, INT_MIN, INT_MAX, VE, "motion-est" },
|
{ "dia", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_DIA }, INT_MIN, INT_MAX, VE, "motion-est" },
|
||||||
|
Reference in New Issue
Block a user