[FFmpeg-devel] [PATCH] avfilter/drawutils: change to support native endian only
Muhammad Faiz
mfcc64 at gmail.com
Thu Jun 30 20:23:48 CEST 2016
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.
Thank's
More information about the ffmpeg-devel
mailing list