[FFmpeg-devel] [PATCH] vaapi: Add hevc hwaccel support

Michael Niedermayer michael at niedermayer.cc
Tue Aug 25 14:52:13 CEST 2015


On Tue, Aug 25, 2015 at 02:06:19PM +0200, Timo Rothenpieler wrote:
> ---
>  configure               |   2 +
>  libavcodec/Makefile     |   1 +
>  libavcodec/allcodecs.c  |   1 +
>  libavcodec/hevc.c       |   5 +-
>  libavcodec/vaapi_hevc.c | 442 ++++++++++++++++++++++++++++++++++++++++++++++++
>  5 files changed, 450 insertions(+), 1 deletion(-)
>  create mode 100644 libavcodec/vaapi_hevc.c

fails to build:
CC      libavcodec/vaapi_hevc.o
libavcodec/vaapi_hevc.c:34:5: error: unknown type name ‘VAPictureParameterBufferHEVC’
libavcodec/vaapi_hevc.c:35:5: error: unknown type name ‘VASliceParameterBufferHEVC’
libavcodec/vaapi_hevc.c:43:28: error: unknown type name ‘VAPictureHEVC’
libavcodec/vaapi_hevc.c:50:28: error: unknown type name ‘VAPictureHEVC’
libavcodec/vaapi_hevc.c: In function ‘find_frame_rps_type’:
libavcodec/vaapi_hevc.c:75:20: error: ‘VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:75:20: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/vaapi_hevc.c:80:20: error: ‘VA_PICTURE_HEVC_RPS_ST_CURR_AFTER’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:85:20: error: ‘VA_PICTURE_HEVC_RPS_LT_CURR’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c: At top level:
libavcodec/vaapi_hevc.c:91:62: error: unknown type name ‘VAPictureParameterBufferHEVC’
libavcodec/vaapi_hevc.c: In function ‘get_ref_pic_index’:
libavcodec/vaapi_hevc.c:117:5: error: unknown type name ‘VAPictureParameterBufferHEVC’
libavcodec/vaapi_hevc.c:123:31: error: request for member ‘ReferenceFrames’ in something not a structure or union
libavcodec/vaapi_hevc.c:123:62: error: request for member ‘ReferenceFrames’ in something not a structure or union
libavcodec/vaapi_hevc.c:124:29: error: request for member ‘ReferenceFrames’ in something not a structure or union
libavcodec/vaapi_hevc.c:125:21: error: request for member ‘ReferenceFrames’ in something not a structure or union
libavcodec/vaapi_hevc.c: At top level:
libavcodec/vaapi_hevc.c:133:59: error: unknown type name ‘VAPictureParameterBufferHEVC’
libavcodec/vaapi_hevc.c: In function ‘vaapi_hevc_start_frame’:
libavcodec/vaapi_hevc.c:260:5: error: unknown type name ‘VAPictureParameterBufferHEVC’
libavcodec/vaapi_hevc.c:261:5: error: unknown type name ‘VAIQMatrixBufferHEVC’
libavcodec/vaapi_hevc.c:266:38: error: ‘VASliceParameterBufferHEVC’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:269:56: error: ‘VAPictureParameterBufferHEVC’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:272:5: error: implicit declaration of function ‘fill_picture_parameters’ [-Werror=implicit-function-declaration]
libavcodec/vaapi_hevc.c:284:56: error: ‘VAIQMatrixBufferHEVC’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:287:21: error: request for member ‘ScalingList4x4’ in something not a structure or union
libavcodec/vaapi_hevc.c:287:78: error: request for member ‘ScalingList4x4’ in something not a structure or union
libavcodec/vaapi_hevc.c:288:21: error: request for member ‘ScalingList8x8’ in something not a structure or union
libavcodec/vaapi_hevc.c:288:78: error: request for member ‘ScalingList8x8’ in something not a structure or union
libavcodec/vaapi_hevc.c:289:21: error: request for member ‘ScalingList16x16’ in something not a structure or union
libavcodec/vaapi_hevc.c:289:80: error: request for member ‘ScalingList16x16’ in something not a structure or union
libavcodec/vaapi_hevc.c:290:21: error: request for member ‘ScalingList32x32’ in something not a structure or union
libavcodec/vaapi_hevc.c:290:80: error: request for member ‘ScalingList32x32’ in something not a structure or union
libavcodec/vaapi_hevc.c:291:21: error: request for member ‘ScalingListDC16x16’ in something not a structure or union
libavcodec/vaapi_hevc.c:291:83: error: request for member ‘ScalingListDC16x16’ in something not a structure or union
libavcodec/vaapi_hevc.c:292:21: error: request for member ‘ScalingListDC32x32’ in something not a structure or union
libavcodec/vaapi_hevc.c:292:83: error: request for member ‘ScalingListDC32x32’ in something not a structure or union
libavcodec/vaapi_hevc.c: In function ‘vaapi_hevc_end_frame’:
libavcodec/vaapi_hevc.c:307:33: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c: In function ‘vaapi_hevc_decode_slice’:
libavcodec/vaapi_hevc.c:331:5: error: unknown type name ‘VASliceParameterBufferHEVC’
libavcodec/vaapi_hevc.c:341:20: error: ‘VASliceParameterBufferHEVC’ undeclared (first use in this function)
libavcodec/vaapi_hevc.c:341:48: error: expected expression before ‘)’ token
libavcodec/vaapi_hevc.c:348:16: error: request for member ‘slice_data_flag’ in something not a structure or union
libavcodec/vaapi_hevc.c:351:16: error: request for member ‘slice_data_byte_offset’ in something not a structure or union
libavcodec/vaapi_hevc.c:353:16: error: request for member ‘slice_segment_address’ in something not a structure or union
libavcodec/vaapi_hevc.c:355:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:356:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:357:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:358:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:359:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:360:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:361:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:362:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:363:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:364:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:366:16: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:368:20: error: request for member ‘LongSliceFlags’ in something not a structure or union
libavcodec/vaapi_hevc.c:372:20: error: request for member ‘collocated_ref_idx’ in something not a structure or union
libavcodec/vaapi_hevc.c:374:20: error: request for member ‘collocated_ref_idx’ in something not a structure or union
libavcodec/vaapi_hevc.c:377:16: error: request for member ‘slice_qp_delta’ in something not a structure or union
libavcodec/vaapi_hevc.c:378:16: error: request for member ‘slice_cb_qp_offset’ in something not a structure or union
libavcodec/vaapi_hevc.c:379:16: error: request for member ‘slice_cr_qp_offset’ in something not a structure or union
libavcodec/vaapi_hevc.c:380:16: error: request for member ‘slice_beta_offset_div2’ in something not a structure or union
libavcodec/vaapi_hevc.c:381:16: error: request for member ‘slice_tc_offset_div2’ in something not a structure or union
libavcodec/vaapi_hevc.c:382:16: error: request for member ‘luma_log2_weight_denom’ in something not a structure or union
libavcodec/vaapi_hevc.c:383:16: error: request for member ‘delta_chroma_log2_weight_denom’ in something not a structure or union
libavcodec/vaapi_hevc.c:386:20: error: request for member ‘five_minus_max_num_merge_cand’ in something not a structure or union
libavcodec/vaapi_hevc.c:388:20: error: request for member ‘five_minus_max_num_merge_cand’ in something not a structure or union
libavcodec/vaapi_hevc.c:391:16: error: request for member ‘num_ref_idx_l0_active_minus1’ in something not a structure or union
libavcodec/vaapi_hevc.c:392:16: error: request for member ‘num_ref_idx_l1_active_minus1’ in something not a structure or union
libavcodec/vaapi_hevc.c:394:23: error: request for member ‘RefPicList’ in something not a structure or union
libavcodec/vaapi_hevc.c:394:61: error: request for member ‘RefPicList’ in something not a structure or union
libavcodec/vaapi_hevc.c:401:24: error: request for member ‘num_ref_idx_l1_active_minus1’ in something not a structure or union
libavcodec/vaapi_hevc.c:403:24: error: request for member ‘num_ref_idx_l0_active_minus1’ in something not a structure or union
libavcodec/vaapi_hevc.c:407:24: error: request for member ‘RefPicList’ in something not a structure or union
libavcodec/vaapi_hevc.c:412:20: error: request for member ‘delta_luma_weight_l0’ in something not a structure or union
libavcodec/vaapi_hevc.c:413:20: error: request for member ‘luma_offset_l0’ in something not a structure or union
libavcodec/vaapi_hevc.c:414:20: error: request for member ‘delta_chroma_weight_l0’ in something not a structure or union
libavcodec/vaapi_hevc.c:415:20: error: request for member ‘delta_chroma_weight_l0’ in something not a structure or union
libavcodec/vaapi_hevc.c:416:20: error: request for member ‘ChromaOffsetL0’ in something not a structure or union
libavcodec/vaapi_hevc.c:417:20: error: request for member ‘ChromaOffsetL0’ in something not a structure or union
libavcodec/vaapi_hevc.c:419:20: error: request for member ‘delta_luma_weight_l1’ in something not a structure or union
libavcodec/vaapi_hevc.c:420:20: error: request for member ‘luma_offset_l1’ in something not a structure or union
libavcodec/vaapi_hevc.c:421:20: error: request for member ‘delta_chroma_weight_l1’ in something not a structure or union
libavcodec/vaapi_hevc.c:422:20: error: request for member ‘delta_chroma_weight_l1’ in something not a structure or union
libavcodec/vaapi_hevc.c:423:20: error: request for member ‘ChromaOffsetL1’ in something not a structure or union
libavcodec/vaapi_hevc.c:424:20: error: request for member ‘ChromaOffsetL1’ in something not a structure or union
libavcodec/vaapi_hevc.c:327:25: warning: unused variable ‘vactx’ [-Wunused-variable]
libavcodec/vaapi_hevc.c: At top level:
libavcodec/vaapi_hevc.c:68:12: warning: ‘find_frame_rps_type’ defined but not used [-Wunused-function]
cc1: some warnings being treated as errors
make: *** [libavcodec/vaapi_hevc.o] Error 1
make: Target `all' not remade because of errors.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150825/ec5f66b5/attachment.sig>


More information about the ffmpeg-devel mailing list