美文网首页
ffmpeg的--enable-small

ffmpeg的--enable-small

作者: 技术笔记 | 来源:发表于2019-11-05 10:03 被阅读0次

    codec_descriptors,把codec id,type, name, profile放在一起

    static const AVCodecDescriptor codec_descriptors[] = {
        /* video codecs */
        {
            .id        = AV_CODEC_ID_MPEG1VIDEO,
            .type      = AVMEDIA_TYPE_VIDEO,
            .name      = "mpeg1video",
            .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
            .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
        },
        //...
        //profile,有些有定义,有些没有定义,H264的有,AC3的没有
        {
            .id        = AV_CODEC_ID_H264,
            .type      = AVMEDIA_TYPE_VIDEO,
            .name      = "h264",
            .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
            .props     = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
            .profiles  = NULL_IF_CONFIG_SMALL(ff_h264_profiles),
        },
    

    有意思的是通过av_get_profile_name和avcodec_profile_name这两函数获取profile的时候,怎么都是null, 最后检查,是configure的时候开了--enable-small,把这个去掉就好了。

    因为profiles用到了NULL_IF_CONFIG_SMALL,所以要使用它,就得关掉。

    .profiles  = NULL_IF_CONFIG_SMALL(ff_h264_profiles)
    

    相关文章

      网友评论

          本文标题:ffmpeg的--enable-small

          本文链接:https://www.haomeiwen.com/subject/ruhsbctx.html