* [FFmpeg-devel] [PATCH 2/4] avcodec/dcadec: Treat the input packet's data as const
2022-07-04 10:58 [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Andreas Rheinhardt
@ 2022-07-04 11:02 ` Andreas Rheinhardt
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 3/4] avcodec/decoders: Use const uint8_t* to access input packet data Andreas Rheinhardt
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-07-04 11:02 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
A decoder's input packet need not be writable, so we must not modify
the data.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/dca_core.c | 4 ++--
libavcodec/dca_core.h | 4 ++--
libavcodec/dca_lbr.c | 2 +-
libavcodec/dca_lbr.h | 2 +-
libavcodec/dca_xll.c | 10 +++++-----
libavcodec/dca_xll.h | 2 +-
libavcodec/dcadec.c | 2 +-
7 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c
index 34b5b63159..2b19807ef4 100644
--- a/libavcodec/dca_core.c
+++ b/libavcodec/dca_core.c
@@ -1797,7 +1797,7 @@ static int parse_optional_info(DCACoreDecoder *s)
return 0;
}
-int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size)
+int ff_dca_core_parse(DCACoreDecoder *s, const uint8_t *data, int size)
{
int ret;
@@ -1830,7 +1830,7 @@ int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size)
return 0;
}
-int ff_dca_core_parse_exss(DCACoreDecoder *s, uint8_t *data, DCAExssAsset *asset)
+int ff_dca_core_parse_exss(DCACoreDecoder *s, const uint8_t *data, DCAExssAsset *asset)
{
AVCodecContext *avctx = s->avctx;
DCAContext *dca = avctx->priv_data;
diff --git a/libavcodec/dca_core.h b/libavcodec/dca_core.h
index cb8e38a94b..a01d642e77 100644
--- a/libavcodec/dca_core.h
+++ b/libavcodec/dca_core.h
@@ -245,8 +245,8 @@ static inline void ff_dca_core_dequantize(int32_t *output, const int32_t *input,
}
}
-int ff_dca_core_parse(DCACoreDecoder *s, uint8_t *data, int size);
-int ff_dca_core_parse_exss(DCACoreDecoder *s, uint8_t *data, DCAExssAsset *asset);
+int ff_dca_core_parse(DCACoreDecoder *s, const uint8_t *data, int size);
+int ff_dca_core_parse_exss(DCACoreDecoder *s, const uint8_t *data, DCAExssAsset *asset);
int ff_dca_core_filter_fixed(DCACoreDecoder *s, int x96_synth);
int ff_dca_core_filter_frame(DCACoreDecoder *s, AVFrame *frame);
av_cold void ff_dca_core_flush(DCACoreDecoder *s);
diff --git a/libavcodec/dca_lbr.c b/libavcodec/dca_lbr.c
index 06c10b96f5..2b8594cd75 100644
--- a/libavcodec/dca_lbr.c
+++ b/libavcodec/dca_lbr.c
@@ -1156,7 +1156,7 @@ static int parse_decoder_init(DCALbrDecoder *s, GetByteContext *gb)
return 0;
}
-int ff_dca_lbr_parse(DCALbrDecoder *s, uint8_t *data, DCAExssAsset *asset)
+int ff_dca_lbr_parse(DCALbrDecoder *s, const uint8_t *data, DCAExssAsset *asset)
{
struct {
LBRChunk lfe;
diff --git a/libavcodec/dca_lbr.h b/libavcodec/dca_lbr.h
index db7a676c31..9e1abec0b4 100644
--- a/libavcodec/dca_lbr.h
+++ b/libavcodec/dca_lbr.h
@@ -124,7 +124,7 @@ typedef struct DCALbrDecoder {
DCADSPContext *dcadsp;
} DCALbrDecoder;
-int ff_dca_lbr_parse(DCALbrDecoder *s, uint8_t *data, DCAExssAsset *asset);
+int ff_dca_lbr_parse(DCALbrDecoder *s, const uint8_t *data, DCAExssAsset *asset);
int ff_dca_lbr_filter_frame(DCALbrDecoder *s, AVFrame *frame);
av_cold void ff_dca_lbr_flush(DCALbrDecoder *s);
av_cold void ff_dca_lbr_init_tables(void);
diff --git a/libavcodec/dca_xll.c b/libavcodec/dca_xll.c
index aaccb7a43d..17626b3614 100644
--- a/libavcodec/dca_xll.c
+++ b/libavcodec/dca_xll.c
@@ -1040,7 +1040,7 @@ static int parse_band_data(DCAXllDecoder *s)
return 0;
}
-static int parse_frame(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset)
+static int parse_frame(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset)
{
int ret;
@@ -1067,7 +1067,7 @@ static void clear_pbr(DCAXllDecoder *s)
s->pbr_delay = 0;
}
-static int copy_to_pbr(DCAXllDecoder *s, uint8_t *data, int size, int delay)
+static int copy_to_pbr(DCAXllDecoder *s, const uint8_t *data, int size, int delay)
{
if (size > DCA_XLL_PBR_BUFFER_MAX)
return AVERROR(ENOSPC);
@@ -1081,7 +1081,7 @@ static int copy_to_pbr(DCAXllDecoder *s, uint8_t *data, int size, int delay)
return 0;
}
-static int parse_frame_no_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset)
+static int parse_frame_no_pbr(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset)
{
int ret = parse_frame(s, data, size, asset);
@@ -1119,7 +1119,7 @@ static int parse_frame_no_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExss
return 0;
}
-static int parse_frame_pbr(DCAXllDecoder *s, uint8_t *data, int size, DCAExssAsset *asset)
+static int parse_frame_pbr(DCAXllDecoder *s, const uint8_t *data, int size, DCAExssAsset *asset)
{
int ret;
@@ -1160,7 +1160,7 @@ fail:
return ret;
}
-int ff_dca_xll_parse(DCAXllDecoder *s, uint8_t *data, DCAExssAsset *asset)
+int ff_dca_xll_parse(DCAXllDecoder *s, const uint8_t *data, DCAExssAsset *asset)
{
int ret;
diff --git a/libavcodec/dca_xll.h b/libavcodec/dca_xll.h
index d223133019..d7c1a13ec8 100644
--- a/libavcodec/dca_xll.h
+++ b/libavcodec/dca_xll.h
@@ -139,7 +139,7 @@ typedef struct DCAXllDecoder {
int32_t *output_samples[DCA_SPEAKER_COUNT];
} DCAXllDecoder;
-int ff_dca_xll_parse(DCAXllDecoder *s, uint8_t *data, DCAExssAsset *asset);
+int ff_dca_xll_parse(DCAXllDecoder *s, const uint8_t *data, DCAExssAsset *asset);
int ff_dca_xll_filter_frame(DCAXllDecoder *s, AVFrame *frame);
av_cold void ff_dca_xll_flush(DCAXllDecoder *s);
av_cold void ff_dca_xll_close(DCAXllDecoder *s);
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 38ea8733e4..498e0c86f3 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -151,7 +151,7 @@ static int dcadec_decode_frame(AVCodecContext *avctx, AVFrame *frame,
int *got_frame_ptr, AVPacket *avpkt)
{
DCAContext *s = avctx->priv_data;
- uint8_t *input = avpkt->data;
+ const uint8_t *input = avpkt->data;
int input_size = avpkt->size;
int i, ret, prev_packet = s->packet;
uint32_t mrk;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH 3/4] avcodec/decoders: Use const uint8_t* to access input packet data
2022-07-04 10:58 [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Andreas Rheinhardt
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 2/4] avcodec/dcadec: Treat the input packet's data as const Andreas Rheinhardt
@ 2022-07-04 11:02 ` Andreas Rheinhardt
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 4/4] avcodec/mscc: Don't modify input packet Andreas Rheinhardt
2022-07-04 11:15 ` [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Paul B Mahol
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-07-04 11:02 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
These packets need not be writable, so we must not modify them.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/ansi.c | 2 +-
libavcodec/cllc.c | 2 +-
libavcodec/diracdec.c | 2 +-
libavcodec/fic.c | 8 ++++----
libavcodec/hqx.c | 2 +-
libavcodec/hqx.h | 2 +-
libavcodec/libdavs2.c | 2 +-
libavcodec/libjxldec.c | 2 +-
libavcodec/libopenjpegdec.c | 2 +-
libavcodec/msrle.c | 2 +-
libavcodec/mwsc.c | 2 +-
libavcodec/v410dec.c | 4 ++--
libavcodec/y41pdec.c | 2 +-
13 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index 909ebe7396..ff4437cc61 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -358,7 +358,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *rframe,
int *got_frame, AVPacket *avpkt)
{
AnsiContext *s = avctx->priv_data;
- uint8_t *buf = avpkt->data;
+ const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
const uint8_t *buf_end = buf+buf_size;
int ret, i, count;
diff --git a/libavcodec/cllc.c b/libavcodec/cllc.c
index f7283ca4f8..4866c5b2d4 100644
--- a/libavcodec/cllc.c
+++ b/libavcodec/cllc.c
@@ -359,7 +359,7 @@ static int cllc_decode_frame(AVCodecContext *avctx, AVFrame *pic,
int *got_picture_ptr, AVPacket *avpkt)
{
CLLCContext *ctx = avctx->priv_data;
- uint8_t *src = avpkt->data;
+ const uint8_t *src = avpkt->data;
uint32_t info_tag, info_offset;
int data_size;
GetBitContext gb;
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 9f3c930913..50d1d2e1d3 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -2264,7 +2264,7 @@ static int dirac_decode_frame(AVCodecContext *avctx, AVFrame *picture,
int *got_frame, AVPacket *pkt)
{
DiracContext *s = avctx->priv_data;
- uint8_t *buf = pkt->data;
+ const uint8_t *buf = pkt->data;
int buf_size = pkt->size;
int i, buf_idx = 0;
int ret;
diff --git a/libavcodec/fic.c b/libavcodec/fic.c
index e56a1a323c..491f63ea0c 100644
--- a/libavcodec/fic.c
+++ b/libavcodec/fic.c
@@ -32,7 +32,7 @@
typedef struct FICThreadContext {
DECLARE_ALIGNED(16, int16_t, block)[64];
- uint8_t *src;
+ const uint8_t *src;
int slice_h;
int src_size;
int y_off;
@@ -174,7 +174,7 @@ static int fic_decode_slice(AVCodecContext *avctx, void *tdata)
FICContext *ctx = avctx->priv_data;
FICThreadContext *tctx = tdata;
GetBitContext gb;
- uint8_t *src = tctx->src;
+ const uint8_t *src = tctx->src;
int slice_h = tctx->slice_h;
int src_size = tctx->src_size;
int y_off = tctx->y_off;
@@ -271,14 +271,14 @@ static int fic_decode_frame(AVCodecContext *avctx, AVFrame *rframe,
int *got_frame, AVPacket *avpkt)
{
FICContext *ctx = avctx->priv_data;
- uint8_t *src = avpkt->data;
+ const uint8_t *src = avpkt->data;
int ret;
int slice, nslices;
int msize;
int tsize;
int cur_x, cur_y;
int skip_cursor = ctx->skip_cursor;
- uint8_t *sdata;
+ const uint8_t *sdata;
if ((ret = ff_reget_buffer(avctx, ctx->frame, 0)) < 0)
return ret;
diff --git a/libavcodec/hqx.c b/libavcodec/hqx.c
index c41fe61387..596b8a7ed3 100644
--- a/libavcodec/hqx.c
+++ b/libavcodec/hqx.c
@@ -404,7 +404,7 @@ static int hqx_decode_frame(AVCodecContext *avctx, AVFrame *frame,
int *got_picture_ptr, AVPacket *avpkt)
{
HQXContext *ctx = avctx->priv_data;
- uint8_t *src = avpkt->data;
+ const uint8_t *src = avpkt->data;
uint32_t info_tag;
int data_start;
int i, ret;
diff --git a/libavcodec/hqx.h b/libavcodec/hqx.h
index 3eddaafb29..155ec7f84f 100644
--- a/libavcodec/hqx.h
+++ b/libavcodec/hqx.h
@@ -70,7 +70,7 @@ typedef struct HQXContext {
int format, dcb, width, height;
int interlaced;
- uint8_t *src;
+ const uint8_t *src;
unsigned int data_size;
uint32_t slice_off[17];
diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c
index c2040775ae..918e48502c 100644
--- a/libavcodec/libdavs2.c
+++ b/libavcodec/libdavs2.c
@@ -190,7 +190,7 @@ static int davs2_decode_frame(AVCodecContext *avctx, AVFrame *frame,
{
DAVS2Context *cad = avctx->priv_data;
int buf_size = avpkt->size;
- uint8_t *buf_ptr = avpkt->data;
+ const uint8_t *buf_ptr = avpkt->data;
int ret = DAVS2_DEFAULT;
/* end of stream, output what is still in the buffers */
diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c
index d516d3b0ac..829478bbde 100644
--- a/libavcodec/libjxldec.c
+++ b/libavcodec/libjxldec.c
@@ -321,7 +321,7 @@ static int libjxl_color_encoding_event(AVCodecContext *avctx, AVFrame *frame)
static int libjxl_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
{
LibJxlDecodeContext *ctx = avctx->priv_data;
- uint8_t *buf = avpkt->data;
+ const uint8_t *buf = avpkt->data;
size_t remaining = avpkt->size;
JxlDecoderStatus jret;
int ret;
diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
index 58715b43ee..58ac6c413a 100644
--- a/libavcodec/libopenjpegdec.c
+++ b/libavcodec/libopenjpegdec.c
@@ -321,7 +321,7 @@ static av_cold int libopenjpeg_decode_init(AVCodecContext *avctx)
static int libopenjpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture,
int *got_frame, AVPacket *avpkt)
{
- uint8_t *buf = avpkt->data;
+ const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
LibOpenJPEGContext *ctx = avctx->priv_data;
const AVPixFmtDescriptor *desc;
diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index 041d0c9493..f9d7141c03 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -108,7 +108,7 @@ static int msrle_decode_frame(AVCodecContext *avctx, AVFrame *rframe,
if (avctx->height * istride == avpkt->size) { /* assume uncompressed */
int linesize = av_image_get_linesize(avctx->pix_fmt, avctx->width, 0);
uint8_t *ptr = s->frame->data[0];
- uint8_t *buf = avpkt->data + (avctx->height-1)*istride;
+ const uint8_t *buf = avpkt->data + (avctx->height-1)*istride;
int i, j;
if (linesize < 0)
diff --git a/libavcodec/mwsc.c b/libavcodec/mwsc.c
index d89fbde4e2..499b220a07 100644
--- a/libavcodec/mwsc.c
+++ b/libavcodec/mwsc.c
@@ -92,7 +92,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
{
MWSCContext *s = avctx->priv_data;
z_stream *const zstream = &s->zstream.zstream;
- uint8_t *buf = avpkt->data;
+ const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
GetByteContext gb;
GetByteContext gbp;
diff --git a/libavcodec/v410dec.c b/libavcodec/v410dec.c
index f6d675c508..e67cb820ba 100644
--- a/libavcodec/v410dec.c
+++ b/libavcodec/v410dec.c
@@ -28,7 +28,7 @@
typedef struct ThreadData {
AVFrame *frame;
- uint8_t *buf;
+ const uint8_t *buf;
int stride;
} ThreadData;
@@ -89,7 +89,7 @@ static int v410_decode_frame(AVCodecContext *avctx, AVFrame *pic,
int *got_frame, AVPacket *avpkt)
{
ThreadData td;
- uint8_t *src = avpkt->data;
+ const uint8_t *src = avpkt->data;
int ret;
int thread_count = av_clip(avctx->thread_count, 1, avctx->height/4);
diff --git a/libavcodec/y41pdec.c b/libavcodec/y41pdec.c
index ca81dda0e8..4b1e64aff9 100644
--- a/libavcodec/y41pdec.c
+++ b/libavcodec/y41pdec.c
@@ -39,7 +39,7 @@ static av_cold int y41p_decode_init(AVCodecContext *avctx)
static int y41p_decode_frame(AVCodecContext *avctx, AVFrame *pic,
int *got_frame, AVPacket *avpkt)
{
- uint8_t *src = avpkt->data;
+ const uint8_t *src = avpkt->data;
uint8_t *y, *u, *v;
int i, j, ret;
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH 4/4] avcodec/mscc: Don't modify input packet
2022-07-04 10:58 [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Andreas Rheinhardt
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 2/4] avcodec/dcadec: Treat the input packet's data as const Andreas Rheinhardt
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 3/4] avcodec/decoders: Use const uint8_t* to access input packet data Andreas Rheinhardt
@ 2022-07-04 11:02 ` Andreas Rheinhardt
2022-07-04 11:15 ` [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Paul B Mahol
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-07-04 11:02 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
This packet may not be writable, hence we must not write to it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavcodec/mscc.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/libavcodec/mscc.c b/libavcodec/mscc.c
index ac67ec9c47..3666b881a1 100644
--- a/libavcodec/mscc.c
+++ b/libavcodec/mscc.c
@@ -134,7 +134,7 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
{
MSCCContext *s = avctx->priv_data;
z_stream *const zstream = &s->zstream.zstream;
- uint8_t *buf = avpkt->data;
+ const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
GetByteContext gb;
PutByteContext pb;
@@ -146,12 +146,6 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
- if (avctx->codec_id == AV_CODEC_ID_MSCC) {
- avpkt->data[2] ^= avpkt->data[0];
- buf += 2;
- buf_size -= 2;
- }
-
if (avctx->pix_fmt == AV_PIX_FMT_PAL8) {
size_t size;
const uint8_t *pal = av_packet_get_side_data(avpkt, AV_PKT_DATA_PALETTE, &size);
@@ -172,12 +166,25 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
av_log(avctx, AV_LOG_ERROR, "Inflate reset error: %d\n", ret);
return AVERROR_UNKNOWN;
}
- zstream->next_in = buf;
- zstream->avail_in = buf_size;
zstream->next_out = s->decomp_buf;
zstream->avail_out = s->decomp_size;
+ if (avctx->codec_id == AV_CODEC_ID_MSCC) {
+ const uint8_t start = avpkt->data[2] ^ avpkt->data[0];
+
+ zstream->next_in = &start;
+ zstream->avail_in = 1;
+ ret = inflate(zstream, Z_NO_FLUSH);
+ if (ret != Z_OK || zstream->avail_in != 0)
+ goto inflate_error;
+
+ buf += 3;
+ buf_size -= 3;
+ }
+ zstream->next_in = buf;
+ zstream->avail_in = buf_size;
ret = inflate(zstream, Z_FINISH);
if (ret != Z_STREAM_END) {
+inflate_error:
av_log(avctx, AV_LOG_ERROR, "Inflate error: %d\n", ret);
return AVERROR_UNKNOWN;
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data
2022-07-04 10:58 [FFmpeg-devel] [PATCH 1/4] avformat/(mpeg|mpegts|mxf|sup)enc: Use const uint8_t* to access pkt data Andreas Rheinhardt
` (2 preceding siblings ...)
2022-07-04 11:02 ` [FFmpeg-devel] [PATCH 4/4] avcodec/mscc: Don't modify input packet Andreas Rheinhardt
@ 2022-07-04 11:15 ` Paul B Mahol
3 siblings, 0 replies; 5+ messages in thread
From: Paul B Mahol @ 2022-07-04 11:15 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: Andreas Rheinhardt
lgtm for set
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread