88 votes

ffmpeg.c que sont les pts et les dts ? que fait ce bloc de code dans ffmpeg.c ?

  • En termes simples, que sont les valeurs pts et dts ?
  • Pourquoi sont-ils importants lors du transcodage des vidéos [décoder-encoder] ?

Que fait ce bit de code dans ffmpeg.c , quel est son but ?

 01562    ist->next_pts = ist->pts = picture.best_effort_timestamp;
01563    if (ist->st->codec->time_base.num != 0) {
01564        int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;
01565        ist->next_pts += ((int64_t)AV_TIME_BASE *
01566                         ist->st->codec->time_base.num * ticks) /
01567                         ist->st->codec->time_base.den;
01568    }

-7voto

ShijithR Points 1

Les trames B sont prédites à partir des trames I et P. Les trames B ont généralement plus d'erreurs que I et P et ne sont donc pas recommandées pour la prédiction, bien qu'elles puissent être plus proches dans le temps. Il existe des algorithmes dans lesquels B est utilisé pour la prédiction, mais il provient d'une trame B passée et non de trames B futures.

Ainsi, dans une séquence IP B1 B2, l'ordre de décodage est IP B1 B2 et l'ordre d'affichage est I B1 B2 P. P est prédit à partir de I, B1 à partir de I et P, B2 à nouveau à partir de I et P.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X