2 Stimmen

Was bedeutet das Wort "Kontext" normalerweise in Strukturen?

Ich versuche, eine Anwendung zu erstellen, die einige der ffmpeg-Bibliotheken verwendet, und mir fallen viele Datenstrukturen mit dem Wort "Context" darin auf.

Sie können hier einige sehen http://www.ffmpeg.org/doxygen/trunk/classes.html

Ich verstehe die Verwendung des Wortes "Kontext" in diesem Zusammenhang nicht.

Gibt es Hinweise darauf, was dies im Allgemeinen bedeutet?

3voto

Jack Punkte 128223

Wenn man sich die von Ihnen zur Verfügung gestellten Dokumentationen ansieht, scheint es mit dem Kontext eines bestimmten Codecs zusammenzuhängen, so dass jeder SomethingContext kapselt

  • die für diesen speziellen Codec erforderlichen Strukturen (Header usw.)
  • die verfügbaren Operationen beim Arbeiten mit diesem Codec (die je nach Komplexität des Codecs selbst variieren können)

etwas wie "bei der Arbeit mit H264 "

2voto

In C ist eine struct in der Regel das Mittel, mit dem die Instanziierung eines Objekts erfolgt.

Eine API verfügt über eine Funktion vom Typ new(), die eine dieser "Kontext"-Strukturen zuweist und einen Zeiger darauf bereitstellt.

Dieser Zeiger wird dann in der Regel an alle öffentlichen Funktionen dieser API übergeben.

z.B..

struct btree_state
   *btree_state;

btree_new( &btree_state );
btree_new_element( btree_state, pointer_to_user_data );

Auf diese Weise können wir mehrere Instanzen des gegebenen Objekts haben. Wir wählen die zu verwendende Instanz anhand des Zustandszeigers aus, den wir an die API-Funktionen übergeben.

2voto

WinkPa Punkte 21

Für FFMpeg kann man sich den "Kontext" wie eine Objektinstanz (c++, java "this") vorstellen. Ein Kontext wird erstellt, wenn eine Formatsitzung in FFMpeg geöffnet wird, wenn ein Eingabegerät geöffnet wird, ein Codec, und für ein Ausgabegerät

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X