History

lavc/vaapi_encode: Add hardware config metadata

These encoders all accept VAAPI surfaces in a hardware frames context.

Mark Thompson committed 6 years ago

Commit 344e6c31 parent 5a1ff448 files · +14 −0Browse files

Unified · Split

8 files
  1. libavcodec/vaapi_encode.c +5 −0
  2. libavcodec/vaapi_encode.h +3 −0
  3. libavcodec/vaapi_encode_h264.c +1 −0
  4. libavcodec/vaapi_encode_h265.c +1 −0
  5. libavcodec/vaapi_encode_mjpeg.c +1 −0
  6. libavcodec/vaapi_encode_mpeg2.c +1 −0
  7. libavcodec/vaapi_encode_vp8.c +1 −0
  8. libavcodec/vaapi_encode_vp9.c +1 −0
libavcodec/vaapi_encode.c+5−0
@@ -27,6 +27,11 @@ · 26 unmodified lines
27#include "vaapi_encode.h"27#include "vaapi_encode.h"
28#include "avcodec.h"28#include "avcodec.h"
29 29
30const AVCodecHWConfigInternal *ff_vaapi_encode_hw_configs[] = {
31 HW_CONFIG_ENCODER_FRAMES(VAAPI, VAAPI),
32 NULL,
33};
34
30static const char * const picture_type_name[] = { "IDR", "I", "P", "B" };35static const char * const picture_type_name[] = { "IDR", "I", "P", "B" };
31 36
32static int vaapi_encode_make_packed_header(AVCodecContext *avctx,37static int vaapi_encode_make_packed_header(AVCodecContext *avctx,
libavcodec/vaapi_encode.h+3−0
@@ -31,6 +31,7 @@ · 30 unmodified lines
31#include "libavutil/hwcontext_vaapi.h"31#include "libavutil/hwcontext_vaapi.h"
32 32
33#include "avcodec.h"33#include "avcodec.h"
34#include "hwconfig.h"
34 35
35struct VAAPIEncodeType;36struct VAAPIEncodeType;
36struct VAAPIEncodePicture;37struct VAAPIEncodePicture;
@@ -44,6 +45,8 @@ enum { · 7 unmodified lines
44 MAX_PARAM_BUFFER_SIZE = 1024,45 MAX_PARAM_BUFFER_SIZE = 1024,
45};46};
46 47
48extern const AVCodecHWConfigInternal *ff_vaapi_encode_hw_configs[];
49
47enum {50enum {
48 PICTURE_TYPE_IDR = 0,51 PICTURE_TYPE_IDR = 0,
49 PICTURE_TYPE_I = 1,52 PICTURE_TYPE_I = 1,
libavcodec/vaapi_encode_h264.c+1−0
@@ -1361,5 +1361,6 @@ AVCodec ff_h264_vaapi_encoder = { · 1360 unmodified lines
1361 AV_PIX_FMT_VAAPI,1361 AV_PIX_FMT_VAAPI,
1362 AV_PIX_FMT_NONE,1362 AV_PIX_FMT_NONE,
1363 },1363 },
1364 .hw_configs = ff_vaapi_encode_hw_configs,
1364 .wrapper_name = "vaapi",1365 .wrapper_name = "vaapi",
1365};1366};
libavcodec/vaapi_encode_h265.c+1−0
@@ -1297,5 +1297,6 @@ AVCodec ff_hevc_vaapi_encoder = { · 1296 unmodified lines
1297 AV_PIX_FMT_VAAPI,1297 AV_PIX_FMT_VAAPI,
1298 AV_PIX_FMT_NONE,1298 AV_PIX_FMT_NONE,
1299 },1299 },
1300 .hw_configs = ff_vaapi_encode_hw_configs,
1300 .wrapper_name = "vaapi",1301 .wrapper_name = "vaapi",
1301};1302};
libavcodec/vaapi_encode_mjpeg.c+1−0
@@ -570,5 +570,6 @@ AVCodec ff_mjpeg_vaapi_encoder = { · 569 unmodified lines
570 AV_PIX_FMT_VAAPI,570 AV_PIX_FMT_VAAPI,
571 AV_PIX_FMT_NONE,571 AV_PIX_FMT_NONE,
572 },572 },
573 .hw_configs = ff_vaapi_encode_hw_configs,
573 .wrapper_name = "vaapi",574 .wrapper_name = "vaapi",
574};575};
libavcodec/vaapi_encode_mpeg2.c+1−0
@@ -707,5 +707,6 @@ AVCodec ff_mpeg2_vaapi_encoder = { · 706 unmodified lines
707 AV_PIX_FMT_VAAPI,707 AV_PIX_FMT_VAAPI,
708 AV_PIX_FMT_NONE,708 AV_PIX_FMT_NONE,
709 },709 },
710 .hw_configs = ff_vaapi_encode_hw_configs,
710 .wrapper_name = "vaapi",711 .wrapper_name = "vaapi",
711};712};
libavcodec/vaapi_encode_vp8.c+1−0
@@ -262,5 +262,6 @@ AVCodec ff_vp8_vaapi_encoder = { · 261 unmodified lines
262 AV_PIX_FMT_VAAPI,262 AV_PIX_FMT_VAAPI,
263 AV_PIX_FMT_NONE,263 AV_PIX_FMT_NONE,
264 },264 },
265 .hw_configs = ff_vaapi_encode_hw_configs,
265 .wrapper_name = "vaapi",266 .wrapper_name = "vaapi",
266};267};
libavcodec/vaapi_encode_vp9.c+1−0
@@ -296,5 +296,6 @@ AVCodec ff_vp9_vaapi_encoder = { · 295 unmodified lines
296 AV_PIX_FMT_VAAPI,296 AV_PIX_FMT_VAAPI,
297 AV_PIX_FMT_NONE,297 AV_PIX_FMT_NONE,
298 },298 },
299 .hw_configs = ff_vaapi_encode_hw_configs,
299 .wrapper_name = "vaapi",300 .wrapper_name = "vaapi",
300};301};

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t