Recherche avancée

Médias (1)

Mot : - Tags -/pirate bay

Autres articles (67)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (7615)

  • avutil : Fix linking x86 asm constants with Clang in MSVC mode

    12 juin, par Martin Storsjö
    avutil : Fix linking x86 asm constants with Clang in MSVC mode
    

    This fixes building with Clang in MSVC mode, for x86, which was
    broken in 6e49b8699657b808b7dc80033f2c3f2d0e029fa3 (in Nov 2024) ;
    previously it failed with undefined symbols for the constants
    defined with DECLARE_ASM_CONST, accessed via inline assembly.

    Before 57861911a34e1c33796be97f2b2f44e05fffd647, there was an
    #elif defined(__GNUC__) || defined(__clang__)
    case before the
    #elif defined(_MSC_VER)
    case for defining DECLARE_ASM_CONST, which included av_used.
    (This case included the explicit "defined(__clang__)" since
    f637046d3134a331e4b5a7243ac3dfb92735b8a5.)

    After 57861911a34e1c33796be97f2b2f44e05fffd647, it used the
    generic definition of DECLARE_ASM_CONST that also included
    av_used - which also worked for Clang in MSVC mode. But after
    6e49b8699657b808b7dc80033f2c3f2d0e029fa3, Clang in MSVC mode
    ended up using the MSVC specific variant which lacked the
    av_used declaration, causing linker errors due to undefined
    symbols.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavutil/mem_internal.h
  • FFMPEG C++/Kotlin Encode data from ByteArray (ByteBuffer) to subtitles and mux it with video

    21 août 2024, par Алексей Красноноженко

    I need to mux some byte data encoded to base64 String to mpeg-ts container. Can't find any solution to somehow encode this data to AVPacket. Using of "avcodec_encode_subtitle" supposes to have AVSubtitle with proper data. But how can I create/allocate AVSubtitle with my data ?

    &#xA;

    Upd. The only variant I managed to create (in Kotlin, as my app is KMP) is that, but it gives error "Invalid data found when processing input" when encoding

    &#xA;

    val data = AVSubtitleRect()&#xA;data.type(SUBTITLE_ASS)&#xA;data.ass(BytePointer(buffer))&#xA;val subtitle = AVSubtitle()&#xA;val pointerPointer = PointerPointer<avsubtitlerect>(1)&#xA;pointerPointer.put(data)&#xA;subtitle.rects(pointerPointer)&#xA;subtitle.pts(packet.pts())&#xA;&#xA;val bufferSize = 1024 * 1024&#xA;val encodedBuffer = BytePointer(av_malloc(bufferSize.toLong()))&#xA;&#xA;val result = avcodec_encode_subtitle(subtitleContext, encodedBuffer, bufferSize, subtitle)&#xA;&#xA;if (result >= 0) {&#xA;    val outSubtitlePacket = AVPacket()&#xA;    outSubtitlePacket.apply {&#xA;        data(encodedBuffer)&#xA;        outSubtitlePacket.size(result)&#xA;        outSubtitlePacket.stream_index(subtitleStreamIndex)&#xA;        duration(packet.duration())&#xA;        dts(packet.dts())&#xA;        pts(packet.pts())&#xA;        pos(packet.pos())&#xA;    }&#xA;&#xA;    av_interleaved_write_frame(avOutputCtx, outSubtitlePacket)&#xA;&#xA;    av_packet_unref(outSubtitlePacket)&#xA;    av_free(encodedBuffer)&#xA;}&#xA;</avsubtitlerect>

    &#xA;

    C equivalent

    &#xA;

    // Allocate the subtitle rect&#xA;AVSubtitleRect *data = av_mallocz(sizeof(AVSubtitleRect));&#xA;if (!data) {&#xA;    fprintf(stderr, "Could not allocate AVSubtitleRect.\n");&#xA;    return AVERROR(ENOMEM);&#xA;}&#xA;data->type = SUBTITLE_ASS;&#xA;data->ass = av_strdup(buffer);&#xA;if (!data->ass) {&#xA;    fprintf(stderr, "Could not allocate ASS buffer.\n");&#xA;    av_free(data);&#xA;    return AVERROR(ENOMEM);&#xA;}&#xA;&#xA;// Allocate the subtitle&#xA;AVSubtitle subtitle;&#xA;memset(&amp;subtitle, 0, sizeof(subtitle));&#xA;subtitle.rects = av_mallocz(sizeof(*subtitle.rects));&#xA;if (!subtitle.rects) {&#xA;    fprintf(stderr, "Could not allocate AVSubtitle rects.\n");&#xA;    av_free(data->ass);&#xA;    av_free(data);&#xA;    return AVERROR(ENOMEM);&#xA;}&#xA;subtitle.rects[0] = data;&#xA;subtitle.num_rects = 1;&#xA;subtitle.pts = packet->pts;&#xA;&#xA;// Allocate buffer for encoded subtitle&#xA;int bufferSize = 1024 * 1024;&#xA;uint8_t *encodedBuffer = av_malloc(bufferSize);&#xA;if (!encodedBuffer) {&#xA;    fprintf(stderr, "Could not allocate buffer for encoded subtitle.\n");&#xA;    av_free(subtitle.rects);&#xA;    av_free(data->ass);&#xA;    av_free(data);&#xA;    return AVERROR(ENOMEM);&#xA;}&#xA;&#xA;// Encode the subtitle&#xA;int result = avcodec_encode_subtitle(subtitleContext, encodedBuffer, bufferSize, &amp;subtitle);&#xA;if (result >= 0) {&#xA;    // Create the output subtitle packet&#xA;    AVPacket outSubtitlePacket;&#xA;    av_init_packet(&amp;outSubtitlePacket);&#xA;    outSubtitlePacket.data = encodedBuffer;&#xA;    outSubtitlePacket.size = result;&#xA;    outSubtitlePacket.stream_index = subtitleStreamIndex;&#xA;    outSubtitlePacket.duration = packet->duration;&#xA;    outSubtitlePacket.dts = packet->dts;&#xA;    outSubtitlePacket.pts = packet->pts;&#xA;    outSubtitlePacket.pos = packet->pos;&#xA;&#xA;    // Write the subtitle packet&#xA;    result = av_interleaved_write_frame(avOutputCtx, &amp;outSubtitlePacket);&#xA;    if (result &lt; 0) {&#xA;        fprintf(stderr, "Error while writing subtitle packet: %s\n", av_err2str(result));&#xA;    }&#xA;&#xA;    av_packet_unref(&amp;outSubtitlePacket);&#xA;    av_free(encodedBuffer);&#xA;} else {&#xA;    fprintf(stderr, "Failed to encode subtitles. Reason: %s\n", av_err2str(result));&#xA;    av_free(encodedBuffer);&#xA;}&#xA;&#xA;av_free(subtitle.rects);&#xA;av_free(data->ass);&#xA;av_free(data);&#xA;

    &#xA;

  • lavc/h264dsp : R-V V high-depth h264_idct8_add

    11 juillet 2024, par Rémi Denis-Courmont
    lavc/h264dsp : R-V V high-depth h264_idct8_add
    

    Unlike the 8-bit version, we need two iterations to process this within
    128-bit vectors. This adds some extra complexity for pointer arithmetic
    and counting down which is unnecessary in the 8-bit variant.

    Accordingly the gain relative to C are just slight better than half as
    good with 128-bit vectors as with 256-bit ones.

    T-Head C908 (2 iterations) :
    h264_idct8_add_9bpp_c : 17.5
    h264_idct8_add_9bpp_rvv_i32 : 10.0
    h264_idct8_add_10bpp_c : 17.5
    h264_idct8_add_10bpp_rvv_i32 : 9.7
    h264_idct8_add_12bpp_c : 17.7
    h264_idct8_add_12bpp_rvv_i32 : 9.7
    h264_idct8_add_14bpp_c : 17.7
    h264_idct8_add_14bpp_rvv_i32 : 9.7

    SpacemiT X60 (single iteration) :
    h264_idct8_add_9bpp_c : 15.2
    h264_idct8_add_9bpp_rvv_i32 : 5.0
    h264_idct8_add_10bpp_c : 15.2
    h264_idct8_add_10bpp_rvv_i32 : 5.0
    h264_idct8_add_12bpp_c : 14.7
    h264_idct8_add_12bpp_rvv_i32 : 5.0
    h264_idct8_add_14bpp_c : 14.7
    h264_idct8_add_14bpp_rvv_i32 : 4.7

    • [DH] libavcodec/riscv/h264dsp_init.c
    • [DH] libavcodec/riscv/h264idct_rvv.S