FFmpeg
|
This file implements the glue code between FFmpeg's and VA API's structures for H.264 decoding. More...
Go to the source code of this file.
Data Structures | |
struct | DPB |
Decoded Picture Buffer (DPB). More... | |
Typedefs | |
typedef struct DPB | DPB |
Decoded Picture Buffer (DPB). More... | |
Functions | |
static void | init_vaapi_pic (VAPictureH264 *va_pic) |
Initialize an empty VA API picture. More... | |
static void | fill_vaapi_pic (VAPictureH264 *va_pic, Picture *pic, int pic_structure) |
Translate an FFmpeg Picture into its VA API form. More... | |
static int | dpb_add (DPB *dpb, Picture *pic) |
Append picture to the decoded picture buffer, in a VA API form that merges the second field picture attributes with the first, if available. More... | |
static int | fill_vaapi_ReferenceFrames (VAPictureParameterBufferH264 *pic_param, H264Context *h) |
Fill in VA API reference frames array. More... | |
static void | fill_vaapi_RefPicList (VAPictureH264 RefPicList[32], Picture *ref_list, unsigned int ref_count) |
Fill in VA API reference picture lists from the FFmpeg reference picture list. More... | |
static void | fill_vaapi_plain_pred_weight_table (H264Context *h, int list, unsigned char *luma_weight_flag, short luma_weight[32], short luma_offset[32], unsigned char *chroma_weight_flag, short chroma_weight[32][2], short chroma_offset[32][2]) |
Fill in prediction weight table. More... | |
static int | vaapi_h264_start_frame (AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size) |
Initialize and start decoding a frame with VA API. More... | |
static int | vaapi_h264_end_frame (AVCodecContext *avctx) |
End a hardware decoding based frame. More... | |
static int | vaapi_h264_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size) |
Decode the given H.264 slice with VA API. More... | |
Variables | |
AVHWAccel | ff_h264_vaapi_hwaccel |
Detailed Description
This file implements the glue code between FFmpeg's and VA API's structures for H.264 decoding.
Definition in file vaapi_h264.c.
Typedef Documentation
Function Documentation
Append picture to the decoded picture buffer, in a VA API form that merges the second field picture attributes with the first, if available.
The decoded picture buffer's size must be large enough to receive the new VA API picture object.
Definition at line 92 of file vaapi_h264.c.
Referenced by fill_vaapi_ReferenceFrames().
Translate an FFmpeg Picture into its VA API form.
- Parameters
-
[out] va_pic A pointer to VA API's own picture struct [in] pic A pointer to the FFmpeg picture struct to convert [in] pic_structure The picture field type (as defined in mpegvideo.h), supersedes pic's field type if nonzero.
Definition at line 53 of file vaapi_h264.c.
Referenced by dpb_add(), fill_vaapi_RefPicList(), and vaapi_h264_start_frame().
|
static |
Fill in prediction weight table.
VA API requires a plain prediction weight table as it does not infer any value.
- Parameters
-
[in] h A pointer to the current H.264 context [in] list The reference frame list index to use [out] luma_weight_flag VA API plain luma weight flag [out] luma_weight VA API plain luma weight table [out] luma_offset VA API plain luma offset table [out] chroma_weight_flag VA API plain chroma weight flag [out] chroma_weight VA API plain chroma weight table [out] chroma_offset VA API plain chroma offset table
Definition at line 185 of file vaapi_h264.c.
Referenced by vaapi_h264_decode_slice().
|
static |
Fill in VA API reference frames array.
Definition at line 123 of file vaapi_h264.c.
Referenced by vaapi_h264_start_frame().
|
static |
Fill in VA API reference picture lists from the FFmpeg reference picture list.
- Parameters
-
[out] RefPicList VA API internal reference picture list [in] ref_list A pointer to the FFmpeg reference list [in] ref_count The number of reference pictures in ref_list
Definition at line 157 of file vaapi_h264.c.
Referenced by vaapi_h264_decode_slice().
|
static |
Initialize an empty VA API picture.
VA API requires a fixed-size reference picture array.
Definition at line 37 of file vaapi_h264.c.
Referenced by fill_vaapi_ReferenceFrames(), and fill_vaapi_RefPicList().
|
static |
Decode the given H.264 slice with VA API.
Definition at line 313 of file vaapi_h264.c.
|
static |
End a hardware decoding based frame.
Definition at line 290 of file vaapi_h264.c.
|
static |
Initialize and start decoding a frame with VA API.
Definition at line 222 of file vaapi_h264.c.
Variable Documentation
AVHWAccel ff_h264_vaapi_hwaccel |
Definition at line 353 of file vaapi_h264.c.
Generated on Fri Dec 20 2024 06:56:16 for FFmpeg by 1.8.11