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:52:14 +0000 (15:52 +0200)
commit882ae091d48b112004b977314884176841f12cef
tree2c6874736b576b6c434581d43fcaf6c333891f3a
parent4e9cff2824769e792c7867b09e1efb67278abe79
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