vaapi_encode_mjpeg: Move common structure into context

pull/293/merge
Mark Thompson 7 years ago
parent 46d1313fcd
commit 2c3ad16d3e
  1. 18
      libavcodec/vaapi_encode_mjpeg.c

@ -56,6 +56,8 @@ static const unsigned char vaapi_encode_mjpeg_quant_chrominance[64] = {
}; };
typedef struct VAAPIEncodeMJPEGContext { typedef struct VAAPIEncodeMJPEGContext {
VAAPIEncodeContext common;
int quality; int quality;
int component_subsample_h[3]; int component_subsample_h[3];
int component_subsample_v[3]; int component_subsample_v[3];
@ -83,8 +85,7 @@ static av_cold void vaapi_encode_mjpeg_copy_huffman(unsigned char *dst_lengths,
static av_cold void vaapi_encode_mjpeg_init_tables(AVCodecContext *avctx) static av_cold void vaapi_encode_mjpeg_init_tables(AVCodecContext *avctx)
{ {
VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodeMJPEGContext *priv = avctx->priv_data;
VAAPIEncodeMJPEGContext *priv = ctx->priv_data;
VAQMatrixBufferJPEG *quant = &priv->quant_tables; VAQMatrixBufferJPEG *quant = &priv->quant_tables;
VAHuffmanTableBufferJPEGBaseline *huff = &priv->huffman_tables; VAHuffmanTableBufferJPEGBaseline *huff = &priv->huffman_tables;
int i; int i;
@ -133,10 +134,9 @@ static int vaapi_encode_mjpeg_write_image_header(AVCodecContext *avctx,
VAAPIEncodeSlice *slice, VAAPIEncodeSlice *slice,
char *data, size_t *data_len) char *data, size_t *data_len)
{ {
VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodeMJPEGContext *priv = avctx->priv_data;
VAEncPictureParameterBufferJPEG *vpic = pic->codec_picture_params; VAEncPictureParameterBufferJPEG *vpic = pic->codec_picture_params;
VAEncSliceParameterBufferJPEG *vslice = slice->codec_slice_params; VAEncSliceParameterBufferJPEG *vslice = slice->codec_slice_params;
VAAPIEncodeMJPEGContext *priv = ctx->priv_data;
PutBitContext pbc; PutBitContext pbc;
int t, i, quant_scale; int t, i, quant_scale;
@ -242,8 +242,7 @@ static int vaapi_encode_mjpeg_write_extra_buffer(AVCodecContext *avctx,
int index, int *type, int index, int *type,
char *data, size_t *data_len) char *data, size_t *data_len)
{ {
VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodeMJPEGContext *priv = avctx->priv_data;
VAAPIEncodeMJPEGContext *priv = ctx->priv_data;
if (index == 0) { if (index == 0) {
// Write quantisation tables. // Write quantisation tables.
@ -270,9 +269,8 @@ static int vaapi_encode_mjpeg_write_extra_buffer(AVCodecContext *avctx,
static int vaapi_encode_mjpeg_init_picture_params(AVCodecContext *avctx, static int vaapi_encode_mjpeg_init_picture_params(AVCodecContext *avctx,
VAAPIEncodePicture *pic) VAAPIEncodePicture *pic)
{ {
VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodeMJPEGContext *priv = avctx->priv_data;
VAEncPictureParameterBufferJPEG *vpic = pic->codec_picture_params; VAEncPictureParameterBufferJPEG *vpic = pic->codec_picture_params;
VAAPIEncodeMJPEGContext *priv = ctx->priv_data;
vpic->reconstructed_picture = pic->recon_surface; vpic->reconstructed_picture = pic->recon_surface;
vpic->coded_buf = pic->output_buffer; vpic->coded_buf = pic->output_buffer;
@ -336,7 +334,7 @@ static int vaapi_encode_mjpeg_init_slice_params(AVCodecContext *avctx,
static av_cold int vaapi_encode_mjpeg_configure(AVCodecContext *avctx) static av_cold int vaapi_encode_mjpeg_configure(AVCodecContext *avctx)
{ {
VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodeContext *ctx = avctx->priv_data;
VAAPIEncodeMJPEGContext *priv = ctx->priv_data; VAAPIEncodeMJPEGContext *priv = avctx->priv_data;
priv->quality = avctx->global_quality; priv->quality = avctx->global_quality;
if (priv->quality < 1 || priv->quality > 100) { if (priv->quality < 1 || priv->quality > 100) {
@ -417,7 +415,7 @@ AVCodec ff_mjpeg_vaapi_encoder = {
.long_name = NULL_IF_CONFIG_SMALL("MJPEG (VAAPI)"), .long_name = NULL_IF_CONFIG_SMALL("MJPEG (VAAPI)"),
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_MJPEG, .id = AV_CODEC_ID_MJPEG,
.priv_data_size = sizeof(VAAPIEncodeContext), .priv_data_size = sizeof(VAAPIEncodeMJPEGContext),
.init = &vaapi_encode_mjpeg_init, .init = &vaapi_encode_mjpeg_init,
.encode2 = &ff_vaapi_encode2, .encode2 = &ff_vaapi_encode2,
.close = &ff_vaapi_encode_close, .close = &ff_vaapi_encode_close,

Loading…
Cancel
Save