Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (60)

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (5294)

  • avcodec/roqvideodec : Move transient GetByteContext to the stack

    30 août 2020, par Andreas Rheinhardt
    avcodec/roqvideodec : Move transient GetByteContext to the stack
    

    This avoids keeping potentially dangling pointers in the context,
    beautifies the code (by replacing "&ri->gb" by gb for every access to
    the GetByteContext) and also highlights the GetByteContext's short-lived
    nature better.

    Reviewed-by : Paul B Mahol <onemda@gmail.com>
    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavcodec/roqvideo.h
    • [DH] libavcodec/roqvideodec.c
  • avcodec/tiff : Restrict tag order based on specification

    20 août 2020, par Michael Niedermayer
    avcodec/tiff : Restrict tag order based on specification
    

    "The entries in an IFD must be sorted in ascending order by Tag. Note that this is
    not the order in which the fields are described in this document."

    This way various dimensions, sample and bit sizes cannot be changed at
    arbitrary times which reduces the potential for bugs.
    The tag reading code also on various places assumes that numerically previous
    tags have already been parsed, so this needs to be enforced one way or another.

    If this commit causes problems with real world files which are not easy to fix
    then some other form of checks are needed to ensure the various dependencies
    in the tag reading are not violated.

    Fixes : out of array access
    Fixes : 24825/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-6326925027704832

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/tiff.c
  • Getting error "DLL load failed while importing rect : %1 is not a valid Win32 application" while importing package

    17 août 2020, par Sagar Donadkar

    I am using cython package to call Cpp API and in my cpp code i am using ffmpeg library and able to build my code successfully using bellow command

    &#xA;

    python setup.py build_ext --inplace --compiler=msvc&#xA;

    &#xA;

    but when i try to import generated pyd file then i get error

    &#xA;

    PS D:\SiVUE\Backend\Cython\demo> python&#xA;Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32&#xA;Type "help", "copyright", "credits" or "license" for more information.&#xA;>>> import rect&#xA;Traceback (most recent call last):&#xA;  File "<stdin>", line 1, in <module>&#xA;ImportError: DLL load failed while importing rect: %1 is not a valid Win32 application.&#xA;>>> &#xA;</module></stdin>

    &#xA;

    My entire code is provided bellow

    &#xA;

    header file&#xA;#ifndef RECTANGLE_H&#xA;#define RECTANGLE_H&#xA;#include <iostream>&#xA;&#xA;extern "C"&#xA;{&#xA;    #include "libavformat/avformat.h"&#xA;    #include "libavutil/dict.h"&#xA;}&#xA;&#xA;using namespace std;&#xA;&#xA;namespace shapes &#xA;{&#xA;    class Rectangle {&#xA;        public:&#xA;            int x0, y0, x1, y1;&#xA;            Rectangle();&#xA;            Rectangle(int x0, int y0, int x1, int y1);&#xA;            ~Rectangle();&#xA;            int getArea();&#xA;            int ffmpegFile();&#xA;            void getSize(int* width, int* height);&#xA;            void move(int dx, int dy);&#xA;    };&#xA;}&#xA;&#xA;#endif&#xA;</iostream>

    &#xA;

    Rectangle.Cpp file in ffmpegFile() i am calling mostly ffmpeg API

    &#xA;

    &#xA;#include <iostream>&#xA;#include "Rectangle.hpp"&#xA;&#xA;namespace shapes {&#xA;    &#xA;&#xA;    // Default constructor&#xA;    Rectangle::Rectangle () {}&#xA;&#xA;    // Overloaded constructor&#xA;    Rectangle::Rectangle (int x0, int y0, int x1, int y1) {&#xA;        this->x0 = x0;&#xA;        this->y0 = y0;&#xA;        this->x1 = x1;&#xA;        this->y1 = y1;&#xA;    }&#xA;&#xA;    // Destructor&#xA;    Rectangle::~Rectangle () {}&#xA;&#xA;    // Return the area of the rectangle&#xA;    int Rectangle::getArea () {&#xA;        return 10;&#xA;    }&#xA;&#xA;    // Get the size of the rectangle.&#xA;    // Put the size in the pointer args&#xA;    void Rectangle::getSize (int *width, int *height) {&#xA;        (*width) = x1 - x0;&#xA;        (*height) = y1 - y0;&#xA;    }&#xA;&#xA;    // Move the rectangle by dx dy&#xA;    void Rectangle::move (int dx, int dy) {&#xA;        this->x0 &#x2B;= dx;&#xA;        this->y0 &#x2B;= dy;&#xA;        this->x1 &#x2B;= dx;&#xA;        this->y1 &#x2B;= dy;&#xA;    }&#xA;    int Rectangle::ffmpegFile()&#xA;    {&#xA;        AVFormatContext *fmt_ctx = NULL;&#xA;        AVDictionaryEntry *tag = NULL;&#xA;        int ret = 0;&#xA;        char* filename = "D:\\Discovery.mp4";&#xA;&#xA;        if ((ret = avformat_open_input(&amp;fmt_ctx, filename, NULL, NULL)))&#xA;            return ret;&#xA;&#xA;        if ((ret = avformat_find_stream_info(fmt_ctx, NULL)) &lt; 0) {&#xA;            av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");&#xA;            return ret;&#xA;        }&#xA;&#xA;        while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))&#xA;            printf("%s=%s\n", tag->key, tag->value);&#xA;&#xA;        avformat_close_input(&amp;fmt_ctx);&#xA;        return ret;&#xA;    }&#xA;}&#xA;</iostream>

    &#xA;

    Rectangle.pxd file declaration for cpp file function and variable

    &#xA;

    cdef extern from "Rectangle.cpp":&#xA;    pass&#xA;cdef extern from "Rectangle.hpp" namespace "shapes":&#xA;    cdef cppclass Rectangle:&#xA;        Rectangle() except &#x2B;&#xA;        Rectangle(int, int, int, int) except &#x2B;&#xA;        int x0, y0, x1, y1&#xA;        int getArea()&#xA;        void getSize(int* width, int* height)&#xA;        void move(int, int)&#xA;        int ffmpegFile()&#xA;

    &#xA;

    rect.pyx file i am calling cpp API

    &#xA;

    # distutils: language = c&#x2B;&#x2B;&#xA;&#xA;from Rectangle cimport Rectangle&#xA;&#xA;cdef class PyRectangle:&#xA;    cdef Rectangle c_rect  # Hold a C&#x2B;&#x2B; instance which we&#x27;re wrapping&#xA;&#xA;    def __cinit__(self, int x0, int y0, int x1, int y1):&#xA;        self.c_rect = Rectangle(x0, y0, x1, y1)&#xA;&#xA;    def get_area(self):&#xA;        return self.c_rect.getArea()&#xA;&#xA;    def get_size(self):&#xA;        cdef int width, height&#xA;        self.c_rect.getSize(&amp;width, &amp;height)&#xA;        return width, height&#xA;&#xA;    def move(self):&#xA;        print(self.c_rect.ffmpegFile())&#xA;

    &#xA;

    setup.py&#xA;I provided pyx file and ffmpeg library path as well as include path

    &#xA;

    from distutils.core import setup&#xA;from setuptools import Extension&#xA;from Cython.Build import cythonize &#xA;&#xA;sfc_module = [Extension(&#x27;rect&#x27;, sources = [&#x27;rect.pyx&#x27;],&#xA;                       include_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\&#x27;],&#xA;                       library_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\lib\\&#x27;],&#xA;                       libraries = [&#x27;avcodec&#x27;,&#x27;avdevice&#x27;,&#x27;avfilter&#x27;,&#x27;avformat&#x27;,&#x27;avutil&#x27;,&#x27;postproc&#x27;,&#x27;swresample&#x27;,&#x27;swscale&#x27;],&#xA;                       language=&#x27;c&#x2B;&#x2B;&#x27;)]&#xA;&#xA;setup(name = &#x27;superfastcode&#x27;, version = &#x27;1.0&#x27;,&#xA;    description = &#x27;Python Package with superfastcode C&#x2B;&#x2B; extension&#x27;,&#xA;    ext_modules = cythonize(sfc_module),&#xA;    include_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\&#x27;]&#xA;    )&#xA;

    &#xA;

    Thank You

    &#xA;