FFmpeg
|
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/rational.h"
#include "defs.h"
#include "packet.h"
#include "packet_internal.h"
Go to the source code of this file.
Functions | |
static void | get_packet_defaults (AVPacket *pkt) |
AVPacket * | av_packet_alloc (void) |
Allocate an AVPacket and set its fields to default values. More... | |
void | av_packet_free (AVPacket **pkt) |
Free the packet, if the packet is reference counted, it will be unreferenced first. More... | |
static int | packet_alloc (AVBufferRef **buf, int size) |
int | av_new_packet (AVPacket *pkt, int size) |
Allocate the payload of a packet and initialize its fields with default values. More... | |
void | av_shrink_packet (AVPacket *pkt, int size) |
Reduce packet size, correctly zeroing padding. More... | |
int | av_grow_packet (AVPacket *pkt, int grow_by) |
Increase packet size, correctly zeroing padding. More... | |
int | av_packet_from_data (AVPacket *pkt, uint8_t *data, int size) |
Initialize a reference-counted packet from av_malloc()ed data. More... | |
void | av_packet_free_side_data (AVPacket *pkt) |
Convenience function to free all the side data stored. More... | |
int | av_packet_add_side_data (AVPacket *pkt, enum AVPacketSideDataType type, uint8_t *data, size_t size) |
Wrap an existing array as a packet side data. More... | |
uint8_t * | av_packet_new_side_data (AVPacket *pkt, enum AVPacketSideDataType type, size_t size) |
Allocate new information of a packet. More... | |
uint8_t * | av_packet_get_side_data (const AVPacket *pkt, enum AVPacketSideDataType type, size_t *size) |
Get side information from packet. More... | |
const char * | av_packet_side_data_name (enum AVPacketSideDataType type) |
uint8_t * | av_packet_pack_dictionary (AVDictionary *dict, size_t *size) |
Pack a dictionary for use in side_data. More... | |
int | av_packet_unpack_dictionary (const uint8_t *data, size_t size, AVDictionary **dict) |
Unpack a dictionary from side_data. More... | |
int | av_packet_shrink_side_data (AVPacket *pkt, enum AVPacketSideDataType type, size_t size) |
Shrink the already allocated side data buffer. More... | |
int | av_packet_copy_props (AVPacket *dst, const AVPacket *src) |
Copy only "properties" fields from src to dst. More... | |
void | av_packet_unref (AVPacket *pkt) |
Wipe the packet. More... | |
int | av_packet_ref (AVPacket *dst, const AVPacket *src) |
Setup a new reference to the data described by a given packet. More... | |
AVPacket * | av_packet_clone (const AVPacket *src) |
Create a new packet that references the same data as src. More... | |
void | av_packet_move_ref (AVPacket *dst, AVPacket *src) |
Move every field in src to dst and reset src. More... | |
int | av_packet_make_refcounted (AVPacket *pkt) |
Ensure the data described by a given packet is reference counted. More... | |
int | av_packet_make_writable (AVPacket *pkt) |
Create a writable reference for the data described by a given packet, avoiding data copy if possible. More... | |
void | av_packet_rescale_ts (AVPacket *pkt, AVRational src_tb, AVRational dst_tb) |
Convert valid timing fields (timestamps / durations) in a packet from one timebase to another. More... | |
int | avpriv_packet_list_put (PacketList *packet_buffer, AVPacket *pkt, int(*copy)(AVPacket *dst, const AVPacket *src), int flags) |
Append an AVPacket to the list. More... | |
int | avpriv_packet_list_get (PacketList *pkt_buffer, AVPacket *pkt) |
Remove the oldest AVPacket in the list and return it. More... | |
void | avpriv_packet_list_free (PacketList *pkt_buf) |
Wipe the list and unref all the packets in it. More... | |
int | ff_side_data_set_encoder_stats (AVPacket *pkt, int quality, int64_t *error, int error_count, int pict_type) |
int | ff_side_data_set_prft (AVPacket *pkt, int64_t timestamp) |
const AVPacketSideData * | av_packet_side_data_get (const AVPacketSideData *sd, int nb_sd, enum AVPacketSideDataType type) |
Get side information from a side data array. More... | |
static AVPacketSideData * | packet_side_data_add (AVPacketSideData **psd, int *pnb_sd, enum AVPacketSideDataType type, void *data, size_t size) |
AVPacketSideData * | av_packet_side_data_add (AVPacketSideData **psd, int *pnb_sd, enum AVPacketSideDataType type, void *data, size_t size, int flags) |
Wrap existing data as packet side data. More... | |
AVPacketSideData * | av_packet_side_data_new (AVPacketSideData **psd, int *pnb_sd, enum AVPacketSideDataType type, size_t size, int flags) |
Allocate a new packet side data. More... | |
void | av_packet_side_data_remove (AVPacketSideData *sd, int *pnb_sd, enum AVPacketSideDataType type) |
Remove side data of the given type from a side data array. More... | |
void | av_packet_side_data_free (AVPacketSideData **psd, int *pnb_sd) |
Convenience function to free all the side data stored in an array, and the array itself. More... | |
|
static |
Definition at line 53 of file avpacket.c.
Referenced by av_new_packet(), av_packet_alloc(), av_packet_move_ref(), av_packet_unref(), and avpriv_packet_list_put().
|
static |
Definition at line 83 of file avpacket.c.
Referenced by av_new_packet(), av_packet_make_refcounted(), av_packet_make_writable(), and av_packet_ref().
int avpriv_packet_list_put | ( | PacketList * | list, |
AVPacket * | pkt, | ||
int(*)(AVPacket *dst, const AVPacket *src) | copy, | ||
int | flags | ||
) |
Append an AVPacket to the list.
list | A PacketList |
pkt | The packet being appended. The data described in it will be made reference counted if it isn't already. |
copy | A callback to copy the contents of the packet to the list. May be null, in which case the packet's reference will be moved to the list. |
Definition at line 541 of file avpacket.c.
Referenced by aiff_write_packet(), av_read_frame(), avformat_find_stream_info(), avformat_queue_attached_pictures(), ff_decklink_packet_queue_put(), flac_write_packet(), handle_new_packet(), mov_write_packet(), mp3_write_packet(), parse_packet(), and tta_write_packet().
int avpriv_packet_list_get | ( | PacketList * | list, |
AVPacket * | pkt | ||
) |
Remove the oldest AVPacket in the list and return it.
head | A pointer to a PacketList struct |
pkt | Pointer to an AVPacket struct |
Definition at line 580 of file avpacket.c.
Referenced by av_read_frame(), ff_decklink_packet_queue_flush(), ff_decklink_packet_queue_get(), ff_interleave_packet_per_dts(), ff_read_packet(), flac_queue_flush(), mov_write_ttml_document_from_queue(), mp3_queue_flush(), mxf_interleave_get_packet(), read_frame_internal(), and tta_queue_flush().
void avpriv_packet_list_free | ( | PacketList * | pkt_buf | ) |
Wipe the list and unref all the packets in it.
Definition at line 594 of file avpacket.c.
Referenced by aiff_deinit(), ff_flush_packet_queue(), flac_deinit(), matroska_parse_laces(), mov_free(), mp3_deinit(), and tta_deinit().
int ff_side_data_set_encoder_stats | ( | AVPacket * | pkt, |
int | quality, | ||
int64_t * | error, | ||
int | error_count, | ||
int | pict_type | ||
) |
Definition at line 607 of file avpacket.c.
Referenced by dnxhd_encode_picture(), eb_receive_packet(), encode_frame(), ff_mpv_encode_picture(), ff_qsv_encode(), libkvazaar_encode(), libx265_encode_frame(), libxeve_encode(), process_output_surface(), storeframe(), svq1_encode_frame(), X264_frame(), XAVS_frame(), and xvid_encode_frame().
Definition at line 632 of file avpacket.c.
Referenced by X264_frame().
|
static |
Definition at line 664 of file avpacket.c.
Referenced by av_packet_side_data_add(), and av_packet_side_data_new().