[FFmpeg-devel] [PATCH v3 1/2] avcodec/libx264: Add support for Sony XAVC Class 300 and 480

lance.lmwang at gmail.com lance.lmwang at gmail.com
Tue Jun 22 04:51:09 EEST 2021


On Mon, Jun 21, 2021 at 10:37:38PM -0300, James Almer wrote:
> On 6/21/2021 10:36 PM, lance.lmwang at gmail.com wrote:
> > From: Limin Wang <lance.lmwang at gmail.com>
> > 
> > Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> > ---
> >   libavcodec/libx264.c | 15 ++++++++++++++-
> >   1 file changed, 14 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
> > index 36fdb56..d580f5a 100644
> > --- a/libavcodec/libx264.c
> > +++ b/libavcodec/libx264.c
> > @@ -749,6 +749,19 @@ static av_cold int X264_init(AVCodecContext *avctx)
> >           av_log(avctx, AV_LOG_ERROR,
> >                  "x264 too old for AVC Intra, at least version 142 needed\n");
> >   #endif
> > +
> > +#if X264_BUILD >= 142
> > +    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);
> > +#endif
> > +        /* AVC-Intra 300/480 only supported by Sony XAVC flavor */
> > +        x4->params.i_avcintra_flavor = X264_AVCINTRA_FLAVOR_SONY;
> 
> This field and define were added in X264_BUILD 157. Anything from 142 to 156
> will fail to compile.
> 
> You should also merge this with the x4->avcintra_class >= 0 check above.

sure, will fix it. I'll try to test with these old version also.

> 
> > +    }
> > +#endif
> > +
> >       if (x4->b_bias != INT_MIN)
> >           x4->params.i_bframe_bias              = x4->b_bias;
> >       if (x4->b_pyramid >= 0)
> > @@ -1082,7 +1095,7 @@ static const AVOption options[] = {
> >       { "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" },
> >       { "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"},
> >       { "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" },
> > 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

-- 
Thanks,
Limin Wang


More information about the ffmpeg-devel mailing list