[FFmpeg-devel] [PATCH v24 6/9] avformat/mov_muxer: Extended MOV muxer to handle EVC video content

Michael Niedermayer michael at niedermayer.cc
Wed Jun 14 03:23:26 EEST 2023


On Mon, Jun 12, 2023 at 02:30:27PM +0200, Dawid Kozinski wrote:
> - Changes in mov_write_video_tag function to handle EVC elementary stream
> - Provided structure EVCDecoderConfigurationRecord that specifies the decoder configuration information for ISO/IEC 23094-1 video content
> 
> Signed-off-by: Dawid Kozinski <d.kozinski at samsung.com>
> ---
>  libavformat/Makefile    |   2 +-
>  libavformat/evc.c       | 422 ++++++++++++++++++++++++++++++++++++++++
>  libavformat/evc.h       |  44 +++++
>  libavformat/isom_tags.c |   2 +
>  libavformat/movenc.c    |  33 ++++
>  5 files changed, 502 insertions(+), 1 deletion(-)
>  create mode 100644 libavformat/evc.c
>  create mode 100644 libavformat/evc.h
> 
> diff --git a/libavformat/Makefile b/libavformat/Makefile
> index 6e4231fda2..d3503196e3 100644
> --- a/libavformat/Makefile
> +++ b/libavformat/Makefile
> @@ -364,7 +364,7 @@ OBJS-$(CONFIG_MOV_DEMUXER)               += mov.o mov_chan.o mov_esds.o \
>  OBJS-$(CONFIG_MOV_MUXER)                 += movenc.o av1.o avc.o hevc.o vpcc.o \
>                                              movenchint.o mov_chan.o rtp.o \
>                                              movenccenc.o movenc_ttml.o rawutils.o \
> -                                            dovi_isom.o
> +                                            dovi_isom.o evc.o
>  OBJS-$(CONFIG_MP2_MUXER)                 += rawenc.o
>  OBJS-$(CONFIG_MP3_DEMUXER)               += mp3dec.o replaygain.o
>  OBJS-$(CONFIG_MP3_MUXER)                 += mp3enc.o rawenc.o id3v2enc.o
> diff --git a/libavformat/evc.c b/libavformat/evc.c
> new file mode 100644
> index 0000000000..431cb107e3
> --- /dev/null
> +++ b/libavformat/evc.c
> @@ -0,0 +1,422 @@
> +/*
> + * EVC helper functions for muxers
> + * Copyright (c) 2022 Dawid Kozinski <d.kozinski at samsung.com>
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */

[...]

> +        nalu_type = ff_evc_get_nalu_type(data, bytes_to_read, pb);

functions shared between libavcodec and libavformat need an av*/avpriv* prefix
otherwise linking will fail with shared libs as ff* isnt exported


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230614/484146b3/attachment.sig>


More information about the ffmpeg-devel mailing list