[FFmpeg-cvslog] avcodec/mips: [loongson] fix improper use of register constraints.
Shiyou Yin
git at videolan.org
Fri Sep 7 21:36:55 EEST 2018
ffmpeg | branch: master | Shiyou Yin <yinshiyou-hf at loongson.cn> | Thu Sep 6 16:10:52 2018 +0800| [9f60c58586805cc5249ea0446a9bb86eed8bc311] | committer: Michael Niedermayer
avcodec/mips: [loongson] fix improper use of register constraints.
Constraint "g" means compiler can store variable in memory or register.
When we use constraint "g" for a variable and this variable was operated by
instruction which only support register operands may lead "invalid operands" error.
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9f60c58586805cc5249ea0446a9bb86eed8bc311
---
libavcodec/mips/vc1dsp_mmi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/mips/vc1dsp_mmi.c b/libavcodec/mips/vc1dsp_mmi.c
index d78e0c3158..a439b40890 100644
--- a/libavcodec/mips/vc1dsp_mmi.c
+++ b/libavcodec/mips/vc1dsp_mmi.c
@@ -1857,8 +1857,8 @@ static void OPNAME ## vc1_shift2_mmi(uint8_t *dst, const uint8_t *src, \
: RESTRICT_ASM_LOW32 RESTRICT_ASM_ADDRT \
[src]"+r"(src), [dst]"+r"(dst) \
: [offset]"r"(offset), [offset_x2n]"r"(-2*offset), \
- [stride]"g"(stride), [rnd]"m"(rnd), \
- [stride1]"g"(stride-offset), \
+ [stride]"r"(stride), [rnd]"m"(rnd), \
+ [stride1]"r"(stride-offset), \
[ff_pw_9]"m"(ff_pw_9) \
: "$8", "$9", "$10", "$f0", "$f2", "$f4", "$f6", "$f8", "$f10", \
"$f12", "$f14", "$f16", "memory" \
@@ -2082,7 +2082,7 @@ OPNAME ## vc1_## NAME ## _mmi(uint8_t *dst, const uint8_t *src, \
[h]"+r"(h), \
[src]"+r"(src), [dst]"+r"(dst) \
: [offset_x1]"r"(offset), [offset_x2]"r"(2*offset), \
- [offset_x3]"r"(3*offset), [stride]"g"(stride), \
+ [offset_x3]"r"(3*offset), [stride]"r"(stride), \
[rnd]"m"(rnd), \
[ff_pw_53]"m"(ff_pw_53), [ff_pw_18]"m"(ff_pw_18), \
[ff_pw_3]"f"(ff_pw_3) \
More information about the ffmpeg-cvslog
mailing list