Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-16 15:19:41 +0300
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-24 01:00:39 +0300
commit73f47846bd9bf62fed3b9d3f748b858ac7f0a674 (patch)
tree62fea0664fee82976257ca911b2944c68e09ce93 /libavcodec
parentad27326e2b51ba2566bd7b72bea8e8031c2bc4c5 (diff)
avcodec/msvideo1enc: Check all calls to avpriv_elbg_do()
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/msvideo1enc.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/libavcodec/msvideo1enc.c b/libavcodec/msvideo1enc.c
index d43013ba5f..79810ec8c3 100644
--- a/libavcodec/msvideo1enc.c
+++ b/libavcodec/msvideo1enc.c
@@ -118,8 +118,10 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
// try to find optimal value to fill whole 4x4 block
score = 0;
- avpriv_elbg_do(&c->elbg, c->block, 3, 16, c->avg,
- 1, 1, c->output, &c->rnd);
+ ret = avpriv_elbg_do(&c->elbg, c->block, 3, 16, c->avg,
+ 1, 1, c->output, &c->rnd);
+ if (ret < 0)
+ return ret;
if(c->avg[0] == 1) // red component = 1 will be written as skip code
c->avg[0] = 0;
for(j = 0; j < 4; j++){
@@ -138,8 +140,10 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
// search for optimal filling of 2-color block
score = 0;
- avpriv_elbg_do(&c->elbg, c->block, 3, 16, c->codebook,
- 2, 1, c->output, &c->rnd);
+ ret = avpriv_elbg_do(&c->elbg, c->block, 3, 16, c->codebook,
+ 2, 1, c->output, &c->rnd);
+ if (ret < 0)
+ return ret;
// last output value should be always 1, swap codebooks if needed
if(!c->output[15]){
for(i = 0; i < 3; i++)
@@ -164,9 +168,11 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
// search for optimal filling of 2-color 2x2 subblocks
score = 0;
for(i = 0; i < 4; i++){
- avpriv_elbg_do(&c->elbg, c->block2 + i * 4 * 3, 3, 4,
- c->codebook2 + i * 2 * 3, 2, 1,
- c->output2 + i*4, &c->rnd);
+ ret = avpriv_elbg_do(&c->elbg, c->block2 + i * 4 * 3, 3, 4,
+ c->codebook2 + i * 2 * 3, 2, 1,
+ c->output2 + i * 4, &c->rnd);
+ if (ret < 0)
+ return ret;
}
// last value should be always 1, swap codebooks if needed
if(!c->output2[15]){