libx264: Pass the reordered_opaque field through the encoder
authorMartin Storsjö <martin@martin.st>
Thu, 11 Oct 2018 13:03:10 +0000 (16:03 +0300)
committerMartin Storsjö <martin@martin.st>
Mon, 5 Nov 2018 13:41:14 +0000 (15:41 +0200)
commit80f85a95da293e9894c071b440c5a2e002e26ede
tree0147b5256fd24a71eebba3fb258643a1cbca7609
parenta3a501df240fa179fe12c2cf5dbbb4f1d9f650ca
libx264: Pass the reordered_opaque field through the encoder

libx264 does have a field for opaque data to pass along with frames
through the encoder, but it is a pointer, while the libavcodec
reordered_opaque field is an int64_t. Therefore, allocate an array
within the libx264 wrapper, where reordered_opaque values in flight
are stored, and pass a pointer to this array to libx264.

Update the public libavcodec documentation for the AVCodecContext
field to explain this usage, and add a codec capability that allows
detecting whether an encoder handles this field.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/avcodec.h
libavcodec/libx264.c
libavcodec/version.h