[FFmpeg-devel] [PATCH] Rewrite emu_edge functions to have separate src/dst_stride arguments.

Michael Niedermayer michaelni at gmx.at
Sun Sep 22 21:25:37 CEST 2013


On Fri, Sep 20, 2013 at 08:03:00AM -0400, Ronald S. Bultje wrote:
> From: "Ronald S. Bultje" <rsbultje at gmail.com>
> 
> This allows supporting files for which the image stride is smaller than
> the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file
> or a 16x16 VP8 file with -fflags +emu_edge.
> ---
>  libavcodec/cavs.c              |   7 +-
>  libavcodec/diracdec.c          |   3 +-
>  libavcodec/h264.c              |  10 +-
>  libavcodec/mpegvideo.c         |  17 +-
>  libavcodec/mpegvideo_enc.c     |   6 +-
>  libavcodec/mpegvideo_motion.c  |  74 ++--
>  libavcodec/rv34.c              |  15 +-
>  libavcodec/snow.c              |   4 +-
>  libavcodec/svq3.c              |   6 +-
>  libavcodec/vc1dec.c            |  47 +--
>  libavcodec/videodsp.h          |  20 +-
>  libavcodec/videodsp_template.c |  33 +-
>  libavcodec/vp3.c               |   5 +-
>  libavcodec/vp56.c              |   2 +-
>  libavcodec/vp8.c               |  38 +-
>  libavcodec/vp8.h               |   2 +-
>  libavcodec/wmv2.c              |  16 +-
>  libavcodec/x86/dsputil_mmx.c   |   7 +-
>  libavcodec/x86/videodsp.asm    | 840 ++++++++++++++++-------------------------
>  libavcodec/x86/videodsp_init.c | 182 +++++++--
>  20 files changed, 658 insertions(+), 676 deletions(-)

fails fate on mips-qemu
--- ffmpeg/tests/ref/fate/vp8-test-vector-004  2013-09-22 19:53:56.442461807 +0200
+++ tests/data/fate/vp8-test-vector-004 2013-09-22 21:22:55.634574289 +0200
@@ -1,30 +1,30 @@
 #tb 0: 1/30
 0,          0,          0,        1,    38016, 83c78b5db579710f61f9354d5c51e8c8
-0,          1,          1,        1,    38016, d173eb8a8211a05672b43206609c9034
-0,          2,          2,        1,    38016, 204e3e91613d647d30244c00fa2b9563
-0,          3,          3,        1,    38016, 3cc1a395bd10a49b006741778285925b
-0,          4,          4,        1,    38016, 024548b00dea4f104d6b9a728be05786
-0,          5,          5,        1,    38016, 01401e9418f2e00ab4ffdb3296d40ffa
-0,          6,          6,        1,    38016, 35d8b3c1ef9cb864315b7502b93629b2
-0,          7,          7,        1,    38016, aeb44f0fe4c2eecb26c0bd657d65b00b
-0,          8,          8,        1,    38016, 42e40bed012bacf59f0c41d4cfd3e52a
-0,          9,          9,        1,    38016, 9796191fa2bd4572123ea043396e8485
-0,         10,         10,        1,    38016, 2d6d68b902129f3c3f1730e73b98f9c9
-0,         11,         11,        1,    38016, ba348b89248b92d0b86d794dc413e6a0
-0,         12,         12,        1,    38016, 5ce49bf164033d49bef1b23120d202d6
-0,         13,         13,        1,    38016, 54837a426c63a9c40ef8750232615dad
-0,         14,         14,        1,    38016, 350bcddf9a34f5003f6f655aaa020a00
-0,         15,         15,        1,    38016, babb82b1e2ca9315816b6f43b8ef84a0
-0,         16,         16,        1,    38016, c770825785c51fa374fd5bb08ff9f536
-0,         17,         17,        1,    38016, e9e0f92e416fcd27ca2e93a0804ac938
-0,         18,         18,        1,    38016, e0f2b89423da549eaa8b2b89f956f0f8
-0,         19,         19,        1,    38016, 9926b7e13b51115735eb0af8bb5e4ea1
-0,         20,         20,        1,    38016, d6b30a058b854c54068ebfc2b05f8fa0
-0,         21,         21,        1,    38016, a03048df79e41ada8a3ecc15a85e3f94
-0,         22,         22,        1,    38016, 34bef9af0633a43434841fd5189c161c
-0,         23,         23,        1,    38016, 219b447552b1ee409c1b9b56176d36bf
-0,         24,         24,        1,    38016, 95ea99459eaebc2f7233feeaf0549224
-0,         25,         25,        1,    38016, 34e08ce4067ca67ee9014cf628b6bb1c
-0,         26,         26,        1,    38016, 066c09a20d11b9dc3fa6972fd7f242c4
-0,         27,         27,        1,    38016, aed02c1951070ae5febea21ad54add55
-0,         28,         28,        1,    38016, f5a0fde2d818c4aaabd29b069ced6aea
+0,          1,          1,        1,    38016, 0737ccaa02cddc04b66722df93ca4616
+0,          2,          2,        1,    38016, fad6fd2bcd25425bce57973b0c4a708b
+0,          3,          3,        1,    38016, 1a2a70bab1541e8b456115535da268d1
+0,          4,          4,        1,    38016, 1063c152c33f3d1dd0cce188bbe1c013
+0,          5,          5,        1,    38016, a801f2505b4aa629628572be87c361a3
+0,          6,          6,        1,    38016, f388d20468721e8980879d656fc32cca
+0,          7,          7,        1,    38016, e92053fd7c5a379a2a3a1b9598d25ce1
+0,          8,          8,        1,    38016, 44f9be900ad22a0d476397847ed000ba
+0,          9,          9,        1,    38016, 8e650b33face5195928d30eaa5da0f46
+0,         10,         10,        1,    38016, 6b1c8252db5c038a847505b0871bddc4
+0,         11,         11,        1,    38016, 3a96324eceb7d1d56b25dfed16466872
+0,         12,         12,        1,    38016, 56def536d7c4af4799927aa6ae3e3e01
+0,         13,         13,        1,    38016, 5615e5d3a03eca29a4da66d5b30195eb
+0,         14,         14,        1,    38016, 1ef18c7dda9979f632e39e3616d52dc4
+0,         15,         15,        1,    38016, e57dec3e4dae00ba07238dba1d36b828
+0,         16,         16,        1,    38016, 32e0abbdf899b12c92f1204befeba5ee
+0,         17,         17,        1,    38016, a4f9f933a98c30e2e89abc7a41409064
+0,         18,         18,        1,    38016, ef7220edebbdb2d75b599a5aca0cf29a
+0,         19,         19,        1,    38016, 8762a7ed87a165713b2439dd0adfb230
+0,         20,         20,        1,    38016, 936e0357431219240c6b82d8536998de
+0,         21,         21,        1,    38016, 5742dce37a7fc3f5b3050e1731dbe036
+0,         22,         22,        1,    38016, e6653828ba022499e76b809188d95568
+0,         23,         23,        1,    38016, 2198f2ad2bb42a4dae5147748a98ae4a
+0,         24,         24,        1,    38016, cc1d9b20a00173765a9bd7f1ffa84aff
+0,         25,         25,        1,    38016, 2457426ff408595ceb4d123278043b70
+0,         26,         26,        1,    38016, 45d6c44a8055cfb36487351fa410bdd4
+0,         27,         27,        1,    38016, 1591f7de339c1409d767697132451bf7
+0,         28,         28,        1,    38016, b87713e195d923ed32874453eb3754d0
Test vp8-test-vector-004 failed. Look at tests/data/fate/vp8-test-vector-004.err for details.
make: *** [fate-vp8-test-vector-004] Error 1
make: *** Waiting for unfinished jobs....
--- ffmpeg/tests/ref/fate/vp8-test-vector-003  2013-09-22 19:53:56.442461807 +0200
+++ tests/data/fate/vp8-test-vector-003 2013-09-22 21:22:55.666574290 +0200
@@ -1,50 +1,50 @@
 #tb 0: 1/24
 0,          0,          0,        1,    38016, 96e6ce168b5ef377053e86ab5484e7f9
-0,          1,          1,        1,    38016, 10fd750292d8522ab7ee577043604789
+0,          1,          1,        1,    38016, 6892fca9e4aaaadfc0ab1c062e6eab0a
 0,          2,          2,        1,    38016, e040995173dc5c85abbbe38f6823ff9a
-0,          3,          3,        1,    38016, 5aa18f4fbd8b5b887d74f84cc92075dc
-0,          4,          4,        1,    38016, f0dc7f520e88b94e5cb924d804b0472a
-0,          5,          5,        1,    38016, 2375955dce3bb0a824779a800cd1555b
-0,          6,          6,        1,    38016, 3e96a0e477de39530e1950cff284a854
-0,          7,          7,        1,    38016, 6cd40fa8a89221f2b990bd8af2a9ee14
-0,          8,          8,        1,    38016, 0b929243ceeffce836279e2aa84647cd
-0,          9,          9,        1,    38016, 1e95f0ad25fe033076b57c3852bb3550
-0,         10,         10,        1,    38016, 81aa93a3f9c56d2aa4b8285d3507e6b4
-0,         11,         11,        1,    38016, cf9947a302dec306d7f487cf3a2731b0
-0,         12,         12,        1,    38016, 3b9ca47752db95a049678da07974b476
-0,         13,         13,        1,    38016, aa6788405dc47dd44867fca6c95ba3d9
-0,         14,         14,        1,    38016, 276d1c62b908c081c7bbb78f943b0de1
-0,         15,         15,        1,    38016, eb006b6218e457fd794e9b3a5dfbf638
-0,         16,         16,        1,    38016, 9dd5312833e770286c5aa5436a00376e
-0,         17,         17,        1,    38016, 7899278e66aa255ce5bf69a6e1137d0f
-0,         18,         18,        1,    38016, 0ac7d062ea7550fa0717723b1272abc2
-0,         19,         19,        1,    38016, d8f1bb881a46ecafcbbe457a004a71f1
-0,         20,         20,        1,    38016, cc3a04b98159189a74b5241df540d8fb
-0,         21,         21,        1,    38016, 4e29eb2c8c465ae9ffcfa28ec0b3694b
-0,         22,         22,        1,    38016, 608fb6ba526e6aa4ad1c0290aedaa69d
-0,         23,         23,        1,    38016, 4acc6a73547be6310b9a275436c55805
-0,         24,         24,        1,    38016, 482cf409b86242d30f3a78a6c85364df
-0,         25,         25,        1,    38016, a22cb76770f112eb1169218cc87c1e4f
-0,         26,         26,        1,    38016, e74675b051ff05e178a9a24893721d99
-0,         27,         27,        1,    38016, ee5061bff62c8c8603b7bc2bb2bb29e8
-0,         28,         28,        1,    38016, a3c0ab11f338bd488c69f2b62e1e5a74
-0,         29,         29,        1,    38016, 9f6b7e30e0ed4e272393b9a9957752e1
-0,         30,         30,        1,    38016, 9cce9f2ffff1766d05bda04e46eff997
-0,         31,         31,        1,    38016, 5105a2ba923bc6f21ea3d32ab1bc7bf8
-0,         32,         32,        1,    38016, 957d619a1001e2b5e52db166b66b7f50
-0,         33,         33,        1,    38016, fdb4e71cddeec8a321d9c8d4ffc506ce
-0,         34,         34,        1,    38016, 9ee646940fb8ac2312d29e9f1c3b6d40
-0,         35,         35,        1,    38016, a110e81d2105beae81cd36b15bc5ac2f
-0,         36,         36,        1,    38016, 804b6d8fc99fadb9c6bfdae3becee6b5
-0,         37,         37,        1,    38016, e217627bbaeebf30456e38aeb1f0746b
-0,         38,         38,        1,    38016, 56468a2c548dd3085b4bce88c4a1e41d
-0,         39,         39,        1,    38016, ef170e7f21e2b262525b43d6b25dec4c
-0,         40,         40,        1,    38016, 3acc3c47def8a0fa0561eaacaf9e41a1
-0,         41,         41,        1,    38016, 0c3e2187f13e4504fb4b246706bba83c
-0,         42,         42,        1,    38016, 397326a22e6e49487309c39d64037df8
-0,         43,         43,        1,    38016, 95236c1319b6f1f692b3998547811ee7
-0,         44,         44,        1,    38016, 5aff1957504884abf74d6fb74b74b032
-0,         45,         45,        1,    38016, 6de06343435a8926a746037cab5f633c
-0,         46,         46,        1,    38016, 3de68e05ddf2c60ee9110048ceefeb6a
-0,         47,         47,        1,    38016, e637fef689edad6ffd6eeb4a29004bf7
-0,         48,         48,        1,    38016, bb809114af8df5cb4ed82d3a1d11a673
+0,          3,          3,        1,    38016, af06f5f2ce04d0ee681107f380f47f6c
+0,          4,          4,        1,    38016, 6e3bf7c49ed2a4146af5d379386c9146
+0,          5,          5,        1,    38016, fb36116925fe33f2405aba283f96adf5
+0,          6,          6,        1,    38016, fbf4567a8d759ed32632422c2d5c4f05
+0,          7,          7,        1,    38016, 2f674140f78de06a5c9bf924e1d192e3
+0,          8,          8,        1,    38016, 84c38a2830fd2281ca41749945e0080f
+0,          9,          9,        1,    38016, ebb42365cd1f60ba41fa8ad2fab1e28f
+0,         10,         10,        1,    38016, 103c3b7f47469509a6aa47affb3af380
+0,         11,         11,        1,    38016, d4f1bcf0e68e7861d1474acb609971e5
+0,         12,         12,        1,    38016, d55118d5f5d8b16f80a37fa5228169a5
+0,         13,         13,        1,    38016, da13167cd316a2cf0427d47f44a9e8d1
+0,         14,         14,        1,    38016, 6dd8ad4e0dea8f313e00a083be415a51
+0,         15,         15,        1,    38016, 571c105f8e039d3b6bd2fd64c9913c92
+0,         16,         16,        1,    38016, 660c5fbea1451594d3f0e739cf3f629d
+0,         17,         17,        1,    38016, 58318afdeb28e1efa1d63e9df218c558
+0,         18,         18,        1,    38016, 096f6ddbb21987d170abfdd03d6622ac
+0,         19,         19,        1,    38016, e71caabf4739076e52c38e30fa3a90fc
+0,         20,         20,        1,    38016, 4e756646702232cfd20acfc98a75ec1c
+0,         21,         21,        1,    38016, 450a2b6e8c58b69b36fabe96242dab1f
+0,         22,         22,        1,    38016, 492b0de38c5a5f1f8e0c86450ee98a5c
+0,         23,         23,        1,    38016, c8e223cd2f48a0f1770494446e067cef
+0,         24,         24,        1,    38016, e72beecd8fa4df8dc3edfb86463230c4
+0,         25,         25,        1,    38016, cb8bd2b23116199a01174cde7bef1f15
+0,         26,         26,        1,    38016, 13055b221a3f52e65f53e70e705cdfcd
+0,         27,         27,        1,    38016, c15b25fa41f1b4ccd25024e991a38c3b
+0,         28,         28,        1,    38016, 1d228a12cdf17c9493dafd82812ef252
+0,         29,         29,        1,    38016, 5786baf6a7732ffcde98beaac041cc72
+0,         30,         30,        1,    38016, 75ece67f303c20f57e06f9ddd25f1f88
+0,         31,         31,        1,    38016, 5d24cd0d36226a83c421683ae7156181
+0,         32,         32,        1,    38016, 2a5155a3e188998b284bee140bf8731f
+0,         33,         33,        1,    38016, 66e2b15b140a045b2f488b59c1345c22
+0,         34,         34,        1,    38016, 619fbfb3c20fab0e2df1f40794ede9f1
+0,         35,         35,        1,    38016, 1f448d21316cb0ddd275a679c6edea33
+0,         36,         36,        1,    38016, 89c58c9e56017d8eb14c8419f02f9fa6
+0,         37,         37,        1,    38016, 600ac4188458a2751fc3f8f0944d135b
+0,         38,         38,        1,    38016, 05de3f268927313283abdce4df64fa60
+0,         39,         39,        1,    38016, afae180b235d62f5e7125f92166e8c68
+0,         40,         40,        1,    38016, f885148c1c8d7a0b6f2296bfcb7ef697
+0,         41,         41,        1,    38016, 6b5b891700420e215540e81f868fb4d9
+0,         42,         42,        1,    38016, 835dfd617971773f38137b1d89af1328
+0,         43,         43,        1,    38016, 633e45c1a7b6ce64e7375e186ef16431
+0,         44,         44,        1,    38016, 1264803b70354ba78d3f17f95b5fa524
+0,         45,         45,        1,    38016, 9c96eeab98664603f6dd0ec186a19669
+0,         46,         46,        1,    38016, 7ee65607cd97e8b3a5690289ce67e54b
+0,         47,         47,        1,    38016, f3085db47e100f96e0f2d5dbf4c8050c
+0,         48,         48,        1,    38016, 8713e3546f3f863e981a5d0e30dc9331
Test vp8-test-vector-003 failed. Look at tests/data/fate/vp8-test-vector-003.err for details.
make: *** [fate-vp8-test-vector-003] Error 1
--- ffmpeg/tests/ref/fate/vp8-test-vector-007  2013-09-22 19:53:56.442461807 +0200
+++ tests/data/fate/vp8-test-vector-007 2013-09-22 21:22:55.798574293 +0200
@@ -1,30 +1,30 @@
 #tb 0: 1/30
 0,          0,          0,        1,    38016, 98bd0af6928c144888a9c320270e9f0e
 0,          1,          1,        1,    38016, 9ff7cff703d58481acd233451388377c
-0,          2,          2,        1,    38016, e4cd8815527846cc782ea61ef5a46e49
-0,          3,          3,        1,    38016, db45275b87e194e5b505dd8c47da4f5d
-0,          4,          4,        1,    38016, c889d0f7bd34faf4df0e0a9eb9fc292a
-0,          5,          5,        1,    38016, 4dbfb1727baf9b75980e7fdd44ca0924
-0,          6,          6,        1,    38016, 5f217ac95c891dc81f7193fc5352d582
-0,          7,          7,        1,    38016, 11166789635e472f629510f551b11e2c
-0,          8,          8,        1,    38016, 336e6e42e67e1ccb7cda6298cb63f192
-0,          9,          9,        1,    38016, 02dbcff56882e304d5043d0f9b1ff9ff
-0,         10,         10,        1,    38016, fe033ea2c6b8b81a9328b470f8b0d6bb
-0,         11,         11,        1,    38016, 0e3330fe9a7c0439ff53f18f0d15eb48
-0,         12,         12,        1,    38016, 6c0d7e042a3bb32a128c4a405f59b426
-0,         13,         13,        1,    38016, 7e51afc33dbf4b77fc5735f5d9ec0248
-0,         14,         14,        1,    38016, a8381f193f34a5071b8eeba7f5cd1968
-0,         15,         15,        1,    38016, 501a7914b47ff85c24f0533ee98b9fe9
-0,         16,         16,        1,    38016, 00bd5fbb7e3b66514e6c77c3a5f118c3
-0,         17,         17,        1,    38016, 23e296d12a45909cadda252b9f4e67bd
-0,         18,         18,        1,    38016, fa0b5c69bacf766551bebdde0910eb9f
-0,         19,         19,        1,    38016, f5cc24d10d58ebc50503ca321db708cc
-0,         20,         20,        1,    38016, 3997eb9ff6231dee9e23752776113cd6
-0,         21,         21,        1,    38016, 68d4c9cd494d91dd70e7a94c7a4b9a12
-0,         22,         22,        1,    38016, 647b34f3aa7318adce68803ba00104fb
-0,         23,         23,        1,    38016, ffed5301bd6fddd1d24d12e6096cc8a6
-0,         24,         24,        1,    38016, 9511388180811c10d166886868d6e71c
-0,         25,         25,        1,    38016, a9b330803b8ccd91596591c0449423ab
-0,         26,         26,        1,    38016, 69b192888cda09dac658d5820183a2e8
-0,         27,         27,        1,    38016, 8886e5851e60a7474cc9e214ba6373ad
-0,         28,         28,        1,    38016, f59e354deedb129a90ab3922838b03d3
+0,          2,          2,        1,    38016, 2c8e2b7a859f9f05322d17ed4c678963
+0,          3,          3,        1,    38016, 51c4af4431ce3036e611e2954e24bbfe
+0,          4,          4,        1,    38016, 8604c06433ce9e650b9109f856a9ab55
+0,          5,          5,        1,    38016, da00f84963fc305a6a5b243d125802ec
+0,          6,          6,        1,    38016, 442280626b982c2033fd08a91e0abb1b
+0,          7,          7,        1,    38016, 769a4530b5473dc41ee20421c8898dd7
+0,          8,          8,        1,    38016, e004b2af40d7e7cec39d5b15fc5a4099
+0,          9,          9,        1,    38016, 779d5065d3f66daec5ac5282fd90a35c
+0,         10,         10,        1,    38016, 27c1a7654d3821c558c53cc840cd773f
+0,         11,         11,        1,    38016, f23b84939fc021b4ebb59222b351f2a6
+0,         12,         12,        1,    38016, 1538acadaccd5f08a1797572c0d63ded
+0,         13,         13,        1,    38016, 45d6761d9ccecd7411fc5b22f190fc51
+0,         14,         14,        1,    38016, fa9c6bb8714086aa02c8df946f7d5d54
+0,         15,         15,        1,    38016, b5b593d3ff59a961978fb7757c29c802
+0,         16,         16,        1,    38016, 10a909747b22bc1aacf3f95251eb9c76
+0,         17,         17,        1,    38016, 3f753097945d0cdbf624e5ab5589c76b
+0,         18,         18,        1,    38016, 9730443916aaa4614336204cc6db202b
+0,         19,         19,        1,    38016, 1bd62fee0eca499035f107ae30533b78
+0,         20,         20,        1,    38016, 4e3711cb221cc048da6cd417650cc86b
+0,         21,         21,        1,    38016, 090e5e4ddc6686e2cdc6e991a76f6a74
+0,         22,         22,        1,    38016, 36be049a2b9e9e067549b7c1f1f6153d
+0,         23,         23,        1,    38016, ff7749e7b92c32095ea406bf51516e68
+0,         24,         24,        1,    38016, c4db05e5882bb559fa26bd2b685d6a4d
+0,         25,         25,        1,    38016, f99ff4e1d3a5803020138ad2b6c2ea01
+0,         26,         26,        1,    38016, 128285242e5e96d903b22af081a28b43
+0,         27,         27,        1,    38016, 97f3a53a64dbb4fc3cbdbea1909a93d6
+0,         28,         28,        1,    38016, 2b100ae1bba0ee4e5248a8d2323e0cdd
Test vp8-test-vector-007 failed. Look at tests/data/fate/vp8-test-vector-007.err for details.
make: *** [fate-vp8-test-vector-007] Error 1

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When you are offended at any man's fault, turn to yourself and study your
own failings. Then you will forget your anger. -- Epictetus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130922/6669d868/attachment.asc>


More information about the ffmpeg-devel mailing list