mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-11-09 22:59:49 +08:00
Patch Set 8:
(4 comments)
Patch-set: 8
Label: Commit-Queue=0, eec8b441f668ada296ed74606b2c167fafef932c
Attention: {"person_ident":"Gerrit User 1115898 \u003c1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_1234564\u003e replied on the change"}
121 lines
5.8 KiB
Plaintext
121 lines
5.8 KiB
Plaintext
{
|
|
"comments": [
|
|
{
|
|
"unresolved": true,
|
|
"key": {
|
|
"uuid": "a6fe80a0_4e01377a",
|
|
"filename": "include/libyuv/scale_row.h",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 100,
|
|
"author": {
|
|
"id": 1115898
|
|
},
|
|
"writtenOn": "2026-09-22T20:52:25Z",
|
|
"side": 1,
|
|
"message": "Suggest HAS_SCALEUVADDCOLS3_AVX2",
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
},
|
|
{
|
|
"unresolved": false,
|
|
"key": {
|
|
"uuid": "94973b76_0b39f13d",
|
|
"filename": "include/libyuv/scale_row.h",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 100,
|
|
"author": {
|
|
"id": 1234564
|
|
},
|
|
"writtenOn": "2026-09-25T11:25:32Z",
|
|
"side": 1,
|
|
"message": "Done (PS6)",
|
|
"parentUuid": "a6fe80a0_4e01377a",
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
},
|
|
{
|
|
"unresolved": true,
|
|
"key": {
|
|
"uuid": "70d62c08_244b85a6",
|
|
"filename": "source/scale_gcc.cc",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 1795,
|
|
"author": {
|
|
"id": 1115898
|
|
},
|
|
"writtenOn": "2026-09-22T20:52:25Z",
|
|
"side": 1,
|
|
"message": "suggested replacement to avoid port 5 bottleneck\n```\nstatic const ulvec32 kPermUVBox3 \u003d {0, 3, 6, 2, 5, 1, 4, 7};\n\n// A UV pair is 32 bits, so vpblendd + vpermd compacts every third pair and\n// vpaddw keeps U and V in separate halves. dst_width must be a multiple of 8.\n// Consumes exactly 24 accumulator entries (96 bytes) per iteration with no over-read.\nvoid ScaleUVAddCols1_Box3_AVX2(int dst_width,\n int scaleval,\n const uint16_t* src_uv,\n uint8_t* dst_uv) {\n asm volatile(\n \"vmovd %3,%%xmm7 \\n\"\n \"vpbroadcastw %%xmm7,%%ymm7 \\n\"\n \"vmovdqu %4,%%ymm4 \\n\"\n\n LABELALIGN\n \"1: \\n\"\n \"vmovdqu (%0),%%ymm0 \\n\"\n \"vpaddw 0x4(%0),%%ymm0,%%ymm0 \\n\"\n \"vpaddw 0x8(%0),%%ymm0,%%ymm0 \\n\"\n \"vmovdqu 0x1c(%0),%%ymm1 \\n\"\n \"vpaddw 0x20(%0),%%ymm1,%%ymm1 \\n\"\n \"vpaddw 0x24(%0),%%ymm1,%%ymm1 \\n\"\n \"vmovdqu 0x38(%0),%%ymm2 \\n\"\n \"vpaddw 0x3c(%0),%%ymm2,%%ymm2 \\n\"\n \"vpaddw 0x40(%0),%%ymm2,%%ymm2 \\n\"\n \"vpblendd $0x24,%%ymm1,%%ymm0,%%ymm0 \\n\"\n \"vpblendd $0x92,%%ymm2,%%ymm0,%%ymm0 \\n\"\n \"vpermd %%ymm0,%%ymm4,%%ymm0 \\n\"\n \"vpmulhuw %%ymm7,%%ymm0,%%ymm0 \\n\"\n \"vpackuswb %%ymm0,%%ymm0,%%ymm0 \\n\"\n \"vpermq $0xd8,%%ymm0,%%ymm0 \\n\"\n \"vmovdqu %%xmm0,(%1) \\n\"\n \"lea 0x60(%0),%0 \\n\"\n \"lea 0x10(%1),%1 \\n\"\n \"sub $0x8,%2 \\n\"\n \"jg 1b \\n\"\n \"vzeroupper \\n\"\n : \"+r\"(src_uv), // %0\n \"+r\"(dst_uv), // %1\n \"+r\"(dst_width) // %2\n : \"r\"(scaleval), // %3\n \"m\"(kPermUVBox3) // %4\n : \"memory\", \"cc\", \"xmm0\", \"xmm1\", \"xmm2\", \"xmm4\", \"xmm7\");\n}\n```",
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
},
|
|
{
|
|
"unresolved": false,
|
|
"key": {
|
|
"uuid": "4927c494_f4ae3bca",
|
|
"filename": "source/scale_gcc.cc",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 1795,
|
|
"author": {
|
|
"id": 1234564
|
|
},
|
|
"writtenOn": "2026-09-25T11:25:32Z",
|
|
"side": 1,
|
|
"message": "Done in PS7",
|
|
"parentUuid": "70d62c08_244b85a6",
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
},
|
|
{
|
|
"unresolved": true,
|
|
"key": {
|
|
"uuid": "e31fbc79_3c0ffade",
|
|
"filename": "source/scale_gcc.cc",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 1803,
|
|
"author": {
|
|
"id": 1115898
|
|
},
|
|
"writtenOn": "2026-09-22T20:46:54Z",
|
|
"side": 1,
|
|
"message": "Suggest the name ScaleUVAddCols3_AVX2\ncleanest match to third_party/libyuv/files/include/libyuv/scale_row.h:815 and third_party/libyuv/files/source/scale.cc:819) \n • AddCols already denotes the box-filter column accumulator pass (the counterpart to ScaleAddRow), and 3 replaces the generic 1/2 suffix to mean \"sum 3 columns\": \n • Kernel: ScaleUVAddCols3_AVX2 (macro: HAS_SCALEUVADDCOLS3_AVX2)\n • Tail wrapper: ScaleUVAddCols3_Any_AVX2 (instead of ScaleUVAddCols1_Box3_AVX2_C)\n • C reference (if added): ScaleUVAddCols3_C",
|
|
"range": {
|
|
"startLine": 1803,
|
|
"startChar": 5,
|
|
"endLine": 1803,
|
|
"endChar": 30
|
|
},
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
},
|
|
{
|
|
"unresolved": false,
|
|
"key": {
|
|
"uuid": "1588d7a8_41893a27",
|
|
"filename": "source/scale_gcc.cc",
|
|
"patchSetId": 4
|
|
},
|
|
"lineNbr": 1803,
|
|
"author": {
|
|
"id": 1234564
|
|
},
|
|
"writtenOn": "2026-09-25T11:25:32Z",
|
|
"side": 1,
|
|
"message": "Done (PS6)",
|
|
"parentUuid": "e31fbc79_3c0ffade",
|
|
"range": {
|
|
"startLine": 1803,
|
|
"startChar": 5,
|
|
"endLine": 1803,
|
|
"endChar": 30
|
|
},
|
|
"revId": "084140ebb3bbd1c350293b895e85db2d0c797f2b",
|
|
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
|
|
}
|
|
]
|
|
} |