On 2/23/2021 2:25 PM, Paul B Mahol wrote:
Signed-off-by: Paul B Mahol <one...@gmail.com>
---
  libavcodec/Makefile     |   1 +
  libavcodec/allcodecs.c  |   1 +
  libavcodec/codec_desc.c |   7 +
  libavcodec/codec_id.h   |   1 +
  libavcodec/sga.c        | 525 ++++++++++++++++++++++++++++++++++++++++
  5 files changed, 535 insertions(+)
  create mode 100644 libavcodec/sga.c

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 8685c15eeb..dfb4a89c92 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -609,6 +609,7 @@ OBJS-$(CONFIG_SANM_DECODER)            += sanm.o
  OBJS-$(CONFIG_SCPR_DECODER)            += scpr.o
  OBJS-$(CONFIG_SCREENPRESSO_DECODER)    += screenpresso.o
  OBJS-$(CONFIG_SDX2_DPCM_DECODER)       += dpcm.o
+OBJS-$(CONFIG_SGA_DECODER)             += sga.o
  OBJS-$(CONFIG_SGI_DECODER)             += sgidec.o
  OBJS-$(CONFIG_SGI_ENCODER)             += sgienc.o rle.o
  OBJS-$(CONFIG_SGIRLE_DECODER)          += sgirledec.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 990998b64b..a04faead16 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -289,6 +289,7 @@ extern AVCodec ff_s302m_decoder;
  extern AVCodec ff_sanm_decoder;
  extern AVCodec ff_scpr_decoder;
  extern AVCodec ff_screenpresso_decoder;
+extern AVCodec ff_sga_decoder;
  extern AVCodec ff_sgi_encoder;
  extern AVCodec ff_sgi_decoder;
  extern AVCodec ff_sgirle_decoder;
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index f64ba488f2..17f8a14044 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1849,6 +1849,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
          .long_name = NULL_IF_CONFIG_SMALL("Simbiosis Interactive IMX Video"),
          .props     = AV_CODEC_PROP_LOSSY,
      },
+    {
+        .id        = AV_CODEC_ID_SGA_VIDEO,
+        .type      = AVMEDIA_TYPE_VIDEO,
+        .name      = "sga",
+        .long_name = NULL_IF_CONFIG_SMALL("Digital Pictures SGA Video"),
+        .props     = AV_CODEC_PROP_LOSSY,

AV_CODEC_PROP_INTRA_ONLY? Judging by how the demuxer sets every packet as a key frame.

[...]

+
+    memcpy(frame->data[1], s->pal, AVPALETTE_SIZE);
+    frame->palette_has_changed = 1;

Missing frame->key_frame and frame->pict_type.

+
+    *got_frame = 1;
+
+    return avpkt->size;
+}
_______________________________________________
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".

Reply via email to