History

vaapi_encode: Add flag to mark encoders supporting only constant-quality

And set it for MJPEG.

Mark Thompson committed 8 years ago

Commit fef21621 parent a7eda763 files · +6 −1Browse files

Unified · Split

3 files
  1. libavcodec/vaapi_encode.c +2 −1
  2. libavcodec/vaapi_encode.h +2 −0
  3. libavcodec/vaapi_encode_mjpeg.c +2 −0
libavcodec/vaapi_encode.c+2−1
@@ -1277,7 +1277,8 @@ static av_cold int vaapi_encode_init_rate_control(AVCodecContext *avctx) · 1276 unmodified lines
1277 ctx->va_rc_mode = VA_RC_CQP;1277 ctx->va_rc_mode = VA_RC_CQP;
1278 return 0;1278 return 0;
1279 }1279 }
1280 if (avctx->flags & AV_CODEC_FLAG_QSCALE ||1280 if (ctx->codec->flags & FLAG_CONSTANT_QUALITY_ONLY ||
1281 avctx->flags & AV_CODEC_FLAG_QSCALE ||
1281 avctx->bit_rate <= 0) {1282 avctx->bit_rate <= 0) {
1282 if (rc_attr.value & VA_RC_CQP) {1283 if (rc_attr.value & VA_RC_CQP) {
1283 av_log(avctx, AV_LOG_VERBOSE, "Using constant-quality mode.\n");1284 av_log(avctx, AV_LOG_VERBOSE, "Using constant-quality mode.\n");
libavcodec/vaapi_encode.h+2−0
@@ -251,6 +251,8 @@ typedef struct VAAPIEncodeContext { · 250 unmodified lines
251enum {251enum {
252 // Codec supports controlling the subdivision of pictures into slices.252 // Codec supports controlling the subdivision of pictures into slices.
253 FLAG_SLICE_CONTROL = 1 << 0,253 FLAG_SLICE_CONTROL = 1 << 0,
254 // Codec only supports constant quality (no rate control).
255 FLAG_CONSTANT_QUALITY_ONLY = 1 << 1,
254};256};
255 257
256typedef struct VAAPIEncodeType {258typedef struct VAAPIEncodeType {
libavcodec/vaapi_encode_mjpeg.c+2−0
@@ -476,6 +476,8 @@ static const VAAPIEncodeProfile vaapi_encode_mjpeg_profiles[] = { · 475 unmodified lines
476static const VAAPIEncodeType vaapi_encode_type_mjpeg = {476static const VAAPIEncodeType vaapi_encode_type_mjpeg = {
477 .profiles = vaapi_encode_mjpeg_profiles,477 .profiles = vaapi_encode_mjpeg_profiles,
478 478
479 .flags = FLAG_CONSTANT_QUALITY_ONLY,
480
479 .configure = &vaapi_encode_mjpeg_configure,481 .configure = &vaapi_encode_mjpeg_configure,
480 482
481 .picture_params_size = sizeof(VAEncPictureParameterBufferJPEG),483 .picture_params_size = sizeof(VAEncPictureParameterBufferJPEG),

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