Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (21)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • 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 (4650)

  • Announcing the world’s fastest VP8 decoder : ffvp8

    24 juillet 2010, par Dark Shikari — ffmpeg, google, speed, VP8

    Back when I originally reviewed VP8, I noted that the official decoder, libvpx, was rather slow. While there was no particular reason that it should be much faster than a good H.264 decoder, it shouldn’t have been that much slower either ! So, I set out with Ronald Bultje and David Conrad to make a better one in FFmpeg. This one would be community-developed and free from the beginning, rather than the proprietary code-dump that was libvpx. A few weeks ago the decoder was complete enough to be bit-exact with libvpx, making it the first independent free implementation of a VP8 decoder. Now, with the first round of optimizations complete, it should be ready for primetime. I’ll go into some detail about the development process, but first, let’s get to the real meat of this post : the benchmarks.

    We tested on two 1080p clips : Parkjoy, a live-action 1080p clip, and the Sintel trailer, a CGI 1080p clip. Testing was done using “time ffmpeg -vcodec libvpx or vp8 -i input -vsync 0 -an -f null -”. We all used the latest SVN FFmpeg at the time of this posting ; the last revision optimizing the VP8 decoder was r24471.

    Parkjoy graphSintel graph

    As these benchmarks show, ffvp8 is clearly much faster than libvpx, particularly on 64-bit. It’s even faster by a large margin on Atom, despite the fact that we haven’t even begun optimizing for it. In many cases, ffvp8′s extra speed can make the difference between a video that plays and one that doesn’t, especially in modern browsers with software compositing engines taking up a lot of CPU time. Want to get faster playback of VP8 videos ? The next versions of FFmpeg-based players, like VLC, will include ffvp8. Want to get faster playback of WebM in your browser ? Lobby your browser developers to use ffvp8 instead of libvpx. I expect Chrome to switch first, as they already use libavcodec for most of their playback system.

    Keep in mind ffvp8 is not “done” — we will continue to improve it and make it faster. We still have a number of optimizations in the pipeline that aren’t committed yet.

    Developing ffvp8

    The initial challenge, primarily pioneered by David and Ronald, was constructing the core decoder and making it bit-exact to libvpx. This was rather challenging, especially given the lack of a real spec. Many parts of the spec were outright misleading and contradicted libvpx itself. It didn’t help that the suite of official conformance tests didn’t even cover all the features used by the official encoder ! We’ve already started adding our own conformance tests to deal with this. But I’ve complained enough in past posts about the lack of a spec ; let’s get onto the gritty details.

    The next step was adding SIMD assembly for all of the important DSP functions. VP8′s motion compensation and deblocking filter are by far the most CPU-intensive parts, much the same as in H.264. Unlike H.264, the deblocking filter relies on a lot of internal saturation steps, which are free in SIMD but costly in a normal C implementation, making the plain C code even slower. Of course, none of this is a particularly large problem ; any sane video decoder has all this stuff in SIMD.

    I tutored Ronald in x86 SIMD and wrote most of the motion compensation, intra prediction, and some inverse transforms. Ronald wrote the rest of the inverse transforms and a bit of the motion compensation. He also did the most difficult part : the deblocking filter. Deblocking filters are always a bit difficult because every one is different. Motion compensation, by comparison, is usually very similar regardless of video format ; a 6-tap filter is a 6-tap filter, and most of the variation going on is just the choice of numbers to multiply by.

    The biggest challenge in an SIMD deblocking filter is to avoid unpacking, that is, going from 8-bit to 16-bit. Many operations in deblocking filters would naively appear to require more than 8-bit precision. A simple example in the case of x86 is abs(a-b), where a and b are 8-bit unsigned integers. The result of “a-b” requires a 9-bit signed integer (it can be anywhere from -255 to 255), so it can’t fit in 8-bit. But this is quite possible to do without unpacking : (satsub(a,b) | satsub(b,a)), where “satsub” performs a saturating subtract on the two values. If the value is positive, it yields the result ; if the value is negative, it yields zero. Oring the two together yields the desired result. This requires 4 ops on x86 ; unpacking would probably require at least 10, including the unpack and pack steps.

    After the SIMD came optimizing the C code, which still took a significant portion of the total runtime. One of my biggest optimizations was adding aggressive “smart” prefetching to reduce cache misses. ffvp8 prefetches the reference frames (PREVIOUS, GOLDEN, and ALTREF)… but only the ones which have been used reasonably often this frame. This lets us prefetch everything we need without prefetching things that we probably won’t use. libvpx very often encodes frames that almost never (but not quite never) use GOLDEN or ALTREF, so this optimization greatly reduces time spent prefetching in a lot of real videos. There are of course countless other optimizations we made that are too long to list here as well, such as David’s entropy decoder optimizations. I’d also like to thank Eli Friedman for his invaluable help in benchmarking a lot of these changes.

    What next ? Altivec (PPC) assembly is almost nonexistent, with the only functions being David’s motion compensation code. NEON (ARM) is completely nonexistent : we’ll need that to be fast on mobile devices as well. Of course, all this will come in due time — and as always — patches welcome !

    Appendix : the raw numbers

    Here’s the raw numbers (in fps) for the graphs at the start of this post, with standard error values :

    Core i7 620QM (1.6Ghz), Windows 7, 32-bit :
    Parkjoy ffvp8 : 44.58 0.44
    Parkjoy libvpx : 33.06 0.23
    Sintel ffvp8 : 74.26 1.18
    Sintel libvpx : 56.11 0.96

    Core i5 520M (2.4Ghz), Linux, 64-bit :
    Parkjoy ffvp8 : 68.29 0.06
    Parkjoy libvpx : 41.06 0.04
    Sintel ffvp8 : 112.38 0.37
    Sintel libvpx : 69.64 0.09

    Core 2 T9300 (2.5Ghz), Mac OS X 10.6.4, 64-bit :
    Parkjoy ffvp8 : 54.09 0.02
    Parkjoy libvpx : 33.68 0.01
    Sintel ffvp8 : 87.54 0.03
    Sintel libvpx : 52.74 0.04

    Core Duo (2Ghz), Mac OS X 10.6.4, 32-bit :
    Parkjoy ffvp8 : 21.31 0.02
    Parkjoy libvpx : 17.96 0.00
    Sintel ffvp8 : 41.24 0.01
    Sintel libvpx : 29.65 0.02

    Atom N270 (1.6Ghz), Linux, 32-bit :
    Parkjoy ffvp8 : 15.29 0.01
    Parkjoy libvpx : 12.46 0.01
    Sintel ffvp8 : 26.87 0.05
    Sintel libvpx : 20.41 0.02

  • Announcing the World’s Worst VP8 Encoder

    5 octobre 2010, par Multimedia Mike — Outlandish Brainstorms, VP8

    I wanted to see if I could write an extremely basic VP8 encoder. It turned out to be one of the hardest endeavors I have ever attempted (and arguably one of the least successful).

    Results
    I started with the Big Buck Bunny title image :



    And this is the best encoding that this experiment could yield :



    Squint hard enough and you can totally make out the logo. Pretty silly effort, I know. It should also be noted that the resultant .webm file holding that single 400×225 image was 191324 bytes. When FFmpeg decoded it to a PNG, it was only 187200 bytes.

    The Story
    Remember my post about a naive SVQ1 encoder ? Long story short, I set out to do the same thing with VP8. (I wanted to the same thing with VP3/Theora for years. But take a good look at what it would entail to create even the most basic bitstream. As involved as VP8 may be, its bitstream is absolutely trivial compared to VP3/Theora.)

    With the naive SVQ1 encoder, the goal was to create a minimally compliant SVQ1 encoded bitstream. For this exercise, I similarly hypothesized what it would take to create the most basic, syntactically correct VP8 bitstream with the least amount of effort. These are the overall steps I came up with :

    • Intra-only
    • Create a basic bitstream header that disables any extra features (no modification of default tables)
    • Use a static quantizer
    • Use intra 16×16 coding for each macroblock
    • Use vertical prediction for the 16×16 intra coding

    For coding each macroblock :

    • Subtract vertical predictor from each row
    • Perform forward transform on each 4×4 sub block
    • Perform forward WHT on luma plane DCT coefficients
    • Pack the coefficients into the bitstream via the Boolean encoder

    It all sounds so simple. But, like I said in the SVQ1 post, it’s all very much like carefully bootstrapping a program to run on a particular CPU, and the VP8 decoder serves as the CPU. I’m confident that I have the bitstream encoding correct because, at the very least, the decoder agrees precisely with the encoder about the numbers represented by those 0s and 1s.

    What’s Wrong ?
    Compromises were made for the sake of getting some vaguely recognizable image encoded in a minimally valid manner. One big stumbling block is that I couldn’t seem to encode an end of block (EOB) condition correctly. I then realized that it’s perfectly valid to just encode a lot of zero coefficients rather than signaling EOB. An encoding travesty, I know, and likely one reason that the resulting filesize is so huge.

    More drama occurred when I hit my first block that had all zeros. There were complications in that situation that I couldn’t seem to avoid. So I forced the first AC coefficient to be 1 in that case. Hey, the decoder liked it.

    As for the generally weird look of the decoded image, I’m thinking that could either be : A) an artifact of forcing 16×16 vertical prediction or ; or B) a mistake in the way that I transformed and predicted stuff before sending it to the decoder. The smart money is on a combination of both A and B.

    Then again, as the SVQ1 experiment demonstrated, I shouldn’t expect extraordinary visual quality when setting the bar this low (i.e., just getting some bag of bits that doesn’t make the decoder barf).

  • Matomo maker InnoCraft named 2023 Hi-Tech Awards finalist

    20 avril 2023, par Erin — Press Releases

    WELLINGTON, N.Z., April 20, 2023 – InnoCraft, the makers of world-leading open-source web analytics platform Matomo, has been named an ASX Hi-Tech Emerging Company of the Year finalist in the 2023 Hi-Tech Awards. 



    Matomo founder Matthieu Aubry says, “At Matomo, we believe in empowering individuals and organizations to make informed decisions about their digital presence. By providing an open-source website analytics platform, we have created a more transparent and trustworthy digital ecosystem. We are proud to be recognised as a finalist for the Hi-Tech Awards, and we will continue to work towards a more open and ethical digital landscape, and grow the business in New Zealand and worldwide.”



    About Matomo

    Matomo, launched in 2007 as an open-source, privacy-friendly Google Analytics alternative, is trusted by over 1.5 million websites in 220 countries and has been translated in over 50 languages. Matomo tracks and analyses online visits and traffic to give users a deeper understanding of their website visitors to drive conversions and revenue ; while keeping businesses compliant with privacy laws worldwide, such as the EU’s General Data Protection Regulation (GDPR) and The California Consumer Privacy Act (CCPA).

    Aubry says Matomo is performing extremely well internationally as consumers and organizations look for privacy-focused analytics solutions, with several European countries already ruling the use of Google Analytics illegal due to data transfers to the US. In addition, Matomo’s user increase was recognized earlier this year with W3Tech’s award for the best web analytics software in its Web Technologies of the Year 2022 – with previous winners including Google Analytics and Facebook Pixel.



    A record number of companies entered the 2023 Hi-Tech Awards, with entries coming in from across the country and from all areas of the Hi-Tech sector. This depth is reflected in the line-up of finalists this year, according to David Downs, Chair of the Hi-Tech Trust, who says the standard of entries continue to grow every year.

”

    The hi-tech sector continues to flourish and it’s fantastic to see the success that so many of our companies enjoy on the international stage. This sector continues to prove its resilience and is at the forefront of our export economy in turbulent times,” says Downs.



    The Hi-Tech Awards Gala Dinner will take place on Friday, the 23rd of June, in Christchurch. 


     

    &lt;script type=&quot;text/javascript&quot;&gt;<br />
    console.log('script started!!!!');<br />
       var _paq = _paq || [];<br />
       _paq.push(['AbTesting::create', {<br />
           name: 'LanceTesting', // you can also use '18' (ID of the experiment) to hide the name<br />
           percentage: 100,<br />
           includedTargets: [{&quot;attribute&quot;:&quot;url&quot;,&quot;inverted&quot;:&quot;0&quot;,&quot;type&quot;:&quot;equals_simple&quot;,&quot;value&quot;:&quot;https:\/\/matomo.org\/blog\/2023\/01\/matomo-privacy-friendly-web-analytics-software-named-best-of-the-year-2022\/&quot;}],<br />
           excludedTargets: [],<br />
           variations: [<br />
               {<br />
                   name: 'original',<br />
                   activate: function (event) {<br />
                       // usually nothing needs to be done here<br />
                       console.log('group1');<br />
                   }<br />
               },<br />
               {<br />
                   name: 'Variation1', // you can also use '45' (ID of the variation) to hide the name<br />
                   percentage: 90,<br />
                   activate: function(event) {<br />
                       console.log('group2');<br />
                       event.redirect('https://matomo.org/blog/2023/08/matomo-named-2023-hi-tech-awards-finalist/');<br />
                   }<br />
               }            <br />
           ],<br />
           trigger: function () {<br />
               return true; // here you can further customize which of your visitors will participate in this experiment<br />
           }<br />
       }]);<br />
    &lt;/script&gt;