/**
* Decode a Data packet.
* Return a negative value on error, otherwise return the number of bytes used.
* If no data was decompressed then size parameter of output is zero.
* In Output AVBuffer format of data is based on the codec used, to use the
* data directly from output buffer one might need to use header file of
* codec used as interface. This output buffer can be directly given to
* avcodec_encode_data api if encoder support that decoder output.
*
* @param avctx the codec context
* @param[out] output The Preallocated AVBuffer in which the decoded data will
* be stored, must be freed with free parameter of AVBuffer
* if size is not 0.
* @param[in] avpkt The input AVPacket containing the input buffer.
*/