mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 19:30:05 +00:00
avutil/opt: Fix setting int64 to its maximum
Found-by: Andreas Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
322568c079
commit
748ce9d702
@ -126,9 +126,13 @@ static int write_number(void *obj, const AVOption *o, void *dst, double num, int
|
||||
break;
|
||||
case AV_OPT_TYPE_DURATION:
|
||||
case AV_OPT_TYPE_CHANNEL_LAYOUT:
|
||||
case AV_OPT_TYPE_INT64:
|
||||
*(int64_t *)dst = llrint(num / den) * intnum;
|
||||
break;
|
||||
case AV_OPT_TYPE_INT64:{
|
||||
double d = num / den;
|
||||
if (intnum == 1 && d == (double)INT64_MAX) {
|
||||
*(int64_t *)dst = INT64_MAX;
|
||||
} else
|
||||
*(int64_t *)dst = llrint(d) * intnum;
|
||||
break;}
|
||||
case AV_OPT_TYPE_FLOAT:
|
||||
*(float *)dst = num * intnum / den;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user