mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
parent
b05d8e7184
commit
d0897da924
@ -53,7 +53,7 @@ static void init_vaapi_pic(VAPictureH264 *va_pic)
|
||||
* supersedes pic's field type if nonzero.
|
||||
*/
|
||||
static void fill_vaapi_pic(VAPictureH264 *va_pic,
|
||||
H264Picture *pic,
|
||||
const H264Picture *pic,
|
||||
int pic_structure)
|
||||
{
|
||||
if (pic_structure == 0)
|
||||
@ -91,7 +91,7 @@ typedef struct DPB {
|
||||
* available. The decoded picture buffer's size must be large enough
|
||||
* to receive the new VA API picture object.
|
||||
*/
|
||||
static int dpb_add(DPB *dpb, H264Picture *pic)
|
||||
static int dpb_add(DPB *dpb, const H264Picture *pic)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -123,7 +123,7 @@ static int dpb_add(DPB *dpb, H264Picture *pic)
|
||||
|
||||
/** Fill in VA API reference frames array. */
|
||||
static int fill_vaapi_ReferenceFrames(VAPictureParameterBufferH264 *pic_param,
|
||||
H264Context *h)
|
||||
const H264Context *h)
|
||||
{
|
||||
DPB dpb;
|
||||
int i;
|
||||
@ -135,13 +135,13 @@ static int fill_vaapi_ReferenceFrames(VAPictureParameterBufferH264 *pic_param,
|
||||
init_vaapi_pic(&dpb.va_pics[i]);
|
||||
|
||||
for (i = 0; i < h->short_ref_count; i++) {
|
||||
H264Picture * const pic = h->short_ref[i];
|
||||
const H264Picture *pic = h->short_ref[i];
|
||||
if (pic && pic->reference && dpb_add(&dpb, pic) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
H264Picture * const pic = h->long_ref[i];
|
||||
const H264Picture *pic = h->long_ref[i];
|
||||
if (pic && pic->reference && dpb_add(&dpb, pic) < 0)
|
||||
return -1;
|
||||
}
|
||||
@ -157,7 +157,7 @@ static int fill_vaapi_ReferenceFrames(VAPictureParameterBufferH264 *pic_param,
|
||||
* @param[in] ref_count The number of reference pictures in ref_list
|
||||
*/
|
||||
static void fill_vaapi_RefPicList(VAPictureH264 RefPicList[32],
|
||||
H264Ref *ref_list,
|
||||
const H264Ref *ref_list,
|
||||
unsigned int ref_count)
|
||||
{
|
||||
unsigned int i, n = 0;
|
||||
@ -185,7 +185,7 @@ static void fill_vaapi_RefPicList(VAPictureH264 RefPicList[32],
|
||||
* @param[out] chroma_weight VA API plain chroma weight table
|
||||
* @param[out] chroma_offset VA API plain chroma offset table
|
||||
*/
|
||||
static void fill_vaapi_plain_pred_weight_table(H264Context *h,
|
||||
static void fill_vaapi_plain_pred_weight_table(const H264Context *h,
|
||||
int list,
|
||||
unsigned char *luma_weight_flag,
|
||||
short luma_weight[32],
|
||||
@ -194,7 +194,7 @@ static void fill_vaapi_plain_pred_weight_table(H264Context *h,
|
||||
short chroma_weight[32][2],
|
||||
short chroma_offset[32][2])
|
||||
{
|
||||
H264SliceContext *sl = &h->slice_ctx[0];
|
||||
const H264SliceContext *sl = &h->slice_ctx[0];
|
||||
unsigned int i, j;
|
||||
|
||||
*luma_weight_flag = sl->pwt.luma_weight_flag[list];
|
||||
@ -227,8 +227,8 @@ static int vaapi_h264_start_frame(AVCodecContext *avctx,
|
||||
av_unused const uint8_t *buffer,
|
||||
av_unused uint32_t size)
|
||||
{
|
||||
H264Context * const h = avctx->priv_data;
|
||||
FFVAContext * const vactx = ff_vaapi_get_context(avctx);
|
||||
const H264Context *h = avctx->priv_data;
|
||||
FFVAContext *vactx = ff_vaapi_get_context(avctx);
|
||||
const PPS *pps = h->ps.pps;
|
||||
const SPS *sps = h->ps.sps;
|
||||
VAPictureParameterBufferH264 *pic_param;
|
||||
@ -293,8 +293,8 @@ static int vaapi_h264_start_frame(AVCodecContext *avctx,
|
||||
/** End a hardware decoding based frame. */
|
||||
static int vaapi_h264_end_frame(AVCodecContext *avctx)
|
||||
{
|
||||
FFVAContext * const vactx = ff_vaapi_get_context(avctx);
|
||||
H264Context * const h = avctx->priv_data;
|
||||
FFVAContext *vactx = ff_vaapi_get_context(avctx);
|
||||
const H264Context *h = avctx->priv_data;
|
||||
H264SliceContext *sl = &h->slice_ctx[0];
|
||||
int ret;
|
||||
|
||||
@ -318,9 +318,9 @@ static int vaapi_h264_decode_slice(AVCodecContext *avctx,
|
||||
const uint8_t *buffer,
|
||||
uint32_t size)
|
||||
{
|
||||
FFVAContext * const vactx = ff_vaapi_get_context(avctx);
|
||||
H264Context * const h = avctx->priv_data;
|
||||
H264SliceContext *sl = &h->slice_ctx[0];
|
||||
FFVAContext *vactx = ff_vaapi_get_context(avctx);
|
||||
const H264Context *h = avctx->priv_data;
|
||||
const H264SliceContext *sl = &h->slice_ctx[0];
|
||||
VASliceParameterBufferH264 *slice_param;
|
||||
|
||||
/* Fill in VASliceParameterBufferH264. */
|
||||
|
Loading…
Reference in New Issue
Block a user