From 4a13a2d4f797ac42498ab6374e2930b5c12a0c0c Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Fri, 23 May 2008 00:29:21 +0000
Subject: [PATCH] Fix + - bug with non flags.

Originally committed as revision 13243 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/opt.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/opt.c b/libavcodec/opt.c
index 94ac6221803..70f2f3d91f9 100644
--- a/libavcodec/opt.c
+++ b/libavcodec/opt.c
@@ -179,8 +179,10 @@ const AVOption *av_set_string(void *obj, const char *name, const char *val){
             if(o->type == FF_OPT_TYPE_FLAGS){
                 if     (cmd=='+') d= av_get_int(obj, name, NULL) | (int64_t)d;
                 else if(cmd=='-') d= av_get_int(obj, name, NULL) &~(int64_t)d;
-            }else if(cmd=='-')
-                d= -d;
+            }else{
+                if     (cmd=='+') d= av_get_double(obj, name, NULL) + d;
+                else if(cmd=='-') d= av_get_double(obj, name, NULL) - d;
+            }
 
             if (!av_set_number(obj, name, d, 1, 1))
                 return NULL;
-- 
GitLab