fraunhoferhhi / vvenc

VVenC, the Fraunhofer Versatile Video Encoder
https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html
BSD 3-Clause Clear License
899 stars 158 forks source link

Error while patching FFmpeg #367

Closed JasonMo1 closed 2 months ago

JasonMo1 commented 3 months ago

FFmpeg version: 535b1a93f56adb12e5e964a4d8d142dd95888ec0

Error message:

略过补丁 'libavcodec/version.h'。
正在检查补丁 configure...
块 #1 成功应用于 291(偏移 5 行)
error: 当查询:
    libvmaf
    libvorbis
    libvpx
    libwebp
    libxml2
    libzimg

error: 打补丁失败:configure:1900
error: configure:补丁未应用
正在检查补丁 libavcodec/Makefile...
块 #1 成功应用于 1150(偏移 10 行)
正在检查补丁 libavcodec/allcodecs.c...
块 #1 成功应用于 799(偏移 -6 行)
正在检查补丁 libavcodec/libvvenc.c...
正在检查补丁 libavformat/Makefile...
error: 当查询:
                                            oggparsevorbis.o vorbiscomment.o \
                                            qtpalette.o replaygain.o dovi_isom.o
OBJS-$(CONFIG_MATROSKA_MUXER)            += matroskaenc.o matroska.o \
                                            av1.o avc.o hevc.o \
                                            flacenc_header.o avlanguage.o \
                                            vorbiscomment.o wv.o dovi_isom.o
OBJS-$(CONFIG_MCA_DEMUXER)               += mca.o

error: 打补丁失败:libavformat/Makefile:341
error: libavformat/Makefile:补丁未应用
正在检查补丁 libavformat/isom.c...
error: 当查询:
    { AV_CODEC_ID_MPEG4       , 0x20 },
    { AV_CODEC_ID_H264        , 0x21 },
    { AV_CODEC_ID_HEVC        , 0x23 },
    { AV_CODEC_ID_AAC         , 0x40 },
    { AV_CODEC_ID_MP4ALS      , 0x40 }, /* 14496-3 ALS */
    { AV_CODEC_ID_MPEG2VIDEO  , 0x61 }, /* MPEG-2 Main */

error: 打补丁失败:libavformat/isom.c:36
error: libavformat/isom.c:补丁未应用
正在检查补丁 libavformat/isom_tags.c...
块 #1 成功应用于 126(偏移 3 行)
正在检查补丁 libavformat/mov.c...
error: 当查询:
    if ((uint64_t)atom.size > (1<<30))
        return AVERROR_INVALIDDATA;

    if (atom.size >= 10) {
        // Broken files created by legacy versions of libavformat will
        // wrap a whole fiel atom inside of a glbl atom.

error: 打补丁失败:libavformat/mov.c:2117
error: libavformat/mov.c:补丁未应用
正在检查补丁 libavformat/movenc.c...
error: 当查询:
#include "ttmlenc.h"
#include "version.h"
#include "vpcc.h"

static const AVOption options[] = {
    { "movflags", "MOV muxer flags", offsetof(MOVMuxContext, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },

error: 打补丁失败:libavformat/movenc.c:68
error: libavformat/movenc.c:补丁未应用
正在检查补丁 libavformat/vvc.c...
error: libavformat/vvc.c:已经存在于工作区中
正在检查补丁 libavformat/vvc.h...
error: libavformat/vvc.h:已经存在于工作区中
正在检查补丁 configure...
error: 当查询:
mp3_muxer_select="mpegaudioheader"
mp4_muxer_select="mov_muxer"
mpegts_demuxer_select="iso_media"
mpegts_muxer_select="ac3_parser adts_muxer latm_muxer h264_mp4toannexb_bsf hevc_mp4toannexb_bsf"
mpegtsraw_demuxer_select="mpegts_demuxer"
mxf_muxer_select="pcm_rechunk_bsf rangecoder"
mxf_d10_muxer_select="mxf_muxer"

error: 打补丁失败:configure:3521
error: configure:补丁未应用
正在检查补丁 libavformat/mpeg.c...
error: 当查询:
    } else if (es_type == STREAM_TYPE_VIDEO_HEVC) {
        codec_id = AV_CODEC_ID_HEVC;
        type     = AVMEDIA_TYPE_VIDEO;
    } else if (es_type == STREAM_TYPE_AUDIO_AC3) {
        codec_id = AV_CODEC_ID_AC3;
        type     = AVMEDIA_TYPE_AUDIO;

error: 打补丁失败:libavformat/mpeg.c:546
error: libavformat/mpeg.c:补丁未应用
正在检查补丁 libavformat/mpeg.h...
error: 当查询:
#define STREAM_TYPE_VIDEO_MPEG4     0x10
#define STREAM_TYPE_VIDEO_H264      0x1b
#define STREAM_TYPE_VIDEO_HEVC      0x24
#define STREAM_TYPE_VIDEO_CAVS      0x42

#define STREAM_TYPE_AUDIO_AC3       0x81

error: 打补丁失败:libavformat/mpeg.h:56
error: libavformat/mpeg.h:补丁未应用
正在检查补丁 libavformat/mpegts.c...
error: 当查询:
    { 0x20, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_H264       },
    { 0x21, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_JPEG2000   },
    { 0x24, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_HEVC       },
    { 0x42, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_CAVS       },
    { 0xd1, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_DIRAC      },
    { 0xd2, AVMEDIA_TYPE_VIDEO, AV_CODEC_ID_AVS2       },

error: 打补丁失败:libavformat/mpegts.c:812
error: libavformat/mpegts.c:补丁未应用
正在检查补丁 libavformat/mpegts.h...
error: 当查询:
#define STREAM_TYPE_METADATA        0x15
#define STREAM_TYPE_VIDEO_H264      0x1b
#define STREAM_TYPE_VIDEO_HEVC      0x24
#define STREAM_TYPE_VIDEO_CAVS      0x42
#define STREAM_TYPE_VIDEO_AVS2      0xd2
#define STREAM_TYPE_VIDEO_AVS3      0xd4

error: 打补丁失败:libavformat/mpegts.h:128
error: libavformat/mpegts.h:补丁未应用
正在检查补丁 libavformat/mpegtsenc.c...
error: 当查询:
    case AV_CODEC_ID_HEVC:
        stream_type = STREAM_TYPE_VIDEO_HEVC;
        break;
    case AV_CODEC_ID_CAVS:
        stream_type = STREAM_TYPE_VIDEO_CAVS;
        break;

error: 打补丁失败:libavformat/mpegtsenc.c:368
error: libavformat/mpegtsenc.c:补丁未应用
正在检查补丁 configure...
error: 当查询:
  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,
                           native implementation exists [no]
  --enable-libvpx          enable VP8 and VP9 de/encoding via libvpx [no]
  --enable-libvvenc        enable H.266/VVC encoding via vvenc [no]
  --enable-libwebp         enable WebP encoding via libwebp [no]
  --enable-libx264         enable H.264 encoding via x264 [no]

error: 打补丁失败:configure:286
error: configure:补丁未应用
正在检查补丁 fftools/ffmpeg_dec.c...
error: 当查询:
    // The following line may be required in some cases where there is no parser
    // or the parser does not has_b_frames correctly
    if (ist->par->video_delay < ist->dec_ctx->has_b_frames) {
        if (ist->dec_ctx->codec_id == AV_CODEC_ID_H264) {
            ist->par->video_delay = ist->dec_ctx->has_b_frames;
        } else
            av_log(ist->dec_ctx, AV_LOG_WARNING,

error: 打补丁失败:fftools/ffmpeg_dec.c:301
error: fftools/ffmpeg_dec.c:补丁未应用
正在检查补丁 libavcodec/Makefile...
块 #1 成功应用于 1150(偏移 10 行)
正在检查补丁 libavcodec/allcodecs.c...
块 #1 成功应用于 799(偏移 -6 行)
正在检查补丁 libavcodec/libvvdec.c...
正在检查补丁 libavcodec/vvc_paramset.c...
正在检查补丁 libavcodec/vvc_paramset.h...
正在检查补丁 libavcodec/vvc_parse_extradata.c...
正在检查补丁 libavcodec/vvc_parse_extradata.h...
lehmann-c commented 3 months ago

The patch does not apply to the current master anymore, as many parts of the patchset has been merged already into the master. Please use the latest tag n6.1 or latest working commit '2532e832d2' as specified in the wiki: https://github.com/fraunhoferhhi/vvenc/wiki/FFmpeg-Integration#linux