- 13 Apr, 2018 2 commits
-
-
Frank Barchard authored
Bug: libyuv:791 Test: g++ -Iinclude -I../libvpx/third_party/libwebm -I../libvpx/vp8 -I../libvpx/vp8 -I../libvpx/vp9 -I../libvpx/vp9 -Iinclude -m64 -DNDEBUG -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdisabled-optimization -Wfloat-conversion -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused -Wextra -I. -I"../libvpx" -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-unused-parameter -c -o third_party/libyuv/source/row_common.cc.o source/row_common.cc Change-Id: Ia006cb9212b671ae668cab5ec0b29759024a2c8a Reviewed-on: https://chromium-review.googlesource.com/1012462Reviewed-by: Johann Koenig <johannkoenig@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
Johann authored
When casting input for loads, include modifiers such as 'const' Clears build warnings: warning: cast from type 'const uint8_t* {aka const unsigned char*}' to type 'uint32_t* {aka unsigned int*}' casts away qualifiers [-Wcast-qual] Bug: webm:1509, libyuv:791 Test: g++ -Iinclude -I../libvpx/third_party/libwebm -I../libvpx/vp8 -I../libvpx/vp8 -I../libvpx/vp9 -I../libvpx/vp9 -Iinclude -m64 -DNDEBUG -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdisabled-optimization -Wfloat-conversion -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wuninitialized -Wunused -Wextra -I. -I"../libvpx" -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-unused-parameter -c -o third_party/libyuv/source/row_common.cc.o source/row_common.cc Change-Id: I1e3b2fe2a4ae9dd466c3db9cde0560aceb9d1398 Reviewed-on: https://chromium-review.googlesource.com/996393Reviewed-by: Frank Barchard <fbarchard@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 08 Mar, 2018 1 commit
-
-
Frank Barchard authored
AVX2 port of SSSE3 conversion to output 24 bit RGB Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: I14f7815522d1b790ecd2bb39d9a3441e803b694a Reviewed-on: https://chromium-review.googlesource.com/953303 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 07 Mar, 2018 1 commit
-
-
Frank Barchard authored
Use 2 step conversion for NV21ToRGB24 to leverage AVX2 low levels instead of C. Was C NV21ToRGB24_Opt (882 ms) Now SSSE3 NV21ToRGB24_Opt (218 ms) Bug: libyuv:778 Test: LibYUVConvertTest.NV21ToRGB24_Opt Change-Id: I58faf766bbec4cc595aab2e217f6c874dd4b4363 Reviewed-on: https://chromium-review.googlesource.com/951629 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 24 Feb, 2018 1 commit
-
-
Frank Barchard authored
Each byte is converted to float (0.0 to 255.0) and then multiplied by a scale parameter. Bug: None Test: arm 64 build passes. Change-Id: I04736798540b8d985f60abdf0388e24a209d075b Reviewed-on: https://chromium-review.googlesource.com/930226 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Ian Field <ianfield@google.com>
-
- 22 Feb, 2018 1 commit
-
-
Frank Barchard authored
32 bit thumb2 performance: NV12ToARGB_Opt (472 ms) NV21ToARGB_Opt (466 ms) NV12ToRGB24_Opt (457 ms) NV21ToRGB24_Opt (457 ms) NV12ToRGB565_Opt (501 ms) Bug: libyuv:778 Test: add new NV21ToRGB24 test Change-Id: I330585789835c79ee4b4da61d164716598268df3 Reviewed-on: https://chromium-review.googlesource.com/924646Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 16 Feb, 2018 1 commit
-
-
Frank Barchard authored
AR30ToARGB will vectorize if the output is masked together as an int instead of 4 byte stores. Performance is 2x faster Was AR30ToARGB_Opt (1585 ms) Now AR30ToARGB_Opt (746 ms) Bug: libyuv:777 Test:LibYUVConvertTest.AR30ToARGB_Opt Change-Id: Idd47ae599d5d125207bb53e618d6d7e784d4a37c Reviewed-on: https://chromium-review.googlesource.com/923169Reviewed-by: Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 15 Feb, 2018 1 commit
-
-
Frank Barchard authored
Bug: libyuv:777 Test: None Change-Id: I69b81f51c50d7739cfdb3cfb0c3d315c32bd63d2 Reviewed-on: https://chromium-review.googlesource.com/923042Reviewed-by: Miguel Casas <mcasas@chromium.org> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 29 Jan, 2018 2 commits
-
-
Frank Barchard authored
vpshufb is used to reverse R and B channels; Code is otherwise the same as ARGBToAR30. Bug: libyuv:751 Test: ABGRToAR30 unittest Change-Id: I30e02925f5c729e4496c5963ba4ba4af16633b3b Reviewed-on: https://chromium-review.googlesource.com/891807 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
Frank Barchard authored
ABGR is the more common format on Android. This CL converts 10 bit AR30, to standard 8 bit ABGR. Unoptimized but allows better testing and feature completeness. Bug: libyuv:751 Test: LibYUVConvertTest.AR30ToABGR_Opt Change-Id: I0c7e7273158be215129e0a1d355587ae15942299 Reviewed-on: https://chromium-review.googlesource.com/891694Reviewed-by: Miguel Casas <mcasas@chromium.org>
-
- 24 Jan, 2018 1 commit
-
-
Frank Barchard authored
TBR=braveyao@chromium.org Bug: libyuv:774 Test: git cl lint Change-Id: I51cf8107a8db17fbc9952d610f3e4d7aac5aa743 Reviewed-on: https://chromium-review.googlesource.com/882217Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
- 23 Jan, 2018 3 commits
-
-
Frank Barchard authored
Append _t to all sized types. uint64 becomes uint64_t etc Bug: libyuv:774 Test: try bots build on all platforms Change-Id: Ide273d7f8012313d6610415d514a956d6f3a8cac Reviewed-on: https://chromium-review.googlesource.com/879922Reviewed-by: Miguel Casas <mcasas@chromium.org>
-
Frank Barchard authored
Removes macros that were part of standard basic_types header but not used by libyuv itself. TBR=braveyao@chromium.org Bug: libyuv:774 Test: try bots still build Change-Id: I8de6fad5a9277df0a50959881392ba212b1b5972 Reviewed-on: https://chromium-review.googlesource.com/879591Reviewed-by: Frank Barchard <fbarchard@chromium.org>
-
Frank Barchard authored
Bug: libyuv:751 Test: LibYUVConvertTest.I420ToAR30_Opt Change-Id: Ie89c3eb2526354cf11175746bc8af72be83a1e00 Reviewed-on: https://chromium-review.googlesource.com/877541Reviewed-by: Cheng Wang <wangcheng@google.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 19 Jan, 2018 1 commit
-
-
Frank Barchard authored
Switch YUV conversion macro to output 16 bits per channel. STOREAR30 macro to output AR30. [ RUN ] LibYUVConvertTest.TestH420ToARGB uniques: B 220, G, 220, R 220 [ OK ] LibYUVConvertTest.TestH420ToARGB (0 ms) [ RUN ] LibYUVConvertTest.TestH010ToARGB uniques: B 256, G, 256, R 256 [ OK ] LibYUVConvertTest.TestH010ToARGB (0 ms) [ RUN ] LibYUVConvertTest.TestH010ToAR30 uniques: B 883, G, 883, R 883 [ OK ] LibYUVConvertTest.TestH010ToAR30 (0 ms) Bug: libyuv:751 Test: LibYUVConvertTest.H010ToAR30_Opt Change-Id: I902b718e2c8b68ede69625ccafebc6519d5af70d Reviewed-on: https://chromium-review.googlesource.com/869511Reviewed-by: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Miguel Casas <mcasas@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com> Commit-Queue: Frank Barchard <fbarchard@chromium.org>
-
- 05 Jan, 2018 1 commit
-
-
Frank Barchard authored
SSSE3 optimized 10 bit YUV conversion to ARGB in single step. Bug: libyuv:751 Test: I010ToARGB Change-Id: I234b2850e35992113ee6bd638732bafc7010a60d Reviewed-on: https://chromium-review.googlesource.com/848238 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 28 Dec, 2017 1 commit
-
-
Frank Barchard authored
Convert planar 8 bit formats to planar 16 bit formats. Accepts a parameter that determines the number of bits. Bug: libyuv:751 Test: Convert8To16 unittest Change-Id: I8f6ffe64428ddf5769b87e0c069093a50a2541e9 Reviewed-on: https://chromium-review.googlesource.com/835410Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 19 Dec, 2017 1 commit
-
-
Frank Barchard authored
Initial AR30ToARGB function to allow converion from AR30 to other formats if necessary and/or for testing. Not optimized at this point. Bug: libyuv:751 Test: LibYUVConvertTest.AR30ToARGB_Opt Change-Id: I38ef192315240f3caa7aee0218b38d5e88a2849f Reviewed-on: https://chromium-review.googlesource.com/833025 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 15 Dec, 2017 1 commit
-
-
Frank Barchard authored
Bug: libyuv:751 Test: LibYUVConvertTest.H010ToH010_Opt Change-Id: I996d309040a14193a97d05b62ac0b3e1ad1ee74b Reviewed-on: https://chromium-review.googlesource.com/823445 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: Cheng Wang <wangcheng@google.com> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 22 Nov, 2017 1 commit
-
-
Frank Barchard authored
This version of the H010ToAR30 provides a 3 step conversion Convert16To8Row_AVX2 H420ToARGB_AVX2 ARGBToAR30_AVX2 Low level function added to convert 16 bit to 8 bit using multiply to adjust 10 bit or other bit depths and then save the upper 16 bits. Bug: libyuv:751 Test: LibYUVPlanarTest.Convert16To8Row_Opt unittest added Change-Id: I9cc576fda8afa1003cb961d03e0e656e0b478f03 Reviewed-on: https://chromium-review.googlesource.com/783554 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 21 Nov, 2017 1 commit
-
-
Frank Barchard authored
Bug: libyuv:751 Test: LibYUVConvertTest.ARGBToAR30_Opt Change-Id: I09c13eb53ba5f1ce1740c013dc587f8300f1d9e0 Reviewed-on: https://chromium-review.googlesource.com/780437 Commit-Queue: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
-
- 10 Nov, 2017 2 commits
-
-
Frank Barchard authored
When converting from lsb 10 bit formats to msb, the values need to be shifted to the top 10 bits. Using a multiply allows the different numbers of bits to be copied: // 128 = 9 bits // 64 = 10 bits // 16 = 12 bits // 1 = 16 bits Bug: libyuv:751 Test: LibYUVPlanarTest.MultiplyRow_16_Opt Change-Id: I9cf226053a164baa14155215cb175065b1c4f169 Reviewed-on: https://chromium-review.googlesource.com/762951Reviewed-by: richard winterton <rrwinterton@gmail.com> Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
Frank Barchard authored
Instead of hardcoded shift, use a multiply by a parameter. 128 = 9 bits 64 = 10 bits 16 = 12 bits 1 = 16 bits Bug: libyuv:751 Test: LibYUVPlanarTest.MergeUV10Row_Opt Change-Id: Id925edfdbf91243370c90641b50eb8e7625ec329 Reviewed-on: https://chromium-review.googlesource.com/762523Reviewed-by: richard winterton <rrwinterton@gmail.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
- 03 Nov, 2017 1 commit
-
-
Frank Barchard authored
H010 is 10 bit planar format with 10 bits in lower bits. P010 is 10 bit biplanar format with 10 bits in upper bits. This function weaves the U and V channels and shifts the bits into the upper bits. Bug: libyuv:751 Test: LibYUVPlanarTest.MergeUV10Row_Opt Change-Id: I4a0bac0ef1ff95aa1b8d68261ec8e8e86f2d1fbf Reviewed-on: https://chromium-review.googlesource.com/752692Reviewed-by: Cheng Wang <wangcheng@google.com> Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
- 11 Sep, 2017 1 commit
-
-
Frank Barchard authored
Converts packed RGB to planar and back. TBR=kjellander@chromium.org BUG=libyuv:728 TEST=MergeRGBPlane_Opt and SplitRGBPlane_Opt unittests added Change-Id: Ida59af940afcb1fc4a48bbf62c714f592665c3cc Reviewed-on: https://chromium-review.googlesource.com/658069Reviewed-by: Frank Barchard <fbarchard@google.com> Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 24 Aug, 2017 1 commit
-
-
Frank Barchard authored
[ RUN ] LibYUVPlanarTest.TestGaussRow_Opt [ OK ] LibYUVPlanarTest.TestGaussRow_Opt (601 ms) [ RUN ] LibYUVPlanarTest.TestGaussCol_Opt [ OK ] LibYUVPlanarTest.TestGaussCol_Opt (522 ms) TBR=kjellander@chromium.org BUG=libyuv:719 TEST=LibYUVPlanarTest.TestGaussRow_Opt Change-Id: I1242b98672538e889f3ab48f215d6dabc7144ea7 Reviewed-on: https://chromium-review.googlesource.com/627478Reviewed-by: Cheng Wang <wangcheng@google.com> Reviewed-by: Frank Barchard <fbarchard@google.com>
-
- 22 Aug, 2017 1 commit
-
-
Frank Barchard authored
Old NEON LibYUVPlanarTest.TestGaussCol_Opt (916 ms) New NEON LibYUVPlanarTest.TestGaussCol_Opt (520 ms) C vectorized LibYUVPlanarTest.TestGaussCol_Opt (739 ms) TBR=kjellander@chromium.org BUG=libyuv:719 TEST=LibYUVPlanarTest.TestGaussCol_Opt Change-Id: I863b66f700f7a71fcb08a2eabb03240fdaf8a238 Reviewed-on: https://chromium-review.googlesource.com/626938Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 17 Aug, 2017 1 commit
-
-
Frank Barchard authored
TBR=kjellander@chromium.org R=fbarchard@google.com Bug:libyuv:634 Change-Id: Ie2342f841f1bb8469fc4631b784eddd804f5d53e Reviewed-on: https://chromium-review.googlesource.com/616765Reviewed-by: Frank Barchard <fbarchard@google.com>
-
- 14 Aug, 2017 1 commit
-
-
Frank Barchard authored
add ScaleMaxSamples_NEON function with max done on original values. TBR=kjellander@chromium.org BUG=libyuv:717 TEST=LibYUVPlanarTest.TestScaleMaxSamples_Opt Change-Id: Id99338860782b10ffd24f66242eb42014c2e229e Reviewed-on: https://chromium-review.googlesource.com/614685Reviewed-by: Frank Barchard <fbarchard@google.com> Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 09 Aug, 2017 1 commit
-
-
Frank Barchard authored
TBR=kjellander@chromium.org BUG=libyuv:717 TEST=LibYUVPlanarTest.TestScaleSumSamples_Opt Change-Id: I5208666f3968c5c4b0f1b0c951f24216d78ee3fe Reviewed-on: https://chromium-review.googlesource.com/607184Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 04 Aug, 2017 1 commit
-
-
Frank Barchard authored
BUG=libyuv:717 TEST=ScaleSum unittest to compare C vs Arm implementation TBR=kjellander@chromium.org Change-Id: Iaa7af5547d979aad4722f868d31b405340115748 Reviewed-on: https://chromium-review.googlesource.com/600534Reviewed-by: Cheng Wang <wangcheng@google.com>
-
- 11 Feb, 2017 1 commit
-
-
Frank Barchard authored
Uses 1 add instead of 2 leas to reduce port pressure on ports 1 and 5 used for SIMD instructions. BUG=libyuv:670 TEST=~/iaca-lin64/bin/iaca.sh -arch HSW out/Release/obj/libyuv/row_gcc.o Change-Id: I3965ee5dcb49941a535efa611b5988d977f5b65c Reviewed-on: https://chromium-review.googlesource.com/433391Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
- 30 Jan, 2017 1 commit
-
-
Frank Barchard authored
ARGBToUV_C and ARGBToUVJ_C are generated functions with subtle difference in rounding. Adding comment to make them easier to find. TBR=kjellander@chromium.org BUG=libyuv:634 TEST=untested Change-Id: I9912d256a1e04c58475d33bdb472c37484f6cab9 Reviewed-on: https://chromium-review.googlesource.com/434980Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com>
-
- 11 Jan, 2017 1 commit
-
-
Frank Barchard authored
Optimized functions: I444ToARGBRow_DSPR2 I422ToARGB4444Row_DSPR2 I422ToARGB1555Row_DSPR2 NV12ToARGBRow_DSPR2 BGRAToUVRow_DSPR2 BGRAToYRow_DSPR2 ABGRToUVRow_DSPR2 ARGBToYRow_DSPR2 ABGRToYRow_DSPR2 RGBAToUVRow_DSPR2 RGBAToYRow_DSPR2 ARGBToUVRow_DSPR2 RGB24ToARGBRow_DSPR2 RAWToARGBRow_DSPR2 RGB565ToARGBRow_DSPR2 ARGB1555ToARGBRow_DSPR2 ARGB4444ToARGBRow_DSPR2 ScaleAddRow_DSPR2 Bug-fixes in functions: ScaleRowDown2_DSPR2 ScaleRowDown4_DSPR2 BUG= Review-Url: https://codereview.chromium.org/2626123003 .
-
- 08 Nov, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:654 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/2469353005 .
-
- 11 Oct, 2016 1 commit
-
-
Frank Barchard authored
YUV 411 is very uncommon format. Remove support. Update documentation to reflect that 411 is deprecated. Simplify tests for YUV to only test with the new side by side YUV but keep old 3 plane test around with a macro for now. BUG=libyuv:645 R=kjellander@chromium.org Review URL: https://codereview.chromium.org/2406123002 .
-
- 29 Sep, 2016 1 commit
-
-
Frank Barchard authored
BUG=libyuv:560,chromium:445071 TEST=untested R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2371293002 .
-
- 28 Sep, 2016 1 commit
-
-
Frank Barchard authored
Original bt709 color space coefficients were full range yuv for higher quality. This change makes the coefficients use the video constrained color space the same as bt601 which is 16 to 240 for Y and 16 to 235 for chroma channels. BUG=libyuv:639 TEST=libyuv unittests run locally R=hubbe@chromium.org Review URL: https://codereview.chromium.org/2367253003 .
-
- 30 Aug, 2016 1 commit
-
-
Frank Barchard authored
On visual c 2013 and earlier a warning is generated if externs are not declared with the same alignment as the declaration, when using /ltcg BUG=libyuv:633 TEST=standalong test built with cl /Bv /GL /Ox /nologo a.cc b.cc /link /ltcg R=skal@google.com Review URL: https://codereview.chromium.org/2291533004 .
-
- 14 Jul, 2016 1 commit
-
-
Frank Barchard authored
R=braveyao@chromium.org BUG=None Review URL: https://codereview.chromium.org/2152623002 .
-