[FFmpeg-cvslog] avcodec/exr: preserve half-float NaN bits and add fate test

2020-12-09 Thread Mark Reid
ffmpeg | branch: master | Mark Reid  | Sun Nov 22 20:32:15 
2020 -0800| [8d19b3c4a5176c181dc1751e08834193b549162c] | committer: Paul B Mahol

avcodec/exr: preserve half-float NaN bits and add fate test

Handles NaNs more like the official implementation handles them, preserving
the original bits.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d19b3c4a5176c181dc1751e08834193b549162c
---

 libavcodec/exr.c| 3 +--
 tests/fate/image.mak| 2 ++
 tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0x | 6 ++
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index d233dd43fb..6e6ce4275c 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -193,8 +193,7 @@ static union av_intfloat32 exr_half2float(uint16_t hf)
 // half-float NaNs will be converted to a single precision NaN
 // half-float Infs will be converted to a single precision Inf
 exp = FLOAT_MAX_BIASED_EXP;
-if (mantissa)
-mantissa = (1 << 23) - 1;// set all bits to indicate a NaN
+mantissa <<= 13; // preserve half-float NaN bits if set
 } else if (exp == 0x0) {
 // convert half-float zero/denorm to single precision value
 if (mantissa) {
diff --git a/tests/fate/image.mak b/tests/fate/image.mak
index 22072a62f1..c453f0f79c 100644
--- a/tests/fate/image.mak
+++ b/tests/fate/image.mak
@@ -317,6 +317,8 @@ fate-exr-rgb-scanline-half-zip-dw-outside: CMD = framecrc 
-i $(TARGET_SAMPLES)/e
 FATE_EXR += fate-exr-rgb-tile-half-zip-dw-outside
 fate-exr-rgb-tile-half-zip-dw-outside: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/rgb_tile_half_zip_dw_outside.exr -pix_fmt gbrpf32le
 
+FATE_EXR += fate-exr-rgb-scanline-zip-half-0x0-0x
+fate-exr-rgb-scanline-zip-half-0x0-0x: CMD = framecrc -i 
$(TARGET_SAMPLES)/exr/rgb_scanline_zip_half_float_0x0_to_0x.exr -pix_fmt 
gbrpf32le
 
 FATE_EXR-$(call DEMDEC, IMAGE2, EXR) += $(FATE_EXR)
 
diff --git a/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0x 
b/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0x
new file mode 100644
index 00..b6201116fe
--- /dev/null
+++ b/tests/ref/fate/exr-rgb-scanline-zip-half-0x0-0x
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 1/1
+0,  0,  0,1,   786432, 0x1445e411

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec/vaapi_av1: fill the remaining VAFilmGrainStructAV1 fields

2020-12-09 Thread James Almer
ffmpeg | branch: master | James Almer  | Mon Nov 30 13:55:11 
2020 -0300| [0e62efad7cd6b1fa07dcb3badb6ab92957a576dc] | committer: James Almer

avcodec/vaapi_av1: fill the remaining VAFilmGrainStructAV1 fields

Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0e62efad7cd6b1fa07dcb3badb6ab92957a576dc
---

 libavcodec/vaapi_av1.c | 60 ++
 1 file changed, 51 insertions(+), 9 deletions(-)

diff --git a/libavcodec/vaapi_av1.c b/libavcodec/vaapi_av1.c
index 2763c1e866..b76e217daa 100644
--- a/libavcodec/vaapi_av1.c
+++ b/libavcodec/vaapi_av1.c
@@ -115,15 +115,27 @@ static int vaapi_av1_start_frame(AVCodecContext *avctx,
 .temporal_update = frame_header->segmentation_temporal_update,
 .update_data = frame_header->segmentation_update_data,
 },
-.film_grain_info.film_grain_info_fields.bits = {
-.apply_grain  = film_grain->apply_grain,
-.chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma,
-.grain_scaling_minus_8= film_grain->grain_scaling_minus_8,
-.ar_coeff_lag = film_grain->ar_coeff_lag,
-.ar_coeff_shift_minus_6   = film_grain->ar_coeff_shift_minus_6,
-.grain_scale_shift= film_grain->grain_scale_shift,
-.overlap_flag = film_grain->overlap_flag,
-.clip_to_restricted_range = film_grain->clip_to_restricted_range,
+.film_grain_info = {
+.film_grain_info_fields.bits = {
+.apply_grain  = film_grain->apply_grain,
+.chroma_scaling_from_luma = 
film_grain->chroma_scaling_from_luma,
+.grain_scaling_minus_8= film_grain->grain_scaling_minus_8,
+.ar_coeff_lag = film_grain->ar_coeff_lag,
+.ar_coeff_shift_minus_6   = film_grain->ar_coeff_shift_minus_6,
+.grain_scale_shift= film_grain->grain_scale_shift,
+.overlap_flag = film_grain->overlap_flag,
+.clip_to_restricted_range = 
film_grain->clip_to_restricted_range,
+},
+.grain_seed= film_grain->grain_seed,
+.num_y_points  = film_grain->num_y_points,
+.num_cb_points = film_grain->num_cb_points,
+.num_cr_points = film_grain->num_cr_points,
+.cb_mult   = film_grain->cb_mult,
+.cb_luma_mult  = film_grain->cb_luma_mult,
+.cb_offset = film_grain->cb_offset,
+.cr_mult   = film_grain->cr_mult,
+.cr_luma_mult  = film_grain->cr_luma_mult,
+.cr_offset = film_grain->cr_offset,
 },
 .pic_info_fields.bits = {
 .frame_type   = frame_header->frame_type,
@@ -203,6 +215,36 @@ static int vaapi_av1_start_frame(AVCodecContext *avctx,
 for (int j = 0; j < 6; j++)
 pic_param.wm[i - 1].wmmat[j] = s->cur_frame.gm_params[i][j];
 }
+if (film_grain->apply_grain) {
+for (int i = 0; i < film_grain->num_y_points; i++) {
+pic_param.film_grain_info.point_y_value[i] =
+film_grain->point_y_value[i];
+pic_param.film_grain_info.point_y_scaling[i] =
+film_grain->point_y_scaling[i];
+}
+for (int i = 0; i < film_grain->num_cb_points; i++) {
+pic_param.film_grain_info.point_cb_value[i] =
+film_grain->point_cb_value[i];
+pic_param.film_grain_info.point_cb_scaling[i] =
+film_grain->point_cb_scaling[i];
+}
+for (int i = 0; i < film_grain->num_cr_points; i++) {
+pic_param.film_grain_info.point_cr_value[i] =
+film_grain->point_cr_value[i];
+pic_param.film_grain_info.point_cr_scaling[i] =
+film_grain->point_cr_scaling[i];
+}
+for (int i = 0; i < 24; i++) {
+pic_param.film_grain_info.ar_coeffs_y[i] =
+film_grain->ar_coeffs_y_plus_128[i] - 128;
+}
+for (int i = 0; i < 25; i++) {
+pic_param.film_grain_info.ar_coeffs_cb[i] =
+film_grain->ar_coeffs_cb_plus_128[i] - 128;
+pic_param.film_grain_info.ar_coeffs_cr[i] =
+film_grain->ar_coeffs_cr_plus_128[i] - 128;
+}
+}
 err = ff_vaapi_decode_make_param_buffer(avctx, pic,
 VAPictureParameterBufferType,
 &pic_param, sizeof(pic_param));

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avformat/vividas: Make len signed

2020-12-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Sun 
Nov 22 17:24:20 2020 +0100| [b29d351f972f801d0374ca8565cee398b8f69160] | 
committer: Michael Niedermayer

avformat/vividas: Make len signed

Fixes: out of array access
Fixes: 
27424/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-5682070692823040

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b29d351f972f801d0374ca8565cee398b8f69160
---

 libavformat/vividas.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/vividas.c b/libavformat/vividas.c
index 46c66bf9a0..4adc125439 100644
--- a/libavformat/vividas.c
+++ b/libavformat/vividas.c
@@ -389,8 +389,8 @@ static int track_header(VividasDemuxContext *viv, 
AVFormatContext *s,  uint8_t *
 ffio_read_varlen(pb); // len_3
 num_data = avio_r8(pb);
 for (j = 0; j < num_data; j++) {
-uint64_t len = ffio_read_varlen(pb);
-if (len > INT_MAX/2 - xd_size) {
+int64_t len = ffio_read_varlen(pb);
+if (len < 0 || len > INT_MAX/2 - xd_size) {
 return AVERROR_INVALIDDATA;
 }
 data_len[j] = len;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avformat/rpl: Check the number of streams

2020-12-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed 
Dec  9 00:49:29 2020 +0100| [0677bdb1f522d0d25b47bca3d8e09ece83083678] | 
committer: Michael Niedermayer

avformat/rpl: Check the number of streams

Fixes: out of memory access
Fixes: 
27787/clusterfuzz-testcase-minimized-ffmpeg_dem_RPL_fuzzer-4743666463408128.fuzz

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0677bdb1f522d0d25b47bca3d8e09ece83083678
---

 libavformat/rpl.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/rpl.c b/libavformat/rpl.c
index c79419d558..b98488c7b1 100644
--- a/libavformat/rpl.c
+++ b/libavformat/rpl.c
@@ -253,6 +253,9 @@ static int rpl_read_header(AVFormatContext *s)
 error |= read_line(pb, line, sizeof(line));
 }
 
+if (s->nb_streams == 0)
+return AVERROR_INVALIDDATA;
+
 rpl->frames_per_chunk = read_line_and_int(pb, &error);  // video frames 
per chunk
 if (vst && rpl->frames_per_chunk > 1 && vst->codecpar->codec_tag != 124)
 av_log(s, AV_LOG_WARNING,

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avformat/vividas: Check sample_rate

2020-12-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Tue 
Nov 10 22:36:25 2020 +0100| [b1bced5433adcf5ad743d929c788b66af9efaf24] | 
committer: Michael Niedermayer

avformat/vividas: Check sample_rate

Fixes: Assertion c > 0 failed at libavutil/mathematics.c
Fixes: 
27001/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-5726041328582656
Fixes: 
27453/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-5716060384526336

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b1bced5433adcf5ad743d929c788b66af9efaf24
---

 libavformat/vividas.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/vividas.c b/libavformat/vividas.c
index 4adc125439..96e0631b06 100644
--- a/libavformat/vividas.c
+++ b/libavformat/vividas.c
@@ -373,6 +373,8 @@ static int track_header(VividasDemuxContext *viv, 
AVFormatContext *s,  uint8_t *
 avio_rl16(pb); //codec_subid
 st->codecpar->channels = avio_rl16(pb); // channels
 st->codecpar->sample_rate = avio_rl32(pb); // sample_rate
+if (st->codecpar->sample_rate <= 0)
+return AVERROR_INVALIDDATA;
 avio_seek(pb, 10, SEEK_CUR); // data_1
 q = avio_r8(pb);
 avio_seek(pb, q, SEEK_CUR); // data_2

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avformat/matroskadec: Sanity check codec_id/track type

2020-12-09 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Dec  7 00:37:25 2020 +0100| [7b88dd8f0cb48b46f3178d274a9117a3d2307f4e] | 
committer: Michael Niedermayer

avformat/matroskadec: Sanity check codec_id/track type

Fixes: memleak
Fixes: 
27766/clusterfuzz-testcase-minimized-ffmpeg_dem_MATROSKA_fuzzer-5198300814508032

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7b88dd8f0cb48b46f3178d274a9117a3d2307f4e
---

 libavformat/matroskadec.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 44db2c8358..374831baa3 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2318,6 +2318,15 @@ static int matroska_parse_tracks(AVFormatContext *s)
 if (!track->codec_id)
 continue;
 
+if (   track->type == MATROSKA_TRACK_TYPE_AUDIO && track->codec_id[0] 
!= 'A'
+|| track->type == MATROSKA_TRACK_TYPE_VIDEO && track->codec_id[0] 
!= 'V'
+|| track->type == MATROSKA_TRACK_TYPE_SUBTITLE && 
track->codec_id[0] != 'D' && track->codec_id[0] != 'S'
+|| track->type == MATROSKA_TRACK_TYPE_METADATA && 
track->codec_id[0] != 'D' && track->codec_id[0] != 'S'
+) {
+av_log(matroska->ctx, AV_LOG_INFO, "Inconsistent track type\n");
+continue;
+}
+
 if (track->audio.samplerate < 0 || track->audio.samplerate > INT_MAX ||
 isnan(track->audio.samplerate)) {
 av_log(matroska->ctx, AV_LOG_WARNING,

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec/cinepak: Mark decoder as init-threadsafe

2020-12-09 Thread Andreas Rheinhardt
ffmpeg | branch: master | Andreas Rheinhardt  | 
Mon Nov 30 14:46:30 2020 +0100| [41519b29facb3727fae1744376ef79bc280c6597] | 
committer: Andreas Rheinhardt

avcodec/cinepak: Mark decoder as init-threadsafe

Reviewed-by: Tomas Härdin 
Signed-off-by: Andreas Rheinhardt 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=41519b29facb3727fae1744376ef79bc280c6597
---

 libavcodec/cinepak.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index 9c5b254231..17148a3577 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -522,4 +522,5 @@ AVCodec ff_cinepak_decoder = {
 .close  = cinepak_decode_end,
 .decode = cinepak_decode_frame,
 .capabilities   = AV_CODEC_CAP_DR1,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec/idcinvideo: Mark decoder as init-threadsafe

2020-12-09 Thread Andreas Rheinhardt
ffmpeg | branch: master | Andreas Rheinhardt  | 
Mon Nov 30 18:24:37 2020 +0100| [bdfe51b44f01de89f794a307f0a59941bc0ec9fa] | 
committer: Andreas Rheinhardt

avcodec/idcinvideo: Mark decoder as init-threadsafe

Reviewed-by: Tomas Härdin 
Signed-off-by: Andreas Rheinhardt 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bdfe51b44f01de89f794a307f0a59941bc0ec9fa
---

 libavcodec/idcinvideo.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/idcinvideo.c b/libavcodec/idcinvideo.c
index 6b2d8087ae..941a89d36d 100644
--- a/libavcodec/idcinvideo.c
+++ b/libavcodec/idcinvideo.c
@@ -258,4 +258,5 @@ AVCodec ff_idcin_decoder = {
 .decode = idcin_decode_frame,
 .capabilities   = AV_CODEC_CAP_DR1,
 .defaults   = idcin_defaults,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,
 };

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec/snow: Use ff_thread_once() in ff_snow_common_init()

2020-12-09 Thread Andreas Rheinhardt
ffmpeg | branch: master | Andreas Rheinhardt  | 
Wed Dec  2 00:10:13 2020 +0100| [6a94afbd5bf4aa3ccab12f038e8bbae7ef3973c0] | 
committer: Andreas Rheinhardt

avcodec/snow: Use ff_thread_once() in ff_snow_common_init()

ff_snow_common_init() currently initializes static data every time it is
invoked; given that both the Snow encoder and decoder have the
FF_CODEC_CAP_INIT_THREADSAFE flag set, this can lead to data races (and
therefore undefined behaviour) even though all threads write the same
values. This commit fixes this by using ff_thread_once() for the
initializations.

Reviewed-by: Michael Niedermayer 
Signed-off-by: Andreas Rheinhardt 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6a94afbd5bf4aa3ccab12f038e8bbae7ef3973c0
---

 libavcodec/snow.c | 18 +-
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 066efc5171..bb65a6f43f 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -21,6 +21,7 @@
 #include "libavutil/intmath.h"
 #include "libavutil/log.h"
 #include "libavutil/opt.h"
+#include "libavutil/thread.h"
 #include "avcodec.h"
 #include "me_cmp.h"
 #include "snow_dwt.h"
@@ -427,10 +428,19 @@ mca( 8, 0,8)
 mca( 0, 8,8)
 mca( 8, 8,8)
 
+static av_cold void snow_static_init(void)
+{
+for (int i = 0; i < MAX_REF_FRAMES; i++)
+for (int j = 0; j < MAX_REF_FRAMES; j++)
+ff_scale_mv_ref[i][j] = 256 * (i + 1) / (j + 1);
+init_qexp();
+}
+
 av_cold int ff_snow_common_init(AVCodecContext *avctx){
+static AVOnce init_static_once = AV_ONCE_INIT;
 SnowContext *s = avctx->priv_data;
 int width, height;
-int i, j;
+int i;
 
 s->avctx= avctx;
 s->max_ref_frames=1; //just make sure it's not an invalid value in case of 
no initial keyframe
@@ -480,8 +490,6 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){
 mcfh(0, 8)
 mcfh(8, 8)
 
-init_qexp();
-
 //dec += FFMAX(s->chroma_h_shift, s->chroma_v_shift);
 
 width= s->avctx->width;
@@ -495,8 +503,6 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){
 return AVERROR(ENOMEM);
 
 for(i=0; ilast_picture[i] = av_frame_alloc();
 if (!s->last_picture[i])
 return AVERROR(ENOMEM);
@@ -507,6 +513,8 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){
 if (!s->mconly_picture || !s->current_picture)
 return AVERROR(ENOMEM);
 
+ff_thread_once(&init_static_once, snow_static_init);
+
 return 0;
 }
 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec/cinepakenc: Mark encoder as init-threadsafe

2020-12-09 Thread Andreas Rheinhardt
ffmpeg | branch: master | Andreas Rheinhardt  | 
Mon Nov 30 14:44:49 2020 +0100| [f79927990db8c01dfafe26aa98aee3bea87aa9fc] | 
committer: Andreas Rheinhardt

avcodec/cinepakenc: Mark encoder as init-threadsafe

Reviewed-by: Tomas Härdin 
Signed-off-by: Andreas Rheinhardt 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f79927990db8c01dfafe26aa98aee3bea87aa9fc
---

 libavcodec/cinepakenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/cinepakenc.c b/libavcodec/cinepakenc.c
index cc125ed39e..9eaa972a9c 100644
--- a/libavcodec/cinepakenc.c
+++ b/libavcodec/cinepakenc.c
@@ -1189,5 +1189,5 @@ AVCodec ff_cinepak_encoder = {
 .close  = cinepak_encode_end,
 .pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_RGB24, 
AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE },
 .priv_class = &cinepak_class,
-.caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
 };

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".