On 6/13/2023 9:23 PM, Michael Niedermayer wrote:
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.kozin...@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.kozin...@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

It's small enough that it can go in the header instead. That way we save one unnecessary exported symbol. Same with ff_evc_read_nal_unit_length().
_______________________________________________
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".
  • ... Dawid Kozinski
    • ... Michael Niedermayer
      • ... James Almer
        • ... Dawid Kozinski/Multimedia (PLT) /SRPOL/Staff Engineer/Samsung Electronics
        • ... Dawid Kozinski/Multimedia (PLT) /SRPOL/Staff Engineer/Samsung Electronics
      • ... Dawid Kozinski/Multimedia (PLT) /SRPOL/Staff Engineer/Samsung Electronics
      • ... Dawid Kozinski/Multimedia (PLT) /SRPOL/Staff Engineer/Samsung Electronics
    • ... Wang Bin
      • ... James Almer

Reply via email to