ffvvc / FFmpeg

VVC Decoder for ffmpeg
Other
48 stars 12 forks source link

Reuse hevc put chroma #148

Closed nuomi2021 closed 8 months ago

nuomi2021 commented 8 months ago

on a 4770K

put_chroma_h_8_2x2_c: 26.6 put_chroma_h_8_2x2_sse4: 6.6 put_chroma_h_8_4x4_c: 87.8 put_chroma_h_8_4x4_sse4: 17.6 put_chroma_h_8_8x8_c: 376.6 put_chroma_h_8_8x8_sse4: 28.8 put_chroma_h_8_16x16_c: 1571.1 put_chroma_h_8_16x16_sse4: 206.1 put_chroma_h_8_32x32_c: 6193.3 put_chroma_h_8_32x32_sse4: 574.6 put_chroma_h_8_32x32_avx2: 500.8 put_chroma_h_8_64x64_c: 25039.6 put_chroma_h_8_64x64_sse4: 1906.1 put_chroma_h_8_64x64_avx2: 1609.1 put_chroma_h_8_128x128_c: 100530.8 put_chroma_h_8_128x128_sse4: 8172.6 put_chroma_h_8_128x128_avx2: 6754.3 put_chroma_h_10_2x2_c: 26.6 put_chroma_h_10_2x2_sse4: 7.3 put_chroma_h_10_4x4_c: 85.3 put_chroma_h_10_4x4_sse4: 19.8 put_chroma_h_10_8x8_c: 306.6 put_chroma_h_10_8x8_sse4: 139.1 put_chroma_h_10_16x16_c: 1202.3 put_chroma_h_10_16x16_sse4: 291.6 put_chroma_h_10_16x16_avx2: 220.1 put_chroma_h_10_32x32_c: 4964.6 put_chroma_h_10_32x32_sse4: 1011.1 put_chroma_h_10_32x32_avx2: 612.8 put_chroma_h_10_64x64_c: 19502.8 put_chroma_h_10_64x64_sse4: 3724.6 put_chroma_h_10_64x64_avx2: 2175.6 put_chroma_h_10_128x128_c: 78723.6 put_chroma_h_10_128x128_sse4: 18769.3 put_chroma_h_10_128x128_avx2: 10717.3 put_chroma_h_12_2x2_c: 26.6 put_chroma_h_12_2x2_sse4: 7.3 put_chroma_h_12_4x4_c: 78.8 put_chroma_h_12_4x4_sse4: 19.8 put_chroma_h_12_8x8_c: 306.6 put_chroma_h_12_8x8_sse4: 146.3 put_chroma_h_12_16x16_c: 1211.3 put_chroma_h_12_16x16_sse4: 293.1 put_chroma_h_12_16x16_avx2: 223.1 put_chroma_h_12_32x32_c: 4802.8 put_chroma_h_12_32x32_sse4: 1007.3 put_chroma_h_12_32x32_avx2: 619.3 put_chroma_h_12_64x64_c: 19615.3 put_chroma_h_12_64x64_sse4: 3745.6 put_chroma_h_12_64x64_avx2: 2228.6 put_chroma_h_12_128x128_c: 78854.8 put_chroma_h_12_128x128_sse4: 18995.1 put_chroma_h_12_128x128_avx2: 10600.3 put_chroma_hv_8_2x2_c: 129.3 put_chroma_hv_8_2x2_sse4: 25.1 put_chroma_hv_8_4x4_c: 247.1 put_chroma_hv_8_4x4_sse4: 42.1 put_chroma_hv_8_8x8_c: 730.3 put_chroma_hv_8_8x8_sse4: 77.3 put_chroma_hv_8_16x16_c: 2554.8 put_chroma_hv_8_16x16_sse4: 401.1 put_chroma_hv_8_32x32_c: 9702.1 put_chroma_hv_8_32x32_sse4: 1279.8 put_chroma_hv_8_64x64_c: 36928.6 put_chroma_hv_8_64x64_sse4: 4604.1 put_chroma_hv_8_128x128_c: 140456.1 put_chroma_hv_8_128x128_sse4: 19077.6 put_chroma_hv_10_2x2_c: 125.6 put_chroma_hv_10_2x2_sse4: 36.1 put_chroma_hv_10_4x4_c: 254.3 put_chroma_hv_10_4x4_sse4: 50.3 put_chroma_hv_10_8x8_c: 734.8 put_chroma_hv_10_8x8_sse4: 215.8 put_chroma_hv_10_16x16_c: 2569.8 put_chroma_hv_10_16x16_sse4: 550.1 put_chroma_hv_10_16x16_avx2: 343.8 put_chroma_hv_10_32x32_c: 9735.1 put_chroma_hv_10_32x32_sse4: 1947.1 put_chroma_hv_10_32x32_avx2: 1108.6 put_chroma_hv_10_64x64_c: 38133.3 put_chroma_hv_10_64x64_sse4: 23174.8 put_chroma_hv_10_64x64_avx2: 4091.8 put_chroma_hv_10_128x128_c: 141962.1 put_chroma_hv_10_128x128_sse4: 31734.3 put_chroma_hv_10_128x128_avx2: 19177.6 put_chroma_hv_12_2x2_c: 126.3 put_chroma_hv_12_2x2_sse4: 31.1 put_chroma_hv_12_4x4_c: 258.8 put_chroma_hv_12_4x4_sse4: 49.6 put_chroma_hv_12_8x8_c: 730.3 put_chroma_hv_12_8x8_sse4: 221.6 put_chroma_hv_12_16x16_c: 2589.1 put_chroma_hv_12_16x16_sse4: 562.6 put_chroma_hv_12_16x16_avx2: 349.1 put_chroma_hv_12_32x32_c: 9734.3 put_chroma_hv_12_32x32_sse4: 1980.6 put_chroma_hv_12_32x32_avx2: 1119.1 put_chroma_hv_12_64x64_c: 37822.8 put_chroma_hv_12_64x64_sse4: 7526.8 put_chroma_hv_12_64x64_avx2: 4091.8 put_chroma_hv_12_128x128_c: 147453.3 put_chroma_hv_12_128x128_sse4: 30735.8 put_chroma_hv_12_128x128_avx2: 17289.8 put_chroma_pixels_8_2x2_c: 12.1 put_chroma_pixels_8_2x2_sse4: 3.6 put_chroma_pixels_8_4x4_c: 31.1 put_chroma_pixels_8_4x4_sse4: 12.3 put_chroma_pixels_8_8x8_c: 113.1 put_chroma_pixels_8_8x8_sse4: 17.6 put_chroma_pixels_8_16x16_c: 401.8 put_chroma_pixels_8_16x16_sse4: 81.6 put_chroma_pixels_8_32x32_c: 1495.8 put_chroma_pixels_8_32x32_sse4: 244.1 put_chroma_pixels_8_32x32_avx2: 165.8 put_chroma_pixels_8_64x64_c: 6922.3 put_chroma_pixels_8_64x64_sse4: 1031.8 put_chroma_pixels_8_64x64_avx2: 559.1 put_chroma_pixels_8_128x128_c: 25544.6 put_chroma_pixels_8_128x128_sse4: 5727.8 put_chroma_pixels_8_128x128_avx2: 3755.8 put_chroma_pixels_10_2x2_c: 16.1 put_chroma_pixels_10_2x2_sse4: 2.8 put_chroma_pixels_10_4x4_c: 32.6 put_chroma_pixels_10_4x4_sse4: 5.1 put_chroma_pixels_10_8x8_c: 119.8 put_chroma_pixels_10_8x8_sse4: 50.3 put_chroma_pixels_10_16x16_c: 492.1 put_chroma_pixels_10_16x16_sse4: 90.6 put_chroma_pixels_10_16x16_avx2: 68.6 put_chroma_pixels_10_32x32_c: 1883.8 put_chroma_pixels_10_32x32_sse4: 299.8 put_chroma_pixels_10_32x32_avx2: 178.8 put_chroma_pixels_10_64x64_c: 25119.3 put_chroma_pixels_10_64x64_sse4: 1148.1 put_chroma_pixels_10_64x64_avx2: 660.3 put_chroma_pixels_10_128x128_c: 27885.8 put_chroma_pixels_10_128x128_sse4: 17360.6 put_chroma_pixels_10_128x128_avx2: 9198.1 put_chroma_pixels_12_2x2_c: 15.3 put_chroma_pixels_12_2x2_sse4: 6.1 put_chroma_pixels_12_4x4_c: 31.8 put_chroma_pixels_12_4x4_sse4: 8.3 put_chroma_pixels_12_8x8_c: 133.1 put_chroma_pixels_12_8x8_sse4: 48.6 put_chroma_pixels_12_16x16_c: 431.6 put_chroma_pixels_12_16x16_sse4: 95.8 put_chroma_pixels_12_16x16_avx2: 60.1 put_chroma_pixels_12_32x32_c: 1543.6 put_chroma_pixels_12_32x32_sse4: 302.1 put_chroma_pixels_12_32x32_avx2: 169.6 put_chroma_pixels_12_64x64_c: 15974.8 put_chroma_pixels_12_64x64_sse4: 1155.6 put_chroma_pixels_12_64x64_avx2: 644.6 put_chroma_pixels_12_128x128_c: 30748.6 put_chroma_pixels_12_128x128_sse4: 17417.1 put_chroma_pixels_12_128x128_avx2: 9138.3 put_chroma_v_8_2x2_c: 28.8 put_chroma_v_8_2x2_sse4: 12.3 put_chroma_v_8_4x4_c: 96.6 put_chroma_v_8_4x4_sse4: 17.6 put_chroma_v_8_8x8_c: 379.6 put_chroma_v_8_8x8_sse4: 33.6 put_chroma_v_8_16x16_c: 1560.6 put_chroma_v_8_16x16_sse4: 238.1 put_chroma_v_8_32x32_c: 6154.6 put_chroma_v_8_32x32_sse4: 637.8 put_chroma_v_8_32x32_avx2: 543.6 put_chroma_v_8_64x64_c: 32470.8 put_chroma_v_8_64x64_sse4: 2053.6 put_chroma_v_8_64x64_avx2: 1711.1 put_chroma_v_8_128x128_c: 99872.6 put_chroma_v_8_128x128_sse4: 8289.6 put_chroma_v_8_128x128_avx2: 6769.3 put_chroma_v_10_2x2_c: 30.3 put_chroma_v_10_2x2_sse4: 8.1 put_chroma_v_10_4x4_c: 94.3 put_chroma_v_10_4x4_sse4: 19.8 put_chroma_v_10_8x8_c: 337.8 put_chroma_v_10_8x8_sse4: 208.3 put_chroma_v_10_16x16_c: 1317.8 put_chroma_v_10_16x16_sse4: 364.6 put_chroma_v_10_16x16_avx2: 258.8 put_chroma_v_10_32x32_c: 5138.1 put_chroma_v_10_32x32_sse4: 1129.3 put_chroma_v_10_32x32_avx2: 704.3 put_chroma_v_10_64x64_c: 21022.1 put_chroma_v_10_64x64_sse4: 4134.8 put_chroma_v_10_64x64_avx2: 2449.1 put_chroma_v_10_128x128_c: 77763.8 put_chroma_v_10_128x128_sse4: 19062.1 put_chroma_v_10_128x128_avx2: 10609.3 put_chroma_v_12_2x2_c: 35.6 put_chroma_v_12_2x2_sse4: 8.1 put_chroma_v_12_4x4_c: 100.6 put_chroma_v_12_4x4_sse4: 19.8 put_chroma_v_12_8x8_c: 314.1 put_chroma_v_12_8x8_sse4: 208.3 put_chroma_v_12_16x16_c: 1215.8 put_chroma_v_12_16x16_sse4: 356.6 put_chroma_v_12_16x16_avx2: 255.3 put_chroma_v_12_32x32_c: 4678.6 put_chroma_v_12_32x32_sse4: 1121.3 put_chroma_v_12_32x32_avx2: 717.6 put_chroma_v_12_64x64_c: 23030.6 put_chroma_v_12_64x64_sse4: 4159.6 put_chroma_v_12_64x64_avx2: 2480.3 put_chroma_v_12_128x128_c: 75783.8 put_chroma_v_12_128x128_sse4: 19141.1 put_chroma_v_12_128x128_avx2: 10662.8 put_uni_h_chroma_8_4x4_c: 96.6 put_uni_h_chroma_8_4x4_sse4: 17.3 put_uni_h_chroma_8_8x8_c: 365.3 put_uni_h_chroma_8_8x8_sse4: 38.8 put_uni_h_chroma_8_16x16_c: 2253.8 put_uni_h_chroma_8_16x16_sse4: 91.1 put_uni_h_chroma_8_32x32_c: 6361.6 put_uni_h_chroma_8_32x32_sse4: 372.1 put_uni_h_chroma_8_32x32_avx2: 181.3 put_uni_h_chroma_8_64x64_c: 22215.1 put_uni_h_chroma_8_64x64_sse4: 1762.3 put_uni_h_chroma_8_64x64_avx2: 932.8 put_uni_h_chroma_8_128x128_c: 101315.8 put_uni_h_chroma_8_128x128_sse4: 9055.1 put_uni_h_chroma_8_128x128_avx2: 5135.8 put_uni_h_chroma_10_4x4_c: 100.3 put_uni_h_chroma_10_4x4_sse4: 24.3 put_uni_h_chroma_10_8x8_c: 419.1 put_uni_h_chroma_10_8x8_sse4: 73.3 put_uni_h_chroma_10_16x16_c: 1448.8 put_uni_h_chroma_10_16x16_sse4: 270.8 put_uni_h_chroma_10_16x16_avx2: 131.6 put_uni_h_chroma_10_32x32_c: 5933.3 put_uni_h_chroma_10_32x32_sse4: 1103.3 put_uni_h_chroma_10_32x32_avx2: 556.1 put_uni_h_chroma_10_64x64_c: 38816.8 put_uni_h_chroma_10_64x64_sse4: 4573.6 put_uni_h_chroma_10_64x64_avx2: 2408.1 put_uni_h_chroma_10_128x128_c: 94404.6 put_uni_h_chroma_10_128x128_sse4: 22279.8 put_uni_h_chroma_10_128x128_avx2: 12709.1 put_uni_h_chroma_12_4x4_c: 103.8 put_uni_h_chroma_12_4x4_sse4: 24.3 put_uni_h_chroma_12_8x8_c: 366.8 put_uni_h_chroma_12_8x8_sse4: 66.8 put_uni_h_chroma_12_16x16_c: 1428.1 put_uni_h_chroma_12_16x16_sse4: 272.3 put_uni_h_chroma_12_16x16_avx2: 129.3 put_uni_h_chroma_12_32x32_c: 5735.3 put_uni_h_chroma_12_32x32_sse4: 1111.6 put_uni_h_chroma_12_32x32_avx2: 563.6 put_uni_h_chroma_12_64x64_c: 23137.1 put_uni_h_chroma_12_64x64_sse4: 4551.3 put_uni_h_chroma_12_64x64_avx2: 2402.8 put_uni_h_chroma_12_128x128_c: 100044.8 put_uni_h_chroma_12_128x128_sse4: 22418.3 put_uni_h_chroma_12_128x128_avx2: 12620.6 put_uni_hv_chroma_8_4x4_c: 255.3 put_uni_hv_chroma_8_4x4_sse4: 47.1 put_uni_hv_chroma_8_8x8_c: 751.8 put_uni_hv_chroma_8_8x8_sse4: 91.1 put_uni_hv_chroma_8_16x16_c: 2628.6 put_uni_hv_chroma_8_16x16_sse4: 312.6 put_uni_hv_chroma_8_32x32_c: 10096.1 put_uni_hv_chroma_8_32x32_sse4: 1254.6 put_uni_hv_chroma_8_64x64_c: 39836.3 put_uni_hv_chroma_8_64x64_sse4: 4655.6 put_uni_hv_chroma_8_128x128_c: 168463.1 put_uni_hv_chroma_8_128x128_sse4: 19611.6 put_uni_hv_chroma_10_4x4_c: 259.8 put_uni_hv_chroma_10_4x4_sse4: 49.1 put_uni_hv_chroma_10_8x8_c: 763.1 put_uni_hv_chroma_10_8x8_sse4: 153.8 put_uni_hv_chroma_10_16x16_c: 2641.8 put_uni_hv_chroma_10_16x16_sse4: 559.1 put_uni_hv_chroma_10_16x16_avx2: 274.6 put_uni_hv_chroma_10_32x32_c: 9936.8 put_uni_hv_chroma_10_32x32_sse4: 2181.6 put_uni_hv_chroma_10_32x32_avx2: 1076.6 put_uni_hv_chroma_10_64x64_c: 126157.6 put_uni_hv_chroma_10_64x64_sse4: 8770.6 put_uni_hv_chroma_10_64x64_avx2: 4781.6 put_uni_hv_chroma_10_128x128_c: 158418.8 put_uni_hv_chroma_10_128x128_sse4: 36467.6 put_uni_hv_chroma_10_128x128_avx2: 21156.8 put_uni_hv_chroma_12_4x4_c: 264.8 put_uni_hv_chroma_12_4x4_sse4: 54.1 put_uni_hv_chroma_12_8x8_c: 753.6 put_uni_hv_chroma_12_8x8_sse4: 156.8 put_uni_hv_chroma_12_16x16_c: 2643.3 put_uni_hv_chroma_12_16x16_sse4: 560.6 put_uni_hv_chroma_12_16x16_avx2: 276.8 put_uni_hv_chroma_12_32x32_c: 10175.8 put_uni_hv_chroma_12_32x32_sse4: 2245.8 put_uni_hv_chroma_12_32x32_avx2: 1114.6 put_uni_hv_chroma_12_64x64_c: 40021.1 put_uni_hv_chroma_12_64x64_sse4: 8783.3 put_uni_hv_chroma_12_64x64_avx2: 4416.6 put_uni_hv_chroma_12_128x128_c: 221284.6 put_uni_hv_chroma_12_128x128_sse4: 36486.1 put_uni_hv_chroma_12_128x128_avx2: 20853.1 put_uni_pixels_chroma_8_4x4_c: 32.6 put_uni_pixels_chroma_8_4x4_sse4: 4.3 put_uni_pixels_chroma_8_8x8_c: 56.3 put_uni_pixels_chroma_8_8x8_sse4: 14.6 put_uni_pixels_chroma_8_16x16_c: 128.6 put_uni_pixels_chroma_8_16x16_sse4: 21.3 put_uni_pixels_chroma_8_32x32_c: 218.1 put_uni_pixels_chroma_8_32x32_sse4: 110.8 put_uni_pixels_chroma_8_32x32_avx2: 37.1 put_uni_pixels_chroma_8_64x64_c: 424.8 put_uni_pixels_chroma_8_64x64_sse4: 493.6 put_uni_pixels_chroma_8_64x64_avx2: 258.1 put_uni_pixels_chroma_8_128x128_c: 3633.1 put_uni_pixels_chroma_8_128x128_sse4: 8337.6 put_uni_pixels_chroma_8_128x128_avx2: 4423.8 put_uni_pixels_chroma_10_4x4_c: 35.6 put_uni_pixels_chroma_10_4x4_sse4: 4.3 put_uni_pixels_chroma_10_8x8_c: 73.3 put_uni_pixels_chroma_10_8x8_sse4: 14.6 put_uni_pixels_chroma_10_16x16_c: 115.3 put_uni_pixels_chroma_10_16x16_sse4: 57.1 put_uni_pixels_chroma_10_16x16_avx2: 23.6 put_uni_pixels_chroma_10_32x32_c: 246.3 put_uni_pixels_chroma_10_32x32_sse4: 261.1 put_uni_pixels_chroma_10_32x32_avx2: 120.3 put_uni_pixels_chroma_10_64x64_c: 832.3 put_uni_pixels_chroma_10_64x64_sse4: 1144.6 put_uni_pixels_chroma_10_64x64_avx2: 551.6 put_uni_pixels_chroma_10_128x128_c: 4232.6 put_uni_pixels_chroma_10_128x128_sse4: 17444.1 put_uni_pixels_chroma_10_128x128_avx2: 9173.6 put_uni_pixels_chroma_12_4x4_c: 32.6 put_uni_pixels_chroma_12_4x4_sse4: 5.1 put_uni_pixels_chroma_12_8x8_c: 67.6 put_uni_pixels_chroma_12_8x8_sse4: 9.6 put_uni_pixels_chroma_12_16x16_c: 110.8 put_uni_pixels_chroma_12_16x16_sse4: 51.3 put_uni_pixels_chroma_12_16x16_avx2: 22.8 put_uni_pixels_chroma_12_32x32_c: 241.8 put_uni_pixels_chroma_12_32x32_sse4: 261.8 put_uni_pixels_chroma_12_32x32_avx2: 86.3 put_uni_pixels_chroma_12_64x64_c: 847.3 put_uni_pixels_chroma_12_64x64_sse4: 1028.8 put_uni_pixels_chroma_12_64x64_avx2: 466.8 put_uni_pixels_chroma_12_128x128_c: 4221.3 put_uni_pixels_chroma_12_128x128_sse4: 17490.8 put_uni_pixels_chroma_12_128x128_avx2: 8863.8 put_uni_v_chroma_8_4x4_c: 104.1 put_uni_v_chroma_8_4x4_sse4: 22.1 put_uni_v_chroma_8_8x8_c: 377.3 put_uni_v_chroma_8_8x8_sse4: 37.8 put_uni_v_chroma_8_16x16_c: 1445.8 put_uni_v_chroma_8_16x16_sse4: 114.3 put_uni_v_chroma_8_32x32_c: 5625.8 put_uni_v_chroma_8_32x32_sse4: 429.8 put_uni_v_chroma_8_32x32_avx2: 201.6 put_uni_v_chroma_8_64x64_c: 22218.1 put_uni_v_chroma_8_64x64_sse4: 1894.6 put_uni_v_chroma_8_64x64_avx2: 1061.6 put_uni_v_chroma_8_128x128_c: 105671.6 put_uni_v_chroma_8_128x128_sse4: 8950.8 put_uni_v_chroma_8_128x128_avx2: 4960.1 put_uni_v_chroma_10_4x4_c: 108.6 put_uni_v_chroma_10_4x4_sse4: 28.1 put_uni_v_chroma_10_8x8_c: 378.1 put_uni_v_chroma_10_8x8_sse4: 71.3 put_uni_v_chroma_10_16x16_c: 1440.1 put_uni_v_chroma_10_16x16_sse4: 282.8 put_uni_v_chroma_10_16x16_avx2: 141.3 put_uni_v_chroma_10_32x32_c: 5622.8 put_uni_v_chroma_10_32x32_sse4: 1139.8 put_uni_v_chroma_10_32x32_avx2: 589.6 put_uni_v_chroma_10_64x64_c: 23484.8 put_uni_v_chroma_10_64x64_sse4: 4783.6 put_uni_v_chroma_10_64x64_avx2: 2522.8 put_uni_v_chroma_10_128x128_c: 92244.1 put_uni_v_chroma_10_128x128_sse4: 22133.8 put_uni_v_chroma_10_128x128_avx2: 12703.3 put_uni_v_chroma_12_4x4_c: 104.1 put_uni_v_chroma_12_4x4_sse4: 28.1 put_uni_v_chroma_12_8x8_c: 388.8 put_uni_v_chroma_12_8x8_sse4: 71.3 put_uni_v_chroma_12_16x16_c: 1632.1 put_uni_v_chroma_12_16x16_sse4: 282.8 put_uni_v_chroma_12_16x16_avx2: 142.1 put_uni_v_chroma_12_32x32_c: 6623.1 put_uni_v_chroma_12_32x32_sse4: 1197.1 put_uni_v_chroma_12_32x32_avx2: 588.8 put_uni_v_chroma_12_64x64_c: 26150.1 put_uni_v_chroma_12_64x64_sse4: 4805.8 put_uni_v_chroma_12_64x64_avx2: 2521.3 put_uni_v_chroma_12_128x128_c: 103521.6 put_uni_v_chroma_12_128x128_sse4: 22060.8 put_uni_v_chroma_12_128x128_avx2: 12603.6

Clip Before After Delta
BQTerrace_1920x1080_60_10_420_22_RA.vvc 32 33.3 4.06%
Chimera_8bit_1080P_1000_frames.vvc 72.7 76.3 4.95%
NovosobornayaSquare_1920x1080.bin 71.3 76 6.59%
RitualDance_1920x1080_60_10_420_32_LD.266 60.7 64 5.44%
RitualDance_1920x1080_60_10_420_37_RA.266 58.3 63 8.06%
Tango2_3840x2160_60_10_420_27_LD.266 15 15.7 4.67%