[FFmpeg-devel] [PATCH] avfilter/drawutils: change to support native endian only
Michael Niedermayer
michael at niedermayer.cc
Fri Jul 8 22:27:32 EEST 2016
On Fri, Jul 01, 2016 at 01:23:48AM +0700, Muhammad Faiz wrote:
> On Thu, Jun 30, 2016 at 2:23 PM, Paul B Mahol <onemda at gmail.com> wrote:
> > On 6/29/16, Muhammad Faiz <mfcc64 at gmail.com> wrote:
> >> On Tue, Jun 28, 2016 at 5:45 PM, Michael Niedermayer
> >> <michael at niedermayer.cc> wrote:
> >>> On Tue, Jun 28, 2016 at 04:07:31PM +0700, Muhammad Faiz wrote:
> >>>> On Mon, Jun 27, 2016 at 6:02 PM, Michael Niedermayer
> >>>> <michael at niedermayer.cc> wrote:
> >>>> > On Mon, Jun 27, 2016 at 04:46:16PM +0700, Muhammad Faiz wrote:
> >>>> >> previously support little endian only because of fate problem
> >>>> >> generally native endian code is faster
> >>>> >>
> >>>> >> require 'tests/fate-run: support both le/be formats on pixfmts'
> >>>> >> need someone tests it on BE machine
> >>>> >>
> >>>> >> Signed-off-by: Muhammad Faiz <mfcc64 at gmail.com>
> >>>> >> ---
> >>>> >> libavfilter/drawutils.c | 43 ++++++++++++++++----------
> >>>> >> libavfilter/vf_lut.c | 81
> >>>> >> +++++++++++++++++++++----------------------------
> >>>> >> 2 files changed, 62 insertions(+), 62 deletions(-)
> >>>> >
> >>>> > breaks fate on big endian (mips)
> >>>> >
> >>>> > Test filter-pixfmts-pad failed. Look at
> >>>> > tests/data/fate/filter-pixfmts-pad.err for details.
> >>>> > make: *** [fate-filter-pixfmts-pad] Error 1
> >>>> > make: *** Waiting for unfinished jobs....
> >>>> > --- tests/ref/fate/filter-pixfmts-lut 2016-06-26 18:25:32.960458744
> >>>> > +0200
> >>>> > +++ tests/data/fate/filter-pixfmts-lut 2016-06-27 12:48:19.049852682
> >>>> > +0200
> >>>> > @@ -3,38 +3,38 @@
> >>>> > bgr24 fa43e3b2abfde8d9e60e157a9acc553d
> >>>> > bgra 4e2e689897ee7a8e42b16234597bab35
> >>>> > rgb24 a356171207723a580e7d277078072005
> >>>> > -rgb48le 5c7dd8575836d18c91e09f1915cf9aa9
> >>>> > +rgb48be d9a7669cab9159c7f28dc92387fab304
> >>>> > rgba 7bc854c2698b78af3e9159a19c2d9d21
> >>>> > -rgba64le 3a087ecab583d1930220592731f282b4
> >>>> > +rgba64be 612546f91b274bcc8c314386ba410c3d
> >>>> > yuv410p 51b39a0e33f108e652457a26667319ea
> >>>> > yuv411p 9204c5af92aef4922a05f58c1f6c095e
> >>>> > yuv420p 7c43bb0cae8dee633375c89295598508
> >>>> > -yuv420p10le 1352712dd31cce78bd5441294004cf85
> >>>> > -yuv420p12le c66f82da9fda458ba3abda057c58e591
> >>>> > -yuv420p14le e45cb5e2a75bf6143da0b55004767f78
> >>>> > -yuv420p16le eff54782c51770edfd6b84c958ac7120
> >>>> > -yuv420p9le 4a6776b3379f12ad45caee8072a13695
> >>>> > +yuv420p10be 4ef2f621258d77ef242e37e39b636f7c
> >>>> > +yuv420p12be bfb9f581c3749fd102f5bbd2065ad67a
> >>>> > +yuv420p14be 999d29d713e52f61a5eea1765c57e660
> >>>> > +yuv420p16be a8ff20f5a96ba42fa5968bda64e160bd
> >>>> > +yuv420p9be 862db8509f9cbaa7fd542851047a50fc
> >>>> > yuv422p 67df35da0c35e54882492b2365438254
> >>>> > -yuv422p10le 0158371a800294015def7f0ef66c78ea
> >>>> > -yuv422p12le bc49d3863ffb89658a17bf8c4fe773b0
> >>>> > -yuv422p14le b55cb791d286b0b3391fe7481785e5b3
> >>>> > -yuv422p16le fc3b2ba889ffaf1633000fc774307c33
> >>>> > -yuv422p9le 6e2a42ae36ed5e8b5112987639728af5
> >>>> > +yuv422p10be 384f3f8757ecdcb87e0f5225f92ee244
> >>>> > +yuv422p12be b6bac207d387098f22b2f3613d668d30
> >>>> > +yuv422p14be 48b83f5ecc7931cbab467801934bbf87
> >>>> > +yuv422p16be be0db4de9820408fd6770cdcea0535f9
> >>>> > +yuv422p9be f2486947acf0e98977cbec23c79871b3
> >>>> > yuv440p 5e41adcfc27be4369afd217b61b2ffe3
> >>>> > -yuv440p10le 8b49714bba268fb4a79b5a84223ad17a
> >>>> > -yuv440p12le 15ab4f453238bd9c13b18af81e22f060
> >>>> > +yuv440p10be cbcbbbdbe4a1dc041bee11b757be89d7
> >>>> > +yuv440p12be 7603fda62bd9cb383e7d82af0bf5fefd
> >>>> > yuv444p a2b58590aef88db2c1f14a1a3a3b0359
> >>>> > -yuv444p10le c076c20fc808f95b34adb88aca442f48
> >>>> > -yuv444p12le af8d4dd88169d5cffc2f3fce6333a94c
> >>>> > -yuv444p14le 93367133e25d088d4535199ed1f1ed58
> >>>> > -yuv444p16le 800940feec14365ccd9b4863e38f6991
> >>>> > -yuv444p9le c120044350852c4cd16a302dd1ceda79
> >>>> > +yuv444p10be a3481fe5e95190749f2ac3288ad686c3
> >>>> > +yuv444p12be 118c1d1f8270cebec8554972adde05da
> >>>> > +yuv444p14be 6671cff7f64e9f9bc1dceb3d31a69c00
> >>>> > +yuv444p16be 27effaa1096361ffb6b69d1d0e8a35d6
> >>>> > +yuv444p9be dcd44e88c9424d5666ac950f4e3e19e4
> >>>> > yuva420p 518a380bf1af60ef2ecf4754eec088e9
> >>>> > -yuva420p16le 72ad4fa535b007d122666ce103ef9c8b
> >>>> > +yuva420p16be aaa6db0ce07716dab15782dfbad5aca9
> >>>> > yuva422p 7110ac2e37377b05b6fc5ad967dfabb5
> >>>> > -yuva422p16le e2867210660ada5784a60b4339ac52c0
> >>>> > +yuva422p16be f5c06d197a1096314553b1d89f43d96f
> >>>> > yuva444p 642f3958f141dece9e99407945e2ef43
> >>>> > -yuva444p16le ab04ba8acbe38085b0df650d82065eb0
> >>>> > +yuva444p16be 5337a7c64bd26a675d4a2bb8881e6fcb
> >>>> > yuvj420p 65bc88887c7f06a6221155ca7f9cfca4
> >>>> > yuvj422p ff5baffefc8ffe4547653092fd7da200
> >>>> > yuvj440p ef3f27270e60ac06582e3ac7c2f3e6fa
> >>>>
> >>>> Did you apply 'tests/fate-run: support both le/be formats on pixfmts'
> >>>> first?
> >>>
> >>> i forgot the 2nd patch
> >>> but it doesnt work with it either:
> >>>
> >>> --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/filter-pixfmts-pad
> >>> 2016-06-28 11:55:47.679606503 +0200
> >>> +++ tests/data/fate/filter-pixfmts-pad 2016-06-28 12:11:34.867626458
> >>> +0200
> >>> @@ -7,86 +7,22 @@
> >>> bgra 929aac15e848038e367c250037575f9f
> >>> gbrap 6712984b4a068ffa534f0cb35b2adc6f
> >>> gbrp 3c94d39256db2409015df913fd330a90
> >>> -gbrp10be c2162c0bbb705fbddfa614c5942d02ed
> >>> -gbrp10le f206db2a32ad484a59cf3e596bdc2866
> >>> -gbrp12be 3e7b2c39d897e1d4b92d29dbfa910d28
> >>> -gbrp12le be6463331985e2c8ed7bd910093ca4a2
> >>> -gbrp14be fc28fffc7140319d3375bd931f771b77
> >>> -gbrp14le 9ae804cf217bec0a737c36c20573cbe5
> >>> -gbrp9be 04af1d3122b4a4be680ce7ca0f421613
> >>> -gbrp9le 9a86dab5661c213ce2b7e00ae48b4d1f
> >>> gray ddc663a0491df3959d9c5795dceaa72e
> >>> -gray16be 0feca50dda3c94af547cec1e825b3f59
> >>> -gray16le 468bda6155bdc7a7a20c34d6e599fd16
> >>> nv12 381574979cb04be10c9168540310afad
> >>> nv21 0fdeb2cdd56cf5a7147dc273456fa217
> >>> rgb0 78d500c8361ab6423a4826a00268c908
> >>> rgb24 17f9e2e0c609009acaf2175c42d4a2a5
> >>> rgba b157c90191463d34fb3ce77b36c96386
> >>> -xyz12be 637d73fbe088c9499a2dda5588fdc4fd
> >>> -xyz12le 85abf80b77a9236a76ba0b00fcbdea2d
> >>> ya8 5fc0f471207ddf7aa01b07027d56b672
> >>> yuv410p cb871dcc1e84a7ef1d21f9237b88cf6e
> >>> yuv411p aec2c1740de9a62db0d41f4dda9121b0
> >>> yuv420p 4398e408fc35436ce4b20468946f58b6
> >>> -yuv420p10be 27c51eb01a77cdc303c08508438c5781
> >>> -yuv420p10le 74518a7d68457c54da3300e80c683e9c
> >>> -yuv420p12be 9d4d07b459c616f98395b86da074f21b
> >>> -yuv420p12le 32086c64c814315aa9253580708a192e
> >>> -yuv420p14be fc01de817152c5c02d3921d5627f23ff
> >>> -yuv420p14le 265e9fefb8b92f3cae678eb3cf4e00b4
> >>> -yuv420p16be 2c2006abff6eebd17139607d4858231b
> >>> -yuv420p16le 1ca89e47164d5f2481e39d4ac6eab2ed
> >>> -yuv420p9be 85330b2d6f221c24bd23094e784b0c2f
> >>> -yuv420p9le 59f0209084d1d1dd2861e058d1df63f4
> >>> yuv422p e43d68568d9f782908ba56bf1e09d5d5
> >>> -yuv422p10be 9e8739e5e0e0fc9579850eddfdcd8920
> >>> -yuv422p10le 18667cf7f87d8ffe1c4cc3db2100c559
> >>> -yuv422p12be 34645d3da9c725d25e24a801677d94f9
> >>> -yuv422p12le 71e32220fa1bbdcac95fb57ba0dbd4f0
> >>> -yuv422p14be 50c6ef2ad37a16d8f2ad5b4497cb43b3
> >>> -yuv422p14le a0064be4d29079a811e5a315341da09a
> >>> -yuv422p16be d32ef961672b50a9ff929daedab72645
> >>> -yuv422p16le 836057e9999c763697c66c21869492b8
> >>> -yuv422p9be 4070c63b2ba21b5c022c395d5992e470
> >>> -yuv422p9le 3213bed797e7b4cefa4f174dc33bf246
> >>> yuv440p a7e34de74c96b0224fe1381ec1db2ba7
> >>> -yuv440p10be f87f831c7c8511f3f31d72ab4199b034
> >>> -yuv440p10le f91a481e27be7ea4a38a878e5e4330a3
> >>> -yuv440p12be 02ca4324f64c8db5a005fccc02372621
> >>> -yuv440p12le 0e9953a09ac09fe5f1523b350cf7cb72
> >>> yuv444p 6bfd89286dc36f2789b77d747ed8fa22
> >>> -yuv444p10be 842b0a41df79a224fb204be5934f5c8a
> >>> -yuv444p10le b10afb5fda970dbce8aac5aab981a8cb
> >>> -yuv444p12be 23d3a9c6c36aa10c0917e0813b135155
> >>> -yuv444p12le 8f1b4b0f91d309fdaaec8a1ba6c7107f
> >>> -yuv444p14be 0987bcd77bebe8043e8d7cea5d016ed1
> >>> -yuv444p14le 2a87a84fa01237de9c08dd7e9ffbf78d
> >>> -yuv444p16be 7e080bfed69b94ec66f996ae56249408
> >>> -yuv444p16le 28508867fe7470c3539f8a84e8fb8271
> >>> -yuv444p9be f410a76dd84f5cf4837b69638791c319
> >>> -yuv444p9le 99d39ef897c6037d6c7aa6e7a0398f84
> >>> yuva420p 842c27169ecdcf6de79f2b787367b51c
> >>> -yuva420p10be 7e352ec163ecb109b4b69197ba9206b0
> >>> -yuva420p10le 336fcb42c5b665c2028661e73325b359
> >>> -yuva420p16be fbdbe6d3632469ee4168eab2b125f278
> >>> -yuva420p16le ff45de790e7bdd3c25d8aad51289aba9
> >>> -yuva420p9be 752ad41b57437a8bbf7afaff16583bd8
> >>> -yuva420p9le 8ef1f3b3e01b5ce222e4caeec3dec396
> >>> yuva422p 91dcecc4bfdff1f0db9ef8b9b5b9ac2a
> >>> -yuva422p10be 60d5f623492b0272b6991b65fb6d0d07
> >>> -yuva422p10le 1ba292c74c8646fd077a6116142b1bc8
> >>> -yuva422p16be cdf2eda328edeb647c4b9031d13d2623
> >>> -yuva422p16le 383226550fe9c93d6e8bf0d45d1423d1
> >>> -yuva422p9be 10028ca99a2c36f2c6a7e451a05b79c7
> >>> -yuva422p9le 0fb76788c905c6d448143aa3c5eae116
> >>> yuva444p fb60941a57596b277417a3c7c00aa194
> >>> -yuva444p10be d1ba797e579c80c8861bc9c4346cc365
> >>> -yuva444p10le 251ea4ead8300d752eb355a08cbb0352
> >>> -yuva444p16be 3b78740c00b98d11699755685964e105
> >>> -yuva444p16le 5b65287e1862d2d9f1ad2cfdcde94661
> >>> -yuva444p9be ffa19028be2f9418e0da02a62da77bc6
> >>> -yuva444p9le e6946c10b94c271e7ea24b3bcff314e1
> >>> yuvj411p ca967e68759a4956729dd366adc7e7fa
> >>> yuvj420p c00611cd5f1558047d579d8a7d30e381
> >>> yuvj422p b3acdf07147a7598836065836ad8420b
> >>> Test filter-pixfmts-pad failed. Look at
> >>> tests/data/fate/filter-pixfmts-pad.err for details.
> >>> make: *** [fate-filter-pixfmts-pad] Error 1
> >>> make: *** Waiting for unfinished jobs....
> >>> --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/filter-pixfmts-lut
> >>> 2016-06-28 11:55:47.663606503 +0200
> >>> +++ tests/data/fate/filter-pixfmts-lut 2016-06-28 12:11:46.207626696
> >>> +0200
> >>> @@ -11,43 +11,43 @@
> >>> yuv410p 51b39a0e33f108e652457a26667319ea
> >>> yuv411p 9204c5af92aef4922a05f58c1f6c095e
> >>> yuv420p 7c43bb0cae8dee633375c89295598508
> >>> -yuv420p10be a6663932e075bcfab96148082ab9ab7c
> >>> -yuv420p10le 1352712dd31cce78bd5441294004cf85
> >>> -yuv420p12be 7e51fa387cac0df48ec51bdfa538a53d
> >>> -yuv420p12le c66f82da9fda458ba3abda057c58e591
> >>> -yuv420p14be 99498c69bb247fadc973b6e912f32dc7
> >>> -yuv420p14le e45cb5e2a75bf6143da0b55004767f78
> >>> +yuv420p10be 4ef2f621258d77ef242e37e39b636f7c
> >>> +yuv420p10le 7231299a1a754be60e69a4c5000d234e
> >>> +yuv420p12be bfb9f581c3749fd102f5bbd2065ad67a
> >>> +yuv420p12le 65d56820d89366067343b9e1beed44a5
> >>> +yuv420p14be 999d29d713e52f61a5eea1765c57e660
> >>> +yuv420p14le b34b3b92f1bb5e884ca6da2b146a7c87
> >>> yuv420p16be a8ff20f5a96ba42fa5968bda64e160bd
> >>> yuv420p16le eff54782c51770edfd6b84c958ac7120
> >>> -yuv420p9be 84f752b682dcb02178653197bc29f2f8
> >>> -yuv420p9le 4a6776b3379f12ad45caee8072a13695
> >>> +yuv420p9be 862db8509f9cbaa7fd542851047a50fc
> >>> +yuv420p9le 4222f452681f95ad5bff50c8f310afca
> >>> yuv422p 67df35da0c35e54882492b2365438254
> >>> -yuv422p10be 5f6bbd95917512d650823040aebd44c0
> >>> -yuv422p10le 0158371a800294015def7f0ef66c78ea
> >>> -yuv422p12be 8fea3ed2bb16ef8052ab3dbc322b5bbe
> >>> -yuv422p12le bc49d3863ffb89658a17bf8c4fe773b0
> >>> -yuv422p14be 25ab2f40ab5b54f2d3f03ced389c1da7
> >>> -yuv422p14le b55cb791d286b0b3391fe7481785e5b3
> >>> +yuv422p10be 384f3f8757ecdcb87e0f5225f92ee244
> >>> +yuv422p10le 92719736199e67c98ff91c6d618ed7c1
> >>> +yuv422p12be b6bac207d387098f22b2f3613d668d30
> >>> +yuv422p12le fd62172b9451514348ae3301b45d3132
> >>> +yuv422p14be 48b83f5ecc7931cbab467801934bbf87
> >>> +yuv422p14le c70cc978c2bbe9795583ee3bac00373a
> >>> yuv422p16be be0db4de9820408fd6770cdcea0535f9
> >>> yuv422p16le fc3b2ba889ffaf1633000fc774307c33
> >>> -yuv422p9be ba42020043dd407327882de068d2a1c1
> >>> -yuv422p9le 6e2a42ae36ed5e8b5112987639728af5
> >>> +yuv422p9be f2486947acf0e98977cbec23c79871b3
> >>> +yuv422p9le b15d99b9b569b31c67e8eb6cbb565204
> >>> yuv440p 5e41adcfc27be4369afd217b61b2ffe3
> >>> yuv440p10be cbcbbbdbe4a1dc041bee11b757be89d7
> >>> yuv440p10le 8b49714bba268fb4a79b5a84223ad17a
> >>> yuv440p12be 7603fda62bd9cb383e7d82af0bf5fefd
> >>> yuv440p12le 15ab4f453238bd9c13b18af81e22f060
> >>> yuv444p a2b58590aef88db2c1f14a1a3a3b0359
> >>> -yuv444p10be 3719f137bb7759e51a5116a6e3bf0066
> >>> -yuv444p10le c076c20fc808f95b34adb88aca442f48
> >>> -yuv444p12be bf93db19cf2708a6f671c73d8fe5e746
> >>> -yuv444p12le af8d4dd88169d5cffc2f3fce6333a94c
> >>> -yuv444p14be 47a825cf9f088abc744a66547e00f3a8
> >>> -yuv444p14le 93367133e25d088d4535199ed1f1ed58
> >>> +yuv444p10be a3481fe5e95190749f2ac3288ad686c3
> >>> +yuv444p10le dfe804ab0225502c93211ff24888882b
> >>> +yuv444p12be 118c1d1f8270cebec8554972adde05da
> >>> +yuv444p12le 350bc539cac56bfbbde11014462a1c51
> >>> +yuv444p14be 6671cff7f64e9f9bc1dceb3d31a69c00
> >>> +yuv444p14le 225886464573bb1179c61418dfe6bc92
> >>> yuv444p16be 27effaa1096361ffb6b69d1d0e8a35d6
> >>> yuv444p16le 800940feec14365ccd9b4863e38f6991
> >>> -yuv444p9be 55ea2c5d5d819ab983e4770d4ddf20a2
> >>> -yuv444p9le c120044350852c4cd16a302dd1ceda79
> >>> +yuv444p9be dcd44e88c9424d5666ac950f4e3e19e4
> >>> +yuv444p9le 2627db43507e69cb0c8c2a530e5f5d0f
> >>> yuva420p 518a380bf1af60ef2ecf4754eec088e9
> >>> yuva420p16be aaa6db0ce07716dab15782dfbad5aca9
> >>> yuva420p16le 72ad4fa535b007d122666ce103ef9c8b
> >>> Test filter-pixfmts-lut failed. Look at
> >>> tests/data/fate/filter-pixfmts-lut.err for details.
> >>
> >> filter-pixfmts-pad: all >8 bits failed, probably problem in drawutils.
> >> filter-pixfmts-lut: some >8 bits failed, (yuv444/yuv422/yuv420 9/10/12/14)
> >
> > If you can't fix this, I would prefer to post my patch for rotate filter.
>
> OK, I gave up. I can not guess what's wrong because lack of platform.
> I hope that someone will fix it.
you only need a build env for mips and qemu to test on
linux x86-64, thats how i test it too ...
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160708/ccd6a0bc/attachment.sig>
More information about the ffmpeg-devel
mailing list