Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (46)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (4812)

  • Clickstream Data : Definition, Use Cases, and More

    15 avril 2024, par Erin

    Gaining a deeper understanding of user behaviour — customers’ different paths, digital footprints, and engagement patterns — is crucial for providing a personalised experience and making informed marketing decisions. 

    In that sense, clickstream data, or a comprehensive record of a user’s online activities, is one of the most valuable sources of actionable insights into users’ behavioural patterns. 

    This article will cover everything marketing teams need to know about clickstream data, from the basic definition and examples to benefits, use cases, and best practices. 

    What is clickstream data ? 

    As a form of web analytics, clickstream data focuses on tracking and analysing a user’s online activity. These digital breadcrumbs offer insights into the websites the user has visited, the pages they viewed, how much time they spent on a page, and where they went next.

    Illustration of collecting and analysing data

    Your clickstream pipeline can be viewed as a “roadmap” that can help you recognise consistent patterns in how users navigate your website. 

    With that said, you won’t be able to learn much by analysing clickstream data collected from one user’s session. However, a proper analysis of large clickstream datasets can provide a wealth of information about consumers’ online behaviours and trends — which marketing teams can use to make informed decisions and optimise their digital marketing strategy. 

    Clickstream data collection can serve numerous purposes, but the main goal remains the same — gaining valuable insights into visitors’ behaviours and online activities to deliver a better user experience and improve conversion likelihood. 

    Depending on the specific events you’re tracking, clickstream data can reveal the following : 

    • How visitors reach your website 
    • The terms they type into the search engine
    • The first page they land on
    • The most popular pages and sections of your website
    • The amount of time they spend on a page 
    • Which elements of the page they interact with, and in what sequence
    • The click path they take 
    • When they convert, cancel, or abandon their cart
    • Where the user goes once they leave your website

    As you can tell, once you start collecting this type of data, you’ll learn quite a bit about the user’s online journey and the different ways they engage with your website — all without including any personal details about your visitors.

    Types of clickstream data 

    While all clickstream data keeps a record of the interactions that occur while the user is navigating a website or a mobile application — or any other digital platform — it can be divided into two types : 

    • Aggregated (web traffic) data provides comprehensive insights into the total number of visits and user interactions on a digital platform — such as your website — within a given timeframe 
    • Unaggregated data is broken up into smaller segments, focusing on an individual user’s online behaviour and website interactions 

    One thing to remember is that to gain valuable insights into user behaviour and uncover sequential patterns, you need a powerful tool and access to full clickstream datasets. Matomo’s Event Tracking can provide a comprehensive view of user interactions on your website or mobile app — everything from clicking a button and completing a form to adding (or removing) products from their cart. 

    On that note, based on the specific events you’re tracking when a user visits your website, clickstream data can include : 

    • Web navigation data : referring URL, visited pages, click path, and exit page
    • User interaction data : mouse movements, click rate, scroll depth, and button clicks
    • Conversion data : form submissions, sign-ups, and transactions 
    • Temporal data : page load time, timestamps, and the date and time of day of the user’s last login 
    • Session data : duration, start, and end times and number of pages viewed per session
    • Error data : 404 errors and network or server response issues 

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Clickstream data benefits and use cases 

    Given the actionable insights that clickstream data collection provides, it can serve a wide range of use cases — from identifying behavioural patterns and trends and examining competitors’ performance to helping marketing teams map out customer journeys and improve ROI.

    Example of using clickstream data for marketing ROI

    According to the global Clickstream Analytics Market Report 2024, some key applications of clickstream analytics include click-path optimisation, website and app optimisation, customer analysis, basket analysis, personalisation, and traffic analysis. 

    The behavioural patterns and user preferences revealed by clickstream analytics data can have many applications — we’ve outlined the prominent use cases below. 

    Customer journey mapping 

    Clickstream data allows you to analyse the e-commerce customer’s online journey and provides insights into how they navigate your website. With such a comprehensive view of their click path, it becomes easier to understand user behaviour at each stage — from initial awareness to conversion — identify the most effective touchpoints and fine-tune that journey to improve their conversion likelihood. 

    Identifying customer trends 

    Clickstream data analytics can also help you identify trends and behavioural patterns — the most common sequences and similarities in how users reached your website and interacted with it — especially when you can access data from many website visitors. 

    Think about it — there are many ways in which you can use these insights into the sequence of clicks and interactions and recurring patterns to your team’s advantage. 

    Here’s an example : 

    It can reveal that some pieces of content and CTAs are performing well in encouraging visitors to take action — which shows how you should optimise other pages and what you should strive to create in the future, too. 

    Preventing site abandonment 

    Cart abandonment remains a serious issue for online retailers : 

    According to a recent report, the global cart abandonment rate in the fourth quarter of 2023 was at 83%. 

    That means that roughly eight out of ten e-commerce customers will abandon their shopping carts — most commonly due to additional costs, slow website loading times and the requirement to create an account before purchasing. 

    In addition to cart abandonment predictions, clickstream data analytics can reveal the pages where most visitors tend to leave your website. These drop-off points are clear indicators that something’s not working as it should — and once you can pinpoint them, you’ll be able to address the issue and increase conversion likelihood.

    Improving marketing campaign ROI 

    As previously mentioned, clickstream data analysis provides insights into the customer journey. Still, you may not realise that you can also use this data to keep track of your marketing effectiveness

    Global digital ad spending continues to grow — and is expected to reach $836 billion by 2026. It’s easy to see why relying on accurate data is crucial when deciding which marketing channels to invest in. 

    You want to ensure you’re allocating your digital marketing and advertising budget to the channels — be it SEO, pay-per-click (PPC) ads, or social media campaigns — that impact driving conversions. 

    When you combine clickstream e-commerce data with conversion rates, you’ll find the latter in Matomo’s goal reports and have a solid, data-driven foundation for making better marketing decisions.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Delivering a better user experience (UX) 

    Clickstream data analysis allows you to identify specific “pain points” — areas of the website that are difficult to use and may cause customer frustration. 

    It’s clear how this would be beneficial to your business : 

    Once you’ve identified these pain points, you can make the necessary changes to your website’s layout and address any technical issues that users might face, improving usability and delivering a smoother experience to potential customers. 

    Collecting clickstream data : Tools and legal implications 

    Your team will need a powerful tool capable of handling clickstream analytics to reap the benefits we’ve discussed previously. But at the same time, you need to respect users’ online privacy throughout clickstream data collection.

    Illustration of user’s data protection and online security

    Generally speaking, there are two ways to collect data about users’ online activity — web analytics tools and server log files.

    Web analytics tools are the more commonly used solution. Specifically designed to collect and analyse website data, these tools rely on JavaScript tags that run in the browser, providing actionable insights about user behaviour. Server log files can be a gold mine of data, too — but that data is raw and unfiltered, making it much more challenging to interpret and analyse. 

    That brings us to one of the major clickstream challenges to keep in mind as you move forward — compliance.

    While Google remains a dominant player in the web analytics market, there’s one area where Matomo has a significant advantage — user privacy. 

    Matomo operates according to privacy laws — including the General Data Protection Regulation (GDPR) and California Consumer Privacy Act (CCPA), making it an ethical alternative to Google Analytics. 

    It should go without saying, but compliance with data privacy laws — the most talked-about one being the GDPR framework introduced by the EU — isn’t something you can afford to overlook. 

    The GDPR was first implemented in the EU in 2018. Since then, several fines have been issued for non-compliance — including the record fine of €1.2 billion that Meta Platforms, Inc. received in 2023 for transferring personal data of EU-based users to the US.

    Clickstream analytics data best practices 

    Illustration of collecting, analysing and presenting data

    As valuable as it might be, processing large amounts of clickstream analytics data can be a complex — and, at times, overwhelming — process. 

    Here are some best practices to keep in mind when it comes to clickstream analysis : 

    Define your goals 

    It’s essential to take the time to define your goals and objectives. 

    Once you have a clear idea of what you want to learn from a given clickstream dataset and the outcomes you hope to see, it’ll be easier to narrow down your scope — rather than trying to tackle everything at once — before moving further down the clickstream pipeline. 

    Here are a few examples of goals and objectives you can set for clickstream analysis : 

    • Understanding and predicting users’ behavioural patterns 
    • Optimising marketing campaigns and ROI 
    • Attributing conversions to specific marketing touchpoints and channels

    Analyse your data 

    Collecting clickstream analytics data is only part of the equation ; what you do with raw data and how you analyse it matters. You can have the most comprehensive dataset at your disposal — but it’ll be practically worthless if you don’t have the skill set to analyse and interpret it. 

    In short, this is the stage of your clickstream pipeline where you uncover common sequences and consistent patterns in user behaviour. 

    Clickstream data analytics can extract actionable insights from large datasets using various approaches, models, and techniques. 

    Here are a few examples : 

    • If you’re working with clickstream e-commerce data, you should perform funnel or conversion analyses to track conversion rates as users move through your sales funnel. 
    • If you want to group and analyse users based on shared characteristics, you can use Matomo for cohort analysis
    • If your goal is to predict future trends and outcomes — conversion and cart abandonment prediction, for example — based on available data, prioritise predictive analytics.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Organise and visualise your data

    As you reach the end of your clickstream pipeline, you need to start thinking about how you will present and communicate your data. And what better way to do that than to transform that data into easy-to-understand visualisations ? 

    Here are a few examples of easily digestible formats that facilitate quick decision-making : 

    • User journey maps, which illustrate the exact sequence of interactions and user flow through your website 
    • Heatmaps, which serve as graphical — and typically colour-coded — representations of a website visitor’s activity 
    • Funnel analysis, which are broader at the top but get increasingly narrower towards the bottom as users flow through and drop off at different stages of the pipeline 

    Collect clickstream data with Matomo 

    Clickstream data is hard to beat when tracking the website visitor’s journey — from first to last interaction — and understanding user behaviour. By providing real-time insights, your clickstream pipeline can help you see the big picture, stay ahead of the curve and make informed decisions about your marketing efforts. 

    Matomo accurate data and compliance with GDPR and other data privacy regulations — it’s an all-in-one, ethical platform that can meet all your web analytics needs. That’s why over 1 million websites use Matomo for their web analytics.

    Try Matomo free for 21 days. No credit card required.

  • Adding h264 frames to mp4 file

    5 mars 2024, par Dinamo

    I have raw h264 video frames

    


    


    Stream #0:0 : Video : h264 (Main), yuvj420p(pc, bt709, progressive),
1280x720, 25 fps, 25 tbr, 1200k tbn, 50 tbc

    


    


    and raw audio frames :

    


    


    Stream #0:0 : Audio : pcm_s16le, 16000 Hz, 1 channels, s16, 256 kb/s

    


    


    I also have a list of timestamps in microseconds of each frame

    


    600 0xd96533 (audio)
601 0xd9e1dd (audio)
602 0xda4f52 (audio)
603 0xda5a63 (video)
604 0xdacc4b (audio)
605 0xdb39a3 (audio)
606 0xdb5ee9 (video)
607 0xdbb6d8 (audio)
608 0xdc23fe (audio)
609 0xdcb255 (audio)
610 0xdd0e69 (audio)
611 0xdd8b96 (audio)
612 0xdd67d0 (video)
613 0xddf8bd (audio)


    


    note that the timestamp difference between two audio frames is  0.032s or  0.028s (average 0.03s ?)

    


    and the timestamp difference between two video frames is mutiply of  0.06666s (0.0666,0.1333,0.2)

    


    this data was captured from a camera that is capturing at max 15fps according to the spec.

    


    I want to merge them into one mp4 file.

    


    raw video frame info

    


    [FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=N/A
pkt_pts_time=N/A
-> pkt_dts=N/A
-> pkt_dts_time=N/A
best_effort_timestamp=N/A
best_effort_timestamp_time=N/A
-> pkt_duration=48000
-> pkt_duration_time=0.040000
pkt_pos=1476573
pkt_size=57677
width=1280
height=720
pix_fmt=yuvj420p
sample_aspect_ratio=N/A
pict_type=I
coded_picture_number=189
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=pc
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=N/A
pkt_pts_time=N/A
-> pkt_dts=N/A
-> pkt_dts_time=N/A
best_effort_timestamp=N/A
best_effort_timestamp_time=N/A
-> pkt_duration=48000
-> pkt_duration_time=0.040000
pkt_pos=1534250
pkt_size=3928
width=1280
height=720
pix_fmt=yuvj420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=190
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=pc
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
[/FRAME]


    


    The result frames should have values similar to this :

    


    video frames

    


    [FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=N/A
pkt_pts_time=N/A
-> pkt_dts=500
-> pkt_dts_time=16.666667
best_effort_timestamp=500
best_effort_timestamp_time=16.666667
-> pkt_duration=1
-> pkt_duration_time=0.033333
pkt_pos=1772182
pkt_size=3070
width=1280
height=720
pix_fmt=yuvj420p
sample_aspect_ratio=N/A
pict_type=P
coded_picture_number=191
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=pc
color_space=bt709
color_primaries=bt709
color_transfer=bt709
chroma_location=left
[/FRAME]


    


    pkt_duration_time is always 0.033333, pkt_dts maybe even or odd not both (per stream) and also pkt_dts almost always jumps by 2, but sometimes by 4

    


    audio frames

    


    [FRAME]
media_type=audio
stream_index=1
key_frame=1
pkt_pts=0
pkt_pts_time=0.000000
pkt_dts=0
pkt_dts_time=0.000000
best_effort_timestamp=0
best_effort_timestamp_time=0.000000
pkt_duration=480
pkt_duration_time=0.030000
pkt_pos=608
pkt_size=960
sample_fmt=s16
nb_samples=480
channels=1
channel_layout=unknown
[/FRAME]
[FRAME]
media_type=audio
stream_index=1
key_frame=1
pkt_pts=480
pkt_pts_time=0.030000
pkt_dts=480
pkt_dts_time=0.030000
best_effort_timestamp=480
best_effort_timestamp_time=0.030000
pkt_duration=480
pkt_duration_time=0.030000
pkt_pos=1654
pkt_size=960
sample_fmt=s16
nb_samples=480
channels=1
channel_layout=unknown
[/FRAME]
[FRAME]
media_type=audio
stream_index=1
key_frame=1
pkt_pts=960
pkt_pts_time=0.060000
pkt_dts=960
pkt_dts_time=0.060000
best_effort_timestamp=960
best_effort_timestamp_time=0.060000
pkt_duration=480
pkt_duration_time=0.030000
pkt_pos=2726
pkt_size=960
sample_fmt=s16
nb_samples=480
channels=1
channel_layout=unknown
[/FRAME]


    


    those are the sequences

    


    //Audio
frame_len=480
pkt_duration_time=0.030000
pkt_pts=frame_len*frame_index
pkt_pts_time=pkt_duration_time*frame_index
pkt_pos=LAST_FRAME_PTS + ~1000 //or timestamp_us/x ?
//Video
pkt_duration_time=0.033333
pkt_dts=(2 or 4)*frame_index
pkt_dts_time=LAST_FRAME_DTS+pkt_duration_time


    


    Here is my current code for adding a video frame :

    


    #include <libavformat></libavformat>avformat.h>&#xA;AVFormatContext *format_context;&#xA;AVStream *out_stream;&#xA;&#xA;void init_out_stream(){&#xA;        out_stream->id = 0;&#xA;        out_stream->time_base = (AVRational){1, 30}; //&lt;-------------&#xA;        out_stream->codec->codec_id   = AV_CODEC_ID_H264;&#xA;        out_stream->codec->width      = 1280;&#xA;        out_stream->codec->height     = 720;&#xA;        out_stream->codec->pix_fmt    = AV_PIX_FMT_YUV420P;&#xA;}&#xA;int WriteH264VideoSample(unsigned char *sample, unsigned int sample_size, int iskeyframe, unsigned long long int timestamp_us){&#xA;&#xA;        AVPacket packet = { 0 };&#xA;        av_init_packet(&amp;packet);&#xA;&#xA;        packet.stream_index = 0;&#xA;        packet.data         = sample;&#xA;        packet.size         = sample_size;&#xA;        packet.pos          = -1;&#xA;&#xA;        timestamp = timestamp_us / 1000; //to ms&#xA;        /*pts = last pts &#x2B; timebase unit (1/30 or 33ms) difference &#xA;        between last and current timestamps*/&#xA;        pkt.pts = last_pts &#x2B; (timestamp - last_timestamp) / 33; &#xA;        last_pts = pkt.pts;&#xA;        pkt.dts = pkt.pts;&#xA;        last_timestamp = timestamp;&#xA;        packet.duration = 0;&#xA;&#xA;        av_packet_rescale_ts(&amp;packet, (AVRational){1, 25}, out_stream->time_base); //&lt;-------------&#xA;&#xA;        if (iskeyframe) {&#xA;            packet.flags |= AV_PKT_FLAG_KEY;&#xA;        }&#xA;&#xA;        if (av_interleaved_write_frame(format_context, &amp;packet) &lt; 0) {&#xA;            printf("Fail to write frame\n");&#xA;            return 0;&#xA;        }&#xA;&#xA;        //file_duration &#x2B;= duration;&#xA;&#xA;        return 1;&#xA;}&#xA;&#xA;&#xA;int main(){&#xA;        avformat_alloc_output_context2(&amp;format_context, 0, "avi", 0);&#xA;        out_stream = avformat_new_stream(format_context, 0);&#xA;        init_out_stream();&#xA;&#xA;        return 0;&#xA;}&#xA;

    &#xA;

    However the pts i use doesn't sync correctly, with my code sometimes the pts jumps by 3 and sometimes by 2 each frame however the synced result should jump by 2 or 4. (all even or all odd (per stream))

    &#xA;

    for the audio i tried

    &#xA;

    AVPacket packet = { 0 };&#xA;av_init_packet(&amp;packet);&#xA;&#xA;packet.stream_index = 1;&#xA;packet.data         = sample;&#xA;pkt.size            = 960;&#xA;packet.pos          = -1;&#xA;&#xA;/* 32000/2 = 16000; 16000/33.33333 = ~480 */&#xA;/* 28000/2 = 14000; 14000/33.33333 = ~420 ??*/&#xA;timestamp = timestamp_us / 2;&#xA;pkt.pts = last_audio_pts &#x2B; round(timestamp/33.333333333333);&#xA;pkt.dts = pkt.pts;&#xA;last_audio_pts = pkt.pts;&#xA;&#xA;pkt.duration = 0;&#xA;&#xA;av_packet_rescale_ts(&amp;packet, (AVRational){1, 25}, (AVRational){1, 30});&#xA;

    &#xA;

    In this case every frame has the correct info but pkt_duration is 240 instead of 480 and pkt_pts_time jumps by 0.06s instead of 0.03s

    &#xA;

    What is wrong with my calculation ?&#xA;Thanks.

    &#xA;

  • avcodec/x86/vvc : add avg and avg_w AVX2 optimizations

    23 janvier 2024, par Wu Jianhua
    avcodec/x86/vvc : add avg and avg_w AVX2 optimizations
    

    The avg/avg_w is based on dav1d.
    See https://code.videolan.org/videolan/dav1d/-/blob/master/src/x86/mc_avx2.asm

    vvc_avg_8_2x2_c : 71.6
    vvc_avg_8_2x2_avx2 : 26.8
    vvc_avg_8_2x4_c : 140.8
    vvc_avg_8_2x4_avx2 : 34.6
    vvc_avg_8_2x8_c : 410.3
    vvc_avg_8_2x8_avx2 : 41.3
    vvc_avg_8_2x16_c : 769.3
    vvc_avg_8_2x16_avx2 : 60.3
    vvc_avg_8_2x32_c : 1669.6
    vvc_avg_8_2x32_avx2 : 105.1
    vvc_avg_8_2x64_c : 1978.3
    vvc_avg_8_2x64_avx2 : 425.8
    vvc_avg_8_2x128_c : 6536.8
    vvc_avg_8_2x128_avx2 : 1315.1
    vvc_avg_8_4x2_c : 155.6
    vvc_avg_8_4x2_avx2 : 26.1
    vvc_avg_8_4x4_c : 250.3
    vvc_avg_8_4x4_avx2 : 31.3
    vvc_avg_8_4x8_c : 831.8
    vvc_avg_8_4x8_avx2 : 41.3
    vvc_avg_8_4x16_c : 1461.1
    vvc_avg_8_4x16_avx2 : 57.1
    vvc_avg_8_4x32_c : 2821.6
    vvc_avg_8_4x32_avx2 : 105.1
    vvc_avg_8_4x64_c : 3615.8
    vvc_avg_8_4x64_avx2 : 412.6
    vvc_avg_8_4x128_c : 11962.6
    vvc_avg_8_4x128_avx2 : 1274.3
    vvc_avg_8_8x2_c : 215.8
    vvc_avg_8_8x2_avx2 : 29.1
    vvc_avg_8_8x4_c : 430.6
    vvc_avg_8_8x4_avx2 : 37.6
    vvc_avg_8_8x8_c : 1463.3
    vvc_avg_8_8x8_avx2 : 51.8
    vvc_avg_8_8x16_c : 2630.1
    vvc_avg_8_8x16_avx2 : 97.6
    vvc_avg_8_8x32_c : 5813.8
    vvc_avg_8_8x32_avx2 : 196.6
    vvc_avg_8_8x64_c : 6687.3
    vvc_avg_8_8x64_avx2 : 487.8
    vvc_avg_8_8x128_c : 13178.6
    vvc_avg_8_8x128_avx2 : 1290.6
    vvc_avg_8_16x2_c : 443.8
    vvc_avg_8_16x2_avx2 : 28.3
    vvc_avg_8_16x4_c : 1253.3
    vvc_avg_8_16x4_avx2 : 32.1
    vvc_avg_8_16x8_c : 2236.3
    vvc_avg_8_16x8_avx2 : 44.3
    vvc_avg_8_16x16_c : 5127.8
    vvc_avg_8_16x16_avx2 : 63.3
    vvc_avg_8_16x32_c : 6573.3
    vvc_avg_8_16x32_avx2 : 223.6
    vvc_avg_8_16x64_c : 30311.8
    vvc_avg_8_16x64_avx2 : 437.8
    vvc_avg_8_16x128_c : 25693.3
    vvc_avg_8_16x128_avx2 : 1266.8
    vvc_avg_8_32x2_c : 954.6
    vvc_avg_8_32x2_avx2 : 32.1
    vvc_avg_8_32x4_c : 2359.6
    vvc_avg_8_32x4_avx2 : 39.6
    vvc_avg_8_32x8_c : 5703.6
    vvc_avg_8_32x8_avx2 : 57.1
    vvc_avg_8_32x16_c : 9967.6
    vvc_avg_8_32x16_avx2 : 107.1
    vvc_avg_8_32x32_c : 21327.6
    vvc_avg_8_32x32_avx2 : 272.6
    vvc_avg_8_32x64_c : 39240.8
    vvc_avg_8_32x64_avx2 : 529.6
    vvc_avg_8_32x128_c : 52580.8
    vvc_avg_8_32x128_avx2 : 1338.8
    vvc_avg_8_64x2_c : 1647.3
    vvc_avg_8_64x2_avx2 : 38.8
    vvc_avg_8_64x4_c : 5130.1
    vvc_avg_8_64x4_avx2 : 58.8
    vvc_avg_8_64x8_c : 6529.3
    vvc_avg_8_64x8_avx2 : 88.3
    vvc_avg_8_64x16_c : 19913.6
    vvc_avg_8_64x16_avx2 : 162.3
    vvc_avg_8_64x32_c : 39360.8
    vvc_avg_8_64x32_avx2 : 295.8
    vvc_avg_8_64x64_c : 49658.3
    vvc_avg_8_64x64_avx2 : 784.1
    vvc_avg_8_64x128_c : 108513.1
    vvc_avg_8_64x128_avx2 : 1977.1
    vvc_avg_8_128x2_c : 3226.1
    vvc_avg_8_128x2_avx2 : 61.1
    vvc_avg_8_128x4_c : 10280.3
    vvc_avg_8_128x4_avx2 : 94.6
    vvc_avg_8_128x8_c : 18079.3
    vvc_avg_8_128x8_avx2 : 155.3
    vvc_avg_8_128x16_c : 45121.8
    vvc_avg_8_128x16_avx2 : 285.3
    vvc_avg_8_128x32_c : 48651.8
    vvc_avg_8_128x32_avx2 : 581.6
    vvc_avg_8_128x64_c : 165078.6
    vvc_avg_8_128x64_avx2 : 1942.8
    vvc_avg_8_128x128_c : 339103.1
    vvc_avg_8_128x128_avx2 : 4332.6
    vvc_avg_10_2x2_c : 144.3
    vvc_avg_10_2x2_avx2 : 26.8
    vvc_avg_10_2x4_c : 142.6
    vvc_avg_10_2x4_avx2 : 45.3
    vvc_avg_10_2x8_c : 478.1
    vvc_avg_10_2x8_avx2 : 38.1
    vvc_avg_10_2x16_c : 518.3
    vvc_avg_10_2x16_avx2 : 58.1
    vvc_avg_10_2x32_c : 2059.8
    vvc_avg_10_2x32_avx2 : 93.1
    vvc_avg_10_2x64_c : 2383.8
    vvc_avg_10_2x64_avx2 : 714.8
    vvc_avg_10_2x128_c : 4498.3
    vvc_avg_10_2x128_avx2 : 1466.3
    vvc_avg_10_4x2_c : 228.6
    vvc_avg_10_4x2_avx2 : 26.8
    vvc_avg_10_4x4_c : 378.3
    vvc_avg_10_4x4_avx2 : 30.6
    vvc_avg_10_4x8_c : 866.8
    vvc_avg_10_4x8_avx2 : 44.6
    vvc_avg_10_4x16_c : 1018.1
    vvc_avg_10_4x16_avx2 : 58.1
    vvc_avg_10_4x32_c : 3590.8
    vvc_avg_10_4x32_avx2 : 128.8
    vvc_avg_10_4x64_c : 4200.8
    vvc_avg_10_4x64_avx2 : 663.6
    vvc_avg_10_4x128_c : 8450.8
    vvc_avg_10_4x128_avx2 : 1531.8
    vvc_avg_10_8x2_c : 369.3
    vvc_avg_10_8x2_avx2 : 28.3
    vvc_avg_10_8x4_c : 513.8
    vvc_avg_10_8x4_avx2 : 32.1
    vvc_avg_10_8x8_c : 1720.3
    vvc_avg_10_8x8_avx2 : 49.1
    vvc_avg_10_8x16_c : 1894.8
    vvc_avg_10_8x16_avx2 : 71.6
    vvc_avg_10_8x32_c : 3931.3
    vvc_avg_10_8x32_avx2 : 148.1
    vvc_avg_10_8x64_c : 7964.3
    vvc_avg_10_8x64_avx2 : 613.1
    vvc_avg_10_8x128_c : 15540.1
    vvc_avg_10_8x128_avx2 : 1585.1
    vvc_avg_10_16x2_c : 877.3
    vvc_avg_10_16x2_avx2 : 27.6
    vvc_avg_10_16x4_c : 955.8
    vvc_avg_10_16x4_avx2 : 29.8
    vvc_avg_10_16x8_c : 3419.6
    vvc_avg_10_16x8_avx2 : 62.6
    vvc_avg_10_16x16_c : 3826.8
    vvc_avg_10_16x16_avx2 : 54.3
    vvc_avg_10_16x32_c : 7655.3
    vvc_avg_10_16x32_avx2 : 86.3
    vvc_avg_10_16x64_c : 30011.1
    vvc_avg_10_16x64_avx2 : 692.6
    vvc_avg_10_16x128_c : 47894.8
    vvc_avg_10_16x128_avx2 : 1580.3
    vvc_avg_10_32x2_c : 944.3
    vvc_avg_10_32x2_avx2 : 29.8
    vvc_avg_10_32x4_c : 2022.6
    vvc_avg_10_32x4_avx2 : 35.1
    vvc_avg_10_32x8_c : 6148.8
    vvc_avg_10_32x8_avx2 : 51.3
    vvc_avg_10_32x16_c : 12601.6
    vvc_avg_10_32x16_avx2 : 70.8
    vvc_avg_10_32x32_c : 15958.6
    vvc_avg_10_32x32_avx2 : 124.3
    vvc_avg_10_32x64_c : 31784.6
    vvc_avg_10_32x64_avx2 : 757.3
    vvc_avg_10_32x128_c : 63892.8
    vvc_avg_10_32x128_avx2 : 1711.3
    vvc_avg_10_64x2_c : 1890.8
    vvc_avg_10_64x2_avx2 : 34.3
    vvc_avg_10_64x4_c : 6267.3
    vvc_avg_10_64x4_avx2 : 42.6
    vvc_avg_10_64x8_c : 12778.1
    vvc_avg_10_64x8_avx2 : 67.8
    vvc_avg_10_64x16_c : 22304.3
    vvc_avg_10_64x16_avx2 : 116.8
    vvc_avg_10_64x32_c : 30777.1
    vvc_avg_10_64x32_avx2 : 201.1
    vvc_avg_10_64x64_c : 60169.1
    vvc_avg_10_64x64_avx2 : 1454.3
    vvc_avg_10_64x128_c : 124392.8
    vvc_avg_10_64x128_avx2 : 3648.6
    vvc_avg_10_128x2_c : 3650.1
    vvc_avg_10_128x2_avx2 : 41.1
    vvc_avg_10_128x4_c : 22887.8
    vvc_avg_10_128x4_avx2 : 64.1
    vvc_avg_10_128x8_c : 14622.6
    vvc_avg_10_128x8_avx2 : 111.6
    vvc_avg_10_128x16_c : 62207.6
    vvc_avg_10_128x16_avx2 : 186.3
    vvc_avg_10_128x32_c : 59761.3
    vvc_avg_10_128x32_avx2 : 374.6
    vvc_avg_10_128x64_c : 117504.3
    vvc_avg_10_128x64_avx2 : 2684.6
    vvc_avg_10_128x128_c : 236767.6
    vvc_avg_10_128x128_avx2 : 15278.1
    vvc_avg_12_2x2_c : 78.6
    vvc_avg_12_2x2_avx2 : 26.1
    vvc_avg_12_2x4_c : 254.1
    vvc_avg_12_2x4_avx2 : 30.6
    vvc_avg_12_2x8_c : 261.8
    vvc_avg_12_2x8_avx2 : 39.1
    vvc_avg_12_2x16_c : 527.6
    vvc_avg_12_2x16_avx2 : 57.3
    vvc_avg_12_2x32_c : 1089.1
    vvc_avg_12_2x32_avx2 : 93.8
    vvc_avg_12_2x64_c : 2337.6
    vvc_avg_12_2x64_avx2 : 707.1
    vvc_avg_12_2x128_c : 4582.1
    vvc_avg_12_2x128_avx2 : 1414.6
    vvc_avg_12_4x2_c : 129.6
    vvc_avg_12_4x2_avx2 : 26.8
    vvc_avg_12_4x4_c : 427.3
    vvc_avg_12_4x4_avx2 : 30.6
    vvc_avg_12_4x8_c : 529.6
    vvc_avg_12_4x8_avx2 : 36.6
    vvc_avg_12_4x16_c : 1022.1
    vvc_avg_12_4x16_avx2 : 57.3
    vvc_avg_12_4x32_c : 1987.6
    vvc_avg_12_4x32_avx2 : 84.3
    vvc_avg_12_4x64_c : 4147.6
    vvc_avg_12_4x64_avx2 : 706.3
    vvc_avg_12_4x128_c : 8469.3
    vvc_avg_12_4x128_avx2 : 1448.3
    vvc_avg_12_8x2_c : 253.6
    vvc_avg_12_8x2_avx2 : 27.6
    vvc_avg_12_8x4_c : 836.3
    vvc_avg_12_8x4_avx2 : 32.1
    vvc_avg_12_8x8_c : 1074.6
    vvc_avg_12_8x8_avx2 : 45.1
    vvc_avg_12_8x16_c : 3616.8
    vvc_avg_12_8x16_avx2 : 71.6
    vvc_avg_12_8x32_c : 3823.6
    vvc_avg_12_8x32_avx2 : 140.1
    vvc_avg_12_8x64_c : 7764.8
    vvc_avg_12_8x64_avx2 : 656.1
    vvc_avg_12_8x128_c : 15896.1
    vvc_avg_12_8x128_avx2 : 1232.8
    vvc_avg_12_16x2_c : 462.1
    vvc_avg_12_16x2_avx2 : 26.8
    vvc_avg_12_16x4_c : 1732.1
    vvc_avg_12_16x4_avx2 : 29.1
    vvc_avg_12_16x8_c : 2097.6
    vvc_avg_12_16x8_avx2 : 62.6
    vvc_avg_12_16x16_c : 6753.1
    vvc_avg_12_16x16_avx2 : 47.8
    vvc_avg_12_16x32_c : 7373.1
    vvc_avg_12_16x32_avx2 : 80.8
    vvc_avg_12_16x64_c : 15046.3
    vvc_avg_12_16x64_avx2 : 621.1
    vvc_avg_12_16x128_c : 52574.6
    vvc_avg_12_16x128_avx2 : 1417.1
    vvc_avg_12_32x2_c : 1712.1
    vvc_avg_12_32x2_avx2 : 29.8
    vvc_avg_12_32x4_c : 2036.8
    vvc_avg_12_32x4_avx2 : 37.6
    vvc_avg_12_32x8_c : 4017.6
    vvc_avg_12_32x8_avx2 : 44.1
    vvc_avg_12_32x16_c : 8018.6
    vvc_avg_12_32x16_avx2 : 70.8
    vvc_avg_12_32x32_c : 15637.6
    vvc_avg_12_32x32_avx2 : 124.3
    vvc_avg_12_32x64_c : 31143.3
    vvc_avg_12_32x64_avx2 : 830.3
    vvc_avg_12_32x128_c : 75706.8
    vvc_avg_12_32x128_avx2 : 1604.8
    vvc_avg_12_64x2_c : 3230.3
    vvc_avg_12_64x2_avx2 : 33.6
    vvc_avg_12_64x4_c : 4139.6
    vvc_avg_12_64x4_avx2 : 45.1
    vvc_avg_12_64x8_c : 8201.6
    vvc_avg_12_64x8_avx2 : 67.1
    vvc_avg_12_64x16_c : 25632.3
    vvc_avg_12_64x16_avx2 : 110.3
    vvc_avg_12_64x32_c : 30744.3
    vvc_avg_12_64x32_avx2 : 200.3
    vvc_avg_12_64x64_c : 105554.8
    vvc_avg_12_64x64_avx2 : 1325.6
    vvc_avg_12_64x128_c : 235254.3
    vvc_avg_12_64x128_avx2 : 3132.6
    vvc_avg_12_128x2_c : 6194.3
    vvc_avg_12_128x2_avx2 : 55.1
    vvc_avg_12_128x4_c : 7583.8
    vvc_avg_12_128x4_avx2 : 79.3
    vvc_avg_12_128x8_c : 14635.6
    vvc_avg_12_128x8_avx2 : 104.3
    vvc_avg_12_128x16_c : 29270.8
    vvc_avg_12_128x16_avx2 : 194.3
    vvc_avg_12_128x32_c : 60113.6
    vvc_avg_12_128x32_avx2 : 346.3
    vvc_avg_12_128x64_c : 197030.3
    vvc_avg_12_128x64_avx2 : 2779.6
    vvc_avg_12_128x128_c : 432809.6
    vvc_avg_12_128x128_avx2 : 5513.3
    vvc_w_avg_8_2x2_c : 84.3
    vvc_w_avg_8_2x2_avx2 : 42.6
    vvc_w_avg_8_2x4_c : 156.3
    vvc_w_avg_8_2x4_avx2 : 58.8
    vvc_w_avg_8_2x8_c : 310.6
    vvc_w_avg_8_2x8_avx2 : 73.1
    vvc_w_avg_8_2x16_c : 942.1
    vvc_w_avg_8_2x16_avx2 : 113.3
    vvc_w_avg_8_2x32_c : 1098.8
    vvc_w_avg_8_2x32_avx2 : 202.6
    vvc_w_avg_8_2x64_c : 2414.3
    vvc_w_avg_8_2x64_avx2 : 467.6
    vvc_w_avg_8_2x128_c : 4763.8
    vvc_w_avg_8_2x128_avx2 : 1333.1
    vvc_w_avg_8_4x2_c : 140.1
    vvc_w_avg_8_4x2_avx2 : 49.8
    vvc_w_avg_8_4x4_c : 276.3
    vvc_w_avg_8_4x4_avx2 : 58.1
    vvc_w_avg_8_4x8_c : 524.3
    vvc_w_avg_8_4x8_avx2 : 72.3
    vvc_w_avg_8_4x16_c : 1108.1
    vvc_w_avg_8_4x16_avx2 : 111.8
    vvc_w_avg_8_4x32_c : 2149.8
    vvc_w_avg_8_4x32_avx2 : 199.6
    vvc_w_avg_8_4x64_c : 12288.1
    vvc_w_avg_8_4x64_avx2 : 509.3
    vvc_w_avg_8_4x128_c : 8398.6
    vvc_w_avg_8_4x128_avx2 : 1319.6
    vvc_w_avg_8_8x2_c : 271.1
    vvc_w_avg_8_8x2_avx2 : 44.1
    vvc_w_avg_8_8x4_c : 503.3
    vvc_w_avg_8_8x4_avx2 : 61.8
    vvc_w_avg_8_8x8_c : 1031.1
    vvc_w_avg_8_8x8_avx2 : 93.8
    vvc_w_avg_8_8x16_c : 2009.8
    vvc_w_avg_8_8x16_avx2 : 163.1
    vvc_w_avg_8_8x32_c : 4161.3
    vvc_w_avg_8_8x32_avx2 : 292.1
    vvc_w_avg_8_8x64_c : 7940.6
    vvc_w_avg_8_8x64_avx2 : 592.1
    vvc_w_avg_8_8x128_c : 16802.3
    vvc_w_avg_8_8x128_avx2 : 1287.6
    vvc_w_avg_8_16x2_c : 762.6
    vvc_w_avg_8_16x2_avx2 : 53.6
    vvc_w_avg_8_16x4_c : 1486.3
    vvc_w_avg_8_16x4_avx2 : 67.1
    vvc_w_avg_8_16x8_c : 1907.8
    vvc_w_avg_8_16x8_avx2 : 96.8
    vvc_w_avg_8_16x16_c : 3883.6
    vvc_w_avg_8_16x16_avx2 : 151.3
    vvc_w_avg_8_16x32_c : 7974.8
    vvc_w_avg_8_16x32_avx2 : 285.8
    vvc_w_avg_8_16x64_c : 25160.6
    vvc_w_avg_8_16x64_avx2 : 589.8
    vvc_w_avg_8_16x128_c : 58328.1
    vvc_w_avg_8_16x128_avx2 : 1169.8
    vvc_w_avg_8_32x2_c : 1009.1
    vvc_w_avg_8_32x2_avx2 : 65.6
    vvc_w_avg_8_32x4_c : 2091.1
    vvc_w_avg_8_32x4_avx2 : 96.8
    vvc_w_avg_8_32x8_c : 3997.8
    vvc_w_avg_8_32x8_avx2 : 156.3
    vvc_w_avg_8_32x16_c : 8216.8
    vvc_w_avg_8_32x16_avx2 : 269.6
    vvc_w_avg_8_32x32_c : 21746.1
    vvc_w_avg_8_32x32_avx2 : 635.3
    vvc_w_avg_8_32x64_c : 31564.8
    vvc_w_avg_8_32x64_avx2 : 1010.6
    vvc_w_avg_8_32x128_c : 114373.3
    vvc_w_avg_8_32x128_avx2 : 2013.6
    vvc_w_avg_8_64x2_c : 2067.3
    vvc_w_avg_8_64x2_avx2 : 97.6
    vvc_w_avg_8_64x4_c : 3901.1
    vvc_w_avg_8_64x4_avx2 : 154.8
    vvc_w_avg_8_64x8_c : 7911.6
    vvc_w_avg_8_64x8_avx2 : 268.8
    vvc_w_avg_8_64x16_c : 16508.8
    vvc_w_avg_8_64x16_avx2 : 501.8
    vvc_w_avg_8_64x32_c : 38770.3
    vvc_w_avg_8_64x32_avx2 : 1287.6
    vvc_w_avg_8_64x64_c : 110350.6
    vvc_w_avg_8_64x64_avx2 : 1890.8
    vvc_w_avg_8_64x128_c : 141354.6
    vvc_w_avg_8_64x128_avx2 : 3839.6
    vvc_w_avg_8_128x2_c : 7012.1
    vvc_w_avg_8_128x2_avx2 : 159.3
    vvc_w_avg_8_128x4_c : 8146.8
    vvc_w_avg_8_128x4_avx2 : 272.6
    vvc_w_avg_8_128x8_c : 24596.8
    vvc_w_avg_8_128x8_avx2 : 501.1
    vvc_w_avg_8_128x16_c : 35918.1
    vvc_w_avg_8_128x16_avx2 : 948.8
    vvc_w_avg_8_128x32_c : 68799.6
    vvc_w_avg_8_128x32_avx2 : 1963.1
    vvc_w_avg_8_128x64_c : 133862.1
    vvc_w_avg_8_128x64_avx2 : 3833.6
    vvc_w_avg_8_128x128_c : 348427.8
    vvc_w_avg_8_128x128_avx2 : 7682.8
    vvc_w_avg_10_2x2_c : 118.6
    vvc_w_avg_10_2x2_avx2 : 73.1
    vvc_w_avg_10_2x4_c : 189.1
    vvc_w_avg_10_2x4_avx2 : 89.3
    vvc_w_avg_10_2x8_c : 382.8
    vvc_w_avg_10_2x8_avx2 : 179.8
    vvc_w_avg_10_2x16_c : 658.3
    vvc_w_avg_10_2x16_avx2 : 185.1
    vvc_w_avg_10_2x32_c : 1409.3
    vvc_w_avg_10_2x32_avx2 : 290.8
    vvc_w_avg_10_2x64_c : 2906.8
    vvc_w_avg_10_2x64_avx2 : 793.1
    vvc_w_avg_10_2x128_c : 6292.6
    vvc_w_avg_10_2x128_avx2 : 1696.8
    vvc_w_avg_10_4x2_c : 178.8
    vvc_w_avg_10_4x2_avx2 : 80.1
    vvc_w_avg_10_4x4_c : 581.6
    vvc_w_avg_10_4x4_avx2 : 97.6
    vvc_w_avg_10_4x8_c : 693.3
    vvc_w_avg_10_4x8_avx2 : 128.1
    vvc_w_avg_10_4x16_c : 1436.6
    vvc_w_avg_10_4x16_avx2 : 179.8
    vvc_w_avg_10_4x32_c : 2409.1
    vvc_w_avg_10_4x32_avx2 : 292.3
    vvc_w_avg_10_4x64_c : 4925.3
    vvc_w_avg_10_4x64_avx2 : 746.1
    vvc_w_avg_10_4x128_c : 10664.6
    vvc_w_avg_10_4x128_avx2 : 1647.6
    vvc_w_avg_10_8x2_c : 359.3
    vvc_w_avg_10_8x2_avx2 : 80.1
    vvc_w_avg_10_8x4_c : 925.6
    vvc_w_avg_10_8x4_avx2 : 97.6
    vvc_w_avg_10_8x8_c : 1360.6
    vvc_w_avg_10_8x8_avx2 : 121.8
    vvc_w_avg_10_8x16_c : 3490.3
    vvc_w_avg_10_8x16_avx2 : 203.3
    vvc_w_avg_10_8x32_c : 5266.1
    vvc_w_avg_10_8x32_avx2 : 325.8
    vvc_w_avg_10_8x64_c : 11127.1
    vvc_w_avg_10_8x64_avx2 : 747.8
    vvc_w_avg_10_8x128_c : 31058.3
    vvc_w_avg_10_8x128_avx2 : 1424.6
    vvc_w_avg_10_16x2_c : 624.8
    vvc_w_avg_10_16x2_avx2 : 84.6
    vvc_w_avg_10_16x4_c : 1389.6
    vvc_w_avg_10_16x4_avx2 : 109.1
    vvc_w_avg_10_16x8_c : 2688.3
    vvc_w_avg_10_16x8_avx2 : 137.1
    vvc_w_avg_10_16x16_c : 5387.1
    vvc_w_avg_10_16x16_avx2 : 224.6
    vvc_w_avg_10_16x32_c : 10776.3
    vvc_w_avg_10_16x32_avx2 : 312.1
    vvc_w_avg_10_16x64_c : 18069.1
    vvc_w_avg_10_16x64_avx2 : 858.6
    vvc_w_avg_10_16x128_c : 43460.3
    vvc_w_avg_10_16x128_avx2 : 1411.6
    vvc_w_avg_10_32x2_c : 1232.8
    vvc_w_avg_10_32x2_avx2 : 99.1
    vvc_w_avg_10_32x4_c : 4017.6
    vvc_w_avg_10_32x4_avx2 : 134.1
    vvc_w_avg_10_32x8_c : 9306.3
    vvc_w_avg_10_32x8_avx2 : 208.1
    vvc_w_avg_10_32x16_c : 8424.6
    vvc_w_avg_10_32x16_avx2 : 349.3
    vvc_w_avg_10_32x32_c : 20787.8
    vvc_w_avg_10_32x32_avx2 : 655.3
    vvc_w_avg_10_32x64_c : 40972.1
    vvc_w_avg_10_32x64_avx2 : 904.8
    vvc_w_avg_10_32x128_c : 85670.3
    vvc_w_avg_10_32x128_avx2 : 1751.6
    vvc_w_avg_10_64x2_c : 2454.1
    vvc_w_avg_10_64x2_avx2 : 132.6
    vvc_w_avg_10_64x4_c : 5012.6
    vvc_w_avg_10_64x4_avx2 : 215.6
    vvc_w_avg_10_64x8_c : 10811.3
    vvc_w_avg_10_64x8_avx2 : 361.1
    vvc_w_avg_10_64x16_c : 33349.1
    vvc_w_avg_10_64x16_avx2 : 904.1
    vvc_w_avg_10_64x32_c : 41892.3
    vvc_w_avg_10_64x32_avx2 : 1220.6
    vvc_w_avg_10_64x64_c : 66983.3
    vvc_w_avg_10_64x64_avx2 : 2622.1
    vvc_w_avg_10_64x128_c : 246508.8
    vvc_w_avg_10_64x128_avx2 : 3316.8
    vvc_w_avg_10_128x2_c : 7791.6
    vvc_w_avg_10_128x2_avx2 : 198.8
    vvc_w_avg_10_128x4_c : 10534.3
    vvc_w_avg_10_128x4_avx2 : 337.3
    vvc_w_avg_10_128x8_c : 21142.3
    vvc_w_avg_10_128x8_avx2 : 614.8
    vvc_w_avg_10_128x16_c : 40968.6
    vvc_w_avg_10_128x16_avx2 : 1160.6
    vvc_w_avg_10_128x32_c : 113043.3
    vvc_w_avg_10_128x32_avx2 : 1644.6
    vvc_w_avg_10_128x64_c : 230658.3
    vvc_w_avg_10_128x64_avx2 : 5065.3
    vvc_w_avg_10_128x128_c : 335236.3
    vvc_w_avg_10_128x128_avx2 : 6450.3
    vvc_w_avg_12_2x2_c : 185.3
    vvc_w_avg_12_2x2_avx2 : 43.6
    vvc_w_avg_12_2x4_c : 340.3
    vvc_w_avg_12_2x4_avx2 : 55.8
    vvc_w_avg_12_2x8_c : 632.3
    vvc_w_avg_12_2x8_avx2 : 70.1
    vvc_w_avg_12_2x16_c : 728.3
    vvc_w_avg_12_2x16_avx2 : 108.1
    vvc_w_avg_12_2x32_c : 1392.6
    vvc_w_avg_12_2x32_avx2 : 176.8
    vvc_w_avg_12_2x64_c : 2618.3
    vvc_w_avg_12_2x64_avx2 : 757.3
    vvc_w_avg_12_2x128_c : 6408.8
    vvc_w_avg_12_2x128_avx2 : 1435.1
    vvc_w_avg_12_4x2_c : 349.3
    vvc_w_avg_12_4x2_avx2 : 44.3
    vvc_w_avg_12_4x4_c : 607.1
    vvc_w_avg_12_4x4_avx2 : 52.6
    vvc_w_avg_12_4x8_c : 1134.8
    vvc_w_avg_12_4x8_avx2 : 70.1
    vvc_w_avg_12_4x16_c : 1378.1
    vvc_w_avg_12_4x16_avx2 : 115.3
    vvc_w_avg_12_4x32_c : 2599.3
    vvc_w_avg_12_4x32_avx2 : 174.3
    vvc_w_avg_12_4x64_c : 4474.8
    vvc_w_avg_12_4x64_avx2 : 656.1
    vvc_w_avg_12_4x128_c : 11319.6
    vvc_w_avg_12_4x128_avx2 : 1373.1
    vvc_w_avg_12_8x2_c : 595.8
    vvc_w_avg_12_8x2_avx2 : 44.3
    vvc_w_avg_12_8x4_c : 1164.3
    vvc_w_avg_12_8x4_avx2 : 56.6
    vvc_w_avg_12_8x8_c : 2019.6
    vvc_w_avg_12_8x8_avx2 : 80.1
    vvc_w_avg_12_8x16_c : 4071.6
    vvc_w_avg_12_8x16_avx2 : 139.3
    vvc_w_avg_12_8x32_c : 4485.1
    vvc_w_avg_12_8x32_avx2 : 250.6
    vvc_w_avg_12_8x64_c : 8404.8
    vvc_w_avg_12_8x64_avx2 : 735.8
    vvc_w_avg_12_8x128_c : 35679.8
    vvc_w_avg_12_8x128_avx2 : 1252.6
    vvc_w_avg_12_16x2_c : 1114.8
    vvc_w_avg_12_16x2_avx2 : 46.6
    vvc_w_avg_12_16x4_c : 2240.1
    vvc_w_avg_12_16x4_avx2 : 62.6
    vvc_w_avg_12_16x8_c : 13174.6
    vvc_w_avg_12_16x8_avx2 : 88.6
    vvc_w_avg_12_16x16_c : 5334.6
    vvc_w_avg_12_16x16_avx2 : 144.3
    vvc_w_avg_12_16x32_c : 8378.1
    vvc_w_avg_12_16x32_avx2 : 234.6
    vvc_w_avg_12_16x64_c : 21300.8
    vvc_w_avg_12_16x64_avx2 : 761.8
    vvc_w_avg_12_16x128_c : 32786.8
    vvc_w_avg_12_16x128_avx2 : 1432.8
    vvc_w_avg_12_32x2_c : 2154.3
    vvc_w_avg_12_32x2_avx2 : 61.1
    vvc_w_avg_12_32x4_c : 4299.8
    vvc_w_avg_12_32x4_avx2 : 83.1
    vvc_w_avg_12_32x8_c : 7964.8
    vvc_w_avg_12_32x8_avx2 : 132.6
    vvc_w_avg_12_32x16_c : 13321.6
    vvc_w_avg_12_32x16_avx2 : 234.6
    vvc_w_avg_12_32x32_c : 21149.3
    vvc_w_avg_12_32x32_avx2 : 433.3
    vvc_w_avg_12_32x64_c : 43666.6
    vvc_w_avg_12_32x64_avx2 : 876.6
    vvc_w_avg_12_32x128_c : 83189.8
    vvc_w_avg_12_32x128_avx2 : 1756.6
    vvc_w_avg_12_64x2_c : 3829.8
    vvc_w_avg_12_64x2_avx2 : 83.1
    vvc_w_avg_12_64x4_c : 8588.1
    vvc_w_avg_12_64x4_avx2 : 127.1
    vvc_w_avg_12_64x8_c : 17027.6
    vvc_w_avg_12_64x8_avx2 : 310.6
    vvc_w_avg_12_64x16_c : 29797.8
    vvc_w_avg_12_64x16_avx2 : 415.6
    vvc_w_avg_12_64x32_c : 43854.3
    vvc_w_avg_12_64x32_avx2 : 773.3
    vvc_w_avg_12_64x64_c : 137767.3
    vvc_w_avg_12_64x64_avx2 : 1608.6
    vvc_w_avg_12_64x128_c : 316428.3
    vvc_w_avg_12_64x128_avx2 : 3249.8
    vvc_w_avg_12_128x2_c : 8824.6
    vvc_w_avg_12_128x2_avx2 : 130.3
    vvc_w_avg_12_128x4_c : 17173.6
    vvc_w_avg_12_128x4_avx2 : 219.3
    vvc_w_avg_12_128x8_c : 21997.8
    vvc_w_avg_12_128x8_avx2 : 397.3
    vvc_w_avg_12_128x16_c : 43553.8
    vvc_w_avg_12_128x16_avx2 : 790.1
    vvc_w_avg_12_128x32_c : 89792.1
    vvc_w_avg_12_128x32_avx2 : 1497.6
    vvc_w_avg_12_128x64_c : 226573.3
    vvc_w_avg_12_128x64_avx2 : 3153.1
    vvc_w_avg_12_128x128_c : 332090.1
    vvc_w_avg_12_128x128_avx2 : 6499.6

    Signed-off-by : Wu Jianhua <toqsxw@outlook.com>

    • [DH] libavcodec/x86/vvc/Makefile
    • [DH] libavcodec/x86/vvc/vvc_mc.asm
    • [DH] libavcodec/x86/vvc/vvcdsp_init.c