这个是这样的,AVPacket 传给解码器的时候,解码器会把这个 AVPacket 的引用计数 +1,解码器内部用完这个 AVPacket 之后,会把他 -1。
默认情况是这样,不过 AVPacket 有一个属性是 not reference-counted,具体是哪个字段我忘了。
如果 AVPacket 是非引用状态,avcodec_send_packet 会把 AVPacket 整个拷贝一份,内部用完再释放。
也就是说,AVPacket 在没传给 解码器之前,他的引用计数是 1,在他被解码器用完之后,他还是 1,所以如果要释放,需要你自己再 unref 一下,把他弄成 0