Hi Mark & all, Happy new year! I have implemented the h266 metadata bsf. For all vvdec decodable clips, the metadata pass-through mode can get a bit matched result. Could you align with James about the name convention, so I can send the second patchset?
BTW: could you share the hevc aud adding command line? I tried "ffmpeg -i input.265 -c:v copy -bsf h266_metadata -aud insert output.265", but the output.265 has no aud. thanks On Sat, Dec 26, 2020 at 9:37 AM Nuo Mi <nuomi2...@gmail.com> wrote: > > > On Tue, Dec 22, 2020 at 6:37 PM Nuo Mi <nuomi2...@gmail.com> wrote: > >> >> Hi James, >> thanks for the review. >> >> On Mon, Dec 21, 2020 at 11:14 PM James Almer <jamr...@gmail.com> wrote: >> >>> On 12/21/2020 3:07 AM, Nuo Mi wrote: >>> > --- >>> > libavcodec/avcodec.h | 2 ++ >>> > libavcodec/codec_desc.c | 8 ++++++++ >>> > libavcodec/codec_id.h | 2 ++ >>> > libavcodec/profiles.c | 5 +++++ >>> > libavcodec/profiles.h | 1 + >>> > 5 files changed, 18 insertions(+) >>> > >>> > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h >>> > index 1d3099d50a..f7ea4d5849 100644 >>> > --- a/libavcodec/avcodec.h >>> > +++ b/libavcodec/avcodec.h >>> > @@ -1961,6 +1961,8 @@ typedef struct AVCodecContext { >>> > #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3 >>> > #define FF_PROFILE_HEVC_REXT 4 >>> > >>> > +#define FF_PROFILE_H266_MAIN_10 1 >>> >>> We should decide first what we are going to use, if VVC or h266. >>> >>> My suggestion was to use VVC for decoder, parser, demuxer and public >>> defines, which is what's exposed to the user, and h266 for CBS, which >>> makes things simpler to implement and is proper consider it's written >>> using the ITU spec. >>> >> Sorry for missed this. But seems mark and you have a different >> suggestion. Could you align with him and other maintainers? >> I can continue to address other issues. It's not too later to change this >> before I checked the patch set. >> > Hi Mark, > Most of the issue are addressed. I will send the second reversion of this > patchset. > Are you ok with James's suggestion? > > thanks. > >> >>> > + >>> > #define FF_PROFILE_AV1_MAIN 0 >>> > #define FF_PROFILE_AV1_HIGH 1 >>> > #define FF_PROFILE_AV1_PROFESSIONAL 2 >>> > diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c >>> > index 404c460f8f..62fe0f453d 100644 >>> > --- a/libavcodec/codec_desc.c >>> > +++ b/libavcodec/codec_desc.c >>> > @@ -1426,6 +1426,14 @@ static const AVCodecDescriptor >>> codec_descriptors[] = { >>> > .long_name = NULL_IF_CONFIG_SMALL("Microsoft Paint (MSP) >>> version 2"), >>> > .props = AV_CODEC_PROP_INTRA_ONLY | >>> AV_CODEC_PROP_LOSSLESS, >>> > }, >>> > + { >>> > + .id = AV_CODEC_ID_H266, >>> > + .type = AVMEDIA_TYPE_VIDEO, >>> > + .name = "h266", >>> >>> Ditto. >>> >>> > + .long_name = NULL_IF_CONFIG_SMALL("H.266 / VVC (Versatile >>> Video Coding)"), >>> > + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER, >>> > + .profiles = NULL_IF_CONFIG_SMALL(ff_h266_profiles), >>> > + }, >>> > { >>> > .id = AV_CODEC_ID_Y41P, >>> > .type = AVMEDIA_TYPE_VIDEO, >>> > diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h >>> > index 6133e03bb9..7a8a896bfe 100644 >>> > --- a/libavcodec/codec_id.h >>> > +++ b/libavcodec/codec_id.h >>> > @@ -244,6 +244,8 @@ enum AVCodecID { >>> > AV_CODEC_ID_PGX, >>> > AV_CODEC_ID_AVS3, >>> > AV_CODEC_ID_MSP2, >>> > + AV_CODEC_ID_VVC, >>> > +#define AV_CODEC_ID_H266 AV_CODEC_ID_VVC >>> >>> This chunk is good as is. >>> >>> > >>> > AV_CODEC_ID_Y41P = 0x8000, >>> > AV_CODEC_ID_AVRP, >>> > diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c >>> > index e59a3a5c12..710f2c01e2 100644 >>> > --- a/libavcodec/profiles.c >>> > +++ b/libavcodec/profiles.c >>> > @@ -74,6 +74,11 @@ const AVProfile ff_h264_profiles[] = { >>> > { FF_PROFILE_UNKNOWN }, >>> > }; >>> > >>> > +const AVProfile ff_h266_profiles[] = { >>> > + { FF_PROFILE_H266_MAIN_10, "Main 10" }, >>> > + { FF_PROFILE_UNKNOWN }, >>> > +}; >>> > + >>> > const AVProfile ff_hevc_profiles[] = { >>> > { FF_PROFILE_HEVC_MAIN, "Main" }, >>> > { FF_PROFILE_HEVC_MAIN_10, "Main 10" }, >>> > diff --git a/libavcodec/profiles.h b/libavcodec/profiles.h >>> > index 6baaba5701..7a353dbf3d 100644 >>> > --- a/libavcodec/profiles.h >>> > +++ b/libavcodec/profiles.h >>> > @@ -60,6 +60,7 @@ extern const AVProfile ff_aac_profiles[]; >>> > extern const AVProfile ff_dca_profiles[]; >>> > extern const AVProfile ff_dnxhd_profiles[]; >>> > extern const AVProfile ff_h264_profiles[]; >>> > +extern const AVProfile ff_h266_profiles[]; >>> > extern const AVProfile ff_hevc_profiles[]; >>> > extern const AVProfile ff_jpeg2000_profiles[]; >>> > extern const AVProfile ff_mpeg2_video_profiles[]; >>> > >>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> >> _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".