Recherche avancée

Médias (91)

Autres articles (74)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

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

  • Do we have to return full buffers each time our AVIO `read_packet()` callback from FFMPEG is called ?

    8 janvier 2023, par Alexis Wilke

    I allocate an AVIO context with my own read_packet() implementation. Only my implementation is such that I may return with a count smaller than the required input buf_size. Is that allowed ? Or do we have to fill the buffer as much as possible each time out read_packet() function gets called ?

    


    // initialization&#xA;    [...snip...]&#xA;    m_avio_context.reset(avio_alloc_context(&#xA;                          avio_buffer&#xA;                        , avio_buffer_size&#xA;                        , 0             // write flag&#xA;                        , this          // opaque&#xA;                        , &amp;FFMPEGDecoder::decoder_read_static&#xA;                        , nullptr       // write func.&#xA;                        , nullptr));    // seek func.&#xA;    [...snip...]&#xA;&#xA;// implementation of static function&#xA;int FFMPEGDecoder::decoder_read_static(void * opaque, std::uint8_t * buf, int size)&#xA;{&#xA;    return reinterpret_cast<ffmpegdecoder>(opaque)->decoder_read(buf, size);&#xA;}&#xA;&#xA;// the actual read_packet()&#xA;int FFMPEGDecoder::decoder_read(std::uint8_t * buf, int size)&#xA;{&#xA;    // in flushing mode, we won&#x27;t receive any more packets&#xA;    //&#xA;    if(m_flushing)&#xA;    {&#xA;        return 0;&#xA;    }&#xA;&#xA;    // m_packet is my own packet implementation (an std::vector&lt;>)&#xA;    //&#xA;    while(m_packet == nullptr&#xA;       || static_cast(m_read_pos) >= m_packet->size())&#xA;    {&#xA;        if(!m_incoming_packets.pop_front(m_packet, -1))&#xA;        {&#xA;            return 0;&#xA;        }&#xA;        if(m_packet->is_flush())&#xA;        {&#xA;            m_flushing = true;&#xA;            return 0;&#xA;        }&#xA;        m_read_pos = 0;&#xA;    }&#xA;&#xA;    // the number of bytes to copy size `size` or less if there are&#xA;    // less bytes available in my m_packet&#xA;    //&#xA;    int const copy(std::min(static_cast(size), m_packet->size() - m_read_pos));&#xA;&#xA;    memcpy(buf, m_packet->data().data() &#x2B; m_read_pos, copy);&#xA;&#xA;    m_read_pos &#x2B;= copy;&#xA;&#xA;    return copy;&#xA;}&#xA;</ffmpegdecoder>

    &#xA;

    I'm not looking for a way to fill the buffer, I'm going to implement it that way now. I'm looking for confirmation (or not) that the FFMPEG libraries are not capable of accepting less than size bytes in buf when our read_packet() gets called.

    &#xA;

    Do you know ?

    &#xA;

  • Capture full-range/lossless rgb frame from capture card that supports NV12 and YUYV output

    13 janvier 2023, par kunal joshi

    I am trying to make a program which captures an image, then i need to compare captured image and the input data which i displayed, both should matc pixel by pixel

    &#xA;

    Here are the details of my capture card

    &#xA;

    $ v4l2-ctl —list-formats-ext -d /dev/video0

    &#xA;

    ioctl: VIDIOC_ENUM_FMT&#xA;        Type: Video Capture&#xA;&#xA;        [0]: &#x27;NV12&#x27; (Y/CbCr 4:2:0)&#xA;                Size: Discrete 3840x2160&#xA;                        Interval: Discrete 0.033s (30.000 fps)&#xA;                Size: Discrete 2560x1440&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;                Size: Discrete 1920x1080&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;                Size: Discrete 1280x720&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;                Size: Discrete 640x480&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;        [1]: &#x27;YUYV&#x27; (YUYV 4:2:2)&#xA;                Size: Discrete 2560x1440&#xA;                        Interval: Discrete 0.020s (50.000 fps)&#xA;                Size: Discrete 1920x1080&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;                Size: Discrete 1280x720&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;                Size: Discrete 640x480&#xA;                        Interval: Discrete 0.017s (60.000 fps)&#xA;        [2]: &#x27;&#x27; (30313050-0000-0010-8000-00aa003)&#xA;        [3]: &#x27;&#x27; (e436eb7e-524f-11ce-9f53-0020af0)&#xA;&#xA;

    &#xA;

    $ v4l2-ctl —all

    &#xA;

    Driver Info:&#xA;        Driver name      : uvcvideo&#xA;        Card type        : ITE HDMI 4K&#x2B; Bridge: ITE HDMI 4&#xA;        Bus info         : usb-0000:00:14.0-6&#xA;        Driver version   : 5.18.0&#xA;        Capabilities     : 0x84a00001&#xA;                Video Capture&#xA;                Metadata Capture&#xA;                Streaming&#xA;                Extended Pix Format&#xA;                Device Capabilities&#xA;        Device Caps      : 0x04200001&#xA;                Video Capture&#xA;                Streaming&#xA;                Extended Pix Format&#xA;Priority: 2&#xA;Video input : 0 (Camera 1: ok)&#xA;Format Video Capture:&#xA;        Width/Height      : 1920/1080&#xA;        Pixel Format      : &#x27;YUYV&#x27; (YUYV 4:2:2)&#xA;        Field             : None&#xA;        Bytes per Line    : 3840&#xA;        Size Image        : 4147200&#xA;        Colorspace        : sRGB&#xA;        Transfer Function : Rec. 709&#xA;        YCbCr/HSV Encoding: Rec. 709&#xA;        Quantization      : Default (maps to Limited Range)&#xA;        Flags             :&#xA;Crop Capability Video Capture:&#xA;        Bounds      : Left 0, Top 0, Width 1920, Height 1080&#xA;        Default     : Left 0, Top 0, Width 1920, Height 1080&#xA;        Pixel Aspect: 1/1&#xA;Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:&#xA;Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:&#xA;Streaming Parameters Video Capture:&#xA;        Capabilities     : timeperframe&#xA;        Frames per second: 60.000 (60/1)&#xA;        Read buffers     : 0&#xA;&#xA;&#xA;

    &#xA;

    I have tried using various methods opencv but ffmpeg came the closest

    &#xA;

    With below command i am able to get good results but not what i want

    &#xA;

    ffmpeg -y -f v4l2 -pix_fmt NV12 -video_size 1920x1080 -i /dev/video0 -pix_fmt bgra -frames:v 10 webcam%03d.bmp&#xA;

    &#xA;

    Reference Image

    &#xA;

    RGB of Reference image

    &#xA;

    RGB of captured image

    &#xA;

    Note :- I am able to capture fine with Aforge on windows, but not with ffmpeg on linux.&#xA;Would like to know if anyone has already got solution to this.

    &#xA;

    Thanks in advance.

    &#xA;

  • swscale/output : Add rgba64/rgb48/bgra64/bgr48 output functions with full chroma inter...

    17 juin 2015, par Michael Niedermayer
    swscale/output : Add rgba64/rgb48/bgra64/bgr48 output functions with full chroma interpolation
    

    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] libswscale/output.c
    • [DH] libswscale/utils.c
    • [DH] tests/ref/fate/filter-pixfmts-scale