FFmpeg
Data Structures | Functions
decode.h File Reference
#include "libavutil/buffer.h"
#include "libavutil/frame.h"
#include "libavutil/hwcontext.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  FrameDecodeData
 This struct stores per-frame lavc-internal data and is attached to it via private_ref. More...
 

Functions

int ff_decode_get_packet (AVCodecContext *avctx, AVPacket *pkt)
 Called by decoders to get the next packet for decoding. More...
 
int ff_decode_frame_props (AVCodecContext *avctx, AVFrame *frame)
 Set various frame properties from the codec context / packet data. More...
 
int ff_decode_get_hw_frames_ctx (AVCodecContext *avctx, enum AVHWDeviceType dev_type)
 Make sure avctx.hw_frames_ctx is set. More...
 
int ff_attach_decode_data (AVFrame *frame)
 
int ff_copy_palette (void *dst, const AVPacket *src, void *logctx)
 Check whether the side-data of src contains a palette of size AVPALETTE_SIZE; if so, copy it to dst and return 1; else return 0. More...
 
int ff_decode_preinit (AVCodecContext *avctx)
 Perform decoder initialization and validation. More...
 

Function Documentation

◆ ff_decode_get_packet()

int ff_decode_get_packet ( AVCodecContext avctx,
AVPacket pkt 
)

Called by decoders to get the next packet for decoding.

Parameters
pktAn empty packet to be filled with data.
Returns
0 if a new reference has been successfully written to pkt AVERROR(EAGAIN) if no data is currently available AVERROR_EOF if and end of stream has been reached, so no more data will be available

Definition at line 205 of file decode.c.

Referenced by binkaudio_receive_frame(), crystalhd_receive_frame(), cuvid_output_frame(), decode_simple_internal(), ffmmal_receive_frame(), libdav1d_receive_frame(), mediacodec_receive_frame(), mjpeg_get_packet(), and v4l2_receive_frame().

◆ ff_decode_frame_props()

int ff_decode_frame_props ( AVCodecContext avctx,
AVFrame frame 
)

◆ ff_decode_get_hw_frames_ctx()

int ff_decode_get_hw_frames_ctx ( AVCodecContext avctx,
enum AVHWDeviceType  dev_type 
)

Make sure avctx.hw_frames_ctx is set.

If it's not set, the function will try to allocate it from hw_device_ctx. If that is not possible, an error message is printed, and an error code is returned.

Definition at line 951 of file decode.c.

Referenced by ff_dxva2_decode_init(), ff_vaapi_decode_init(), and ff_vdpau_common_init().

◆ ff_attach_decode_data()

int ff_attach_decode_data ( AVFrame frame)

◆ ff_copy_palette()

int ff_copy_palette ( void *  dst,
const AVPacket src,
void *  logctx 
)

Check whether the side-data of src contains a palette of size AVPALETTE_SIZE; if so, copy it to dst and return 1; else return 0.

Also emit an error message upon encountering a palette with invalid size.

Definition at line 1624 of file decode.c.

Referenced by cinepak_decode_frame(), decode_frame(), gdv_decode_frame(), idcin_decode_frame(), imx_decode_frame(), ipvideo_decode_frame(), msrle_decode_frame(), msvideo1_decode_frame(), qtrle_decode_frame(), raw_decode(), rscc_decode_frame(), and smc_decode_frame().

◆ ff_decode_preinit()

int ff_decode_preinit ( AVCodecContext avctx)

Perform decoder initialization and validation.

Called when opening the decoder, before the FFCodec.init() call.

Definition at line 1529 of file decode.c.

Referenced by avcodec_open2().