MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / write_padding

Function write_padding

libavcodec/vulkan_encode_av1.c:1177–1205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1175}
1176
1177static int write_padding(AVCodecContext *avctx, uint32_t padding,
1178 uint8_t *data, size_t *data_len)
1179{
1180 int err;
1181 VulkanEncodeAV1Context *enc = avctx->priv_data;
1182 CodedBitstreamFragment *obu = &enc->current_access_unit;
1183
1184 AV1RawOBU padding_obu = { 0 };
1185 AV1RawPadding *raw_padding = &padding_obu.obu.padding;
1186
1187 if (!padding)
1188 padding = 16;
1189
1190 /* 2 byte header + 1 byte trailing bits */
1191 padding_obu.header.obu_type = AV1_OBU_PADDING;
1192 *raw_padding = (AV1RawPadding) {
1193 .payload = enc->padding_payload,
1194 .payload_size = padding,
1195 };
1196
1197 err = vulkan_encode_av1_add_obu(avctx, obu, AV1_OBU_PADDING, &padding_obu);
1198 if (err < 0)
1199 goto fail;
1200
1201 err = vulkan_encode_av1_write_obu(avctx, data, data_len, obu);
1202fail:
1203 ff_cbs_fragment_reset(obu);
1204 return err;
1205}
1206
1207static const FFVulkanCodec enc_cb = {
1208 .flags = FF_HW_FLAG_B_PICTURES |

Callers

nothing calls this directly

Calls 2

Tested by

no test coverage detected