
Recherche avancée
Autres articles (103)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (11989)
-
Merge commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’
17 décembre 2015, par Hendrik LeppkesMerge commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’
* commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’ :
h264 : do not call frame_start() for missing framesNot merged, FFmpeg does a lot more in frame_start to setup missing frames
as well (like coloring them), and the overhead of the other setup is
minimal.Merged-by : Hendrik Leppkes <h.leppkes@gmail.com>
-
Revision 6fb8953c19 : Restrict ref mv search range. Experiment to test speed trade off of reducing th
5 novembre 2012, par Paul WilkinsChanged Paths : Modify /vp9/common/blockd.h Modify /vp9/common/mvref_common.c Restrict ref mv search range. Experiment to test speed trade off of reducing the extent of the ref mv search. Reducing the maximum number of tested candidates to 9 had minimal net effect on quality in any of the tests (...)
-
Libav FFv1 read_quant_table decoding errors
16 novembre 2023, par flanselI am having trouble encoding and decoding video using the 'ffv1' codec. Interestingly when the width and height are 640 or less, this works correctly, but with any "large" frame size such as 1280x720 I get the follow errors ...


[ffv1 @ 0x5612f4ab2240] read_quant_table error
[ffv1 @ 0x5612f4ab2240] Cannot decode non-keyframe without valid keyframe



Are there any options which need to be set, or am I doing something else incorrectly, I made the example very minimal, I am aware that I am not writing an image to the frame and simply allocating garbage in the buffers among other things.
Thanks in advance.


// minimal example
// ...
#define FRAMES (500)

int main(int argc, char **argv)
{
 AVCodecContext *enc, *dec;
 AVFrame *frame = av_frame_alloc();
 AVFrame *decoded_frame = av_frame_alloc();
 AVPacket *packet = av_packet_alloc();
 AVPacket *padded_packet = av_packet_alloc();

 const AVCodec *enc_codec = avcodec_find_encoder_by_name("ffv1");
 const AVCodec *dec_codec = avcodec_find_decoder_by_name("ffv1");
 enc = avcodec_alloc_context3(enc_codec);
 dec = avcodec_alloc_context3(dec_codec);

 enc->width = 1280;
 enc->height = 720;
 enc->pix_fmt = AV_PIX_FMT_YUV420P;
 enc->time_base.num = 1001;
 enc->time_base.den = 60000;

 dec->width = enc->width;
 dec->height = enc->height;

 avcodec_open2(enc, enc_codec, NULL);
 avcodec_open2(dec, dec_codec, NULL);

 frame->height = enc->height;
 frame->width = enc->width;
 frame->format = enc->pix_fmt;
 av_frame_get_buffer(frame, 32);
 printf("frame linesz %i,%i,%i\n", frame->linesize[0], frame->linesize[1], frame->linesize[2]);

 for (int i = 0; i < FRAMES; ++i)
 {
 avcodec_send_frame(enc, frame);
 while (!avcodec_receive_packet(enc, packet))
 {
 av_new_packet(padded_packet, packet->size + AV_INPUT_BUFFER_PADDING_SIZE);
 padded_packet->size -= AV_INPUT_BUFFER_PADDING_SIZE;

 memset(padded_packet->data, 0, padded_packet->size);
 memcpy(padded_packet->data, packet->data, packet->size);
 printf("frame %i encoded %i bytes\n", i, padded_packet->size);
 if (!avcodec_send_packet(dec, padded_packet))
 {
 printf("sent bytes to decoder\n");
 }
 }

 while (!avcodec_receive_frame(dec, decoded_frame))
 {
 printf("decoded frame height %i, width %i\n", decoded_frame->height, decoded_frame->width);
 }
 usleep(16000);
 }
 return 0;
}