
Recherche avancée
Autres articles (103)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang 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. -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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 ;
Sur d’autres sites (11707)
-
How to fill 'extradata' field of AVCodecContext with SPS and PPS data ?
17 juillet 2020, par Zhe ChenHere is the problem : When decoding H264 stream with
ffmpeg
, I can obtain raw data of SPS and PPS but I have no idea how to fill them into theextradata
field ofAVCodecContext
. Withoutextradata
, I can't decode frames properly. Every time I callavcodec_decodec_video2
, the return value is positive but thegot_picture
flag is alwayszero
.

The stream I am dealing with looks like this :


[0x67]...[0x68]...[0x61]...[0x61]... ....... [0x61]...[0x67]...[0x68]... ......



-
Detect if an interlaced video frame is the Top or Bottom field ?
21 décembre 2024, par DannyI'm decoding video PES packets (packetized elementary stream) containing H.264/AVC and H.265/HEVC using
libavcodec
like this :

while (remainingESBytes > 0)
{
 int bytesUsed = av_parser_parse2(
 mpParser, mpDecContext,
 &mpEncPacket->data, &mpEncPacket->size,
 pIn, remainingESBytes,
 AV_NOPTS_VALUE, AV_NOPTS_VALUE, 0);

 // send encoded packet for decoding
 int ret = avcodec_send_packet(mpDecContext, mpEncPacket);
 if (ret < 0)
 {
 // failed
 continue;
 }

 while (ret >= 0)
 {
 ret = avcodec_receive_frame(mpDecContext, mpDecFrame);
 /// Do stuff with frame ///
 }

 remainingESBytes = getMoreBytes()
}



Sometimes the input video is interlaced, in which case it seems
avcodec_receive_frame
is returning individual fields and not a merged frame of the top and bottom fields together.

I couldn't find any way for
avcodec_receive_frame
to emit a full, non-interlaced frame.

I can merge a top and bottom field together but I haven't found any way to identify if a given
AVFrame
is top or bottom.

How can I do that ?


EDIT I


Looking at the log output from the decoder, it appears the decoder knows if the field is top or bottom (carried by SEI ?) but still can't figure out how to access that information via the libavcodec API...


[hevc @ 0x1afcfc0] ENTER DECODE NAL TYPE 39. sei.ni_custom.type = -1
[hevc @ 0x1afcfc0] Set sei.ni_custom.type to -1.
[hevc @ 0x1afcfc0] ff_hevc_decode_nal_sei - s->ni_custom.type = -1
[hevc @ 0x1afcfc0] Decoding SEI [NAL Type 39]. ni_custom.type=-1
[hevc @ 0x1afcfc0] TOP Field
[hevc @ 0x1afcfc0] EXIT DECODE NAL TYPE 39. sei.ni_custom.type = -1



-
vpxdec : Change —pp-debug-info to be a bit field.
26 octobre 2010, par Fritz Koenigvpxdec : Change —pp-debug-info to be a bit field.