[FFmpeg-devel] [PATCH v1 08/11] avcodec: add external decoder libvvdec for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add external decoder VVdeC for H266/VVC decoding. Register new decoder libvvdec Add vvc_parse_extradata to support parse/probe of vvcC stream input Add vvc_paramset that implements the parser of vvcC configuration boxes Add libvvdec to wrap the vvdec interface into ffmpeg libv

[FFmpeg-devel] [PATCH v1 09/11] avcodec: add external encoder libvvenc for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add external encoder VVenC for H266/VVC encoding. Register new encoder libvvencc Add libvvenc to wrap the vvenc interface into ffmpeg libvvenc implements encoder option: preset,qp,period,subjopt,vvenc-params,levelidc,tier Enable encoder by adding --enable-libvvenc in configur

[FFmpeg-devel] [PATCH v1 07/11] avformat: add muxer support for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add muxer for vvcc byte stream format. Add AV_CODEC_ID_VVC to ff_mp4_obj_type Add AV_CODEC_ID_VVC to ISO Media codec (VvcConfigurationBox vvi1, vvc1 defined in ISO/IEC 14496-15:2021) Add VvcConfigurationBox vvcC which extends FullBox type in ISO/IEC 14496-15:2021 Add ff_vvc_m

[FFmpeg-devel] [PATCH v1 06/11] avformat: add demuxer and probe support for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add demuxer to probe raw vvc and parse vvcc byte stream format. Signed-off-by: Thomas Siedel --- libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/demux.c | 7 +- libavformat/vvc.c| 918 +++ li

[FFmpeg-devel] [PATCH v1 11/11] avcodec: increase minor version for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Increase avcodec minor version for vvc support. Signed-off-by: Thomas Siedel --- libavcodec/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/version.h b/libavcodec/version.h index f8abc803b6..86ac0f3871 100644 --- a/libavcodec/version

[FFmpeg-devel] [PATCH v1 10/11] avformat: add ts stream types for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add transport stream stream type 0x33 for vvc. Add STREAM_TYPE_VIDEO_VVC to MPEG-1/2 and MPEG-2 transport stream Add basic transport stream support for TS mux/demux Signed-off-by: Thomas Siedel --- configure | 2 +- libavformat/mpeg.c | 3 ++ libavforma

[FFmpeg-devel] [PATCH v1 05/11] avcodec: add MP4 to annexb support for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add parser for VVC MP4 to Annex B byte stream format. Signed-off-by: Thomas Siedel --- configure| 1 + libavcodec/Makefile | 2 + libavcodec/bitstream_filters.c | 2 + libavcodec/h266_metadata_bsf.c | 145 ++ libavc

[FFmpeg-devel] [PATCH v1 04/11] avcodec: add bitstream parser for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add nal parser ff_vvc_parser to parse vvc elementary bitstreams. Signed-off-by: Thomas Siedel --- configure| 3 + libavcodec/Makefile | 1 + libavcodec/h2645_parse.c | 71 - libavcodec/parsers.c | 1 + libavcodec/vvc_parser.c | 588 +

[FFmpeg-devel] [PATCH v1 03/11] avcodec: enable cbs for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add ff_cbs_type_h266 to cbs types tables and AV_CODEC_ID_H266 to cbs codec ids. Change CBS_MAX_UNIT_TYPES to 8 as VVC implements 8 different slice types Signed-off-by: Thomas Siedel --- libavcodec/Makefile | 1 + libavcodec/cbs.c | 6 ++ libavcodec/cbs_in

[FFmpeg-devel] [PATCH v1 01/11] avcodec: add enum types for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel Add needed types as nal unit types, slice types and vvc typedefs needed for parsing vvc high-level syntax Signed-off-by: Thomas Siedel --- libavcodec/vvc.h | 142 +++ 1 file changed, 142 insertions(+) create mode 100644 libavcod

[FFmpeg-devel] [PATCH v1 00/11] Add support for H266/VVC

2022-10-19 Thread thomas . ff
From: Thomas Siedel This patch set adds H266/VVC support. This includes parsing, muxing, demuxing, decoding and encoding. Decoding is done using the external library VVdeC (https://github.com/fraunhoferhhi/vvdec.git) and can be enabled with --enable-libvvdec. Encoding is done using the external l