mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/cbs_jpeg: Use memcpy when writing pictures
This is possible because the size of a scan header is always a multiple of a byte. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
ce920f4793
commit
5ad1c1a18a
|
@ -327,7 +327,7 @@ static int cbs_jpeg_write_scan(CodedBitstreamContext *ctx,
|
|||
PutBitContext *pbc)
|
||||
{
|
||||
JPEGRawScan *scan = unit->content;
|
||||
int i, err;
|
||||
int err;
|
||||
|
||||
err = cbs_jpeg_write_scan_header(ctx, pbc, &scan->header);
|
||||
if (err < 0)
|
||||
|
@ -337,8 +337,12 @@ static int cbs_jpeg_write_scan(CodedBitstreamContext *ctx,
|
|||
if (scan->data_size * 8 > put_bits_left(pbc))
|
||||
return AVERROR(ENOSPC);
|
||||
|
||||
for (i = 0; i < scan->data_size; i++)
|
||||
put_bits(pbc, 8, scan->data[i]);
|
||||
av_assert0(put_bits_count(pbc) % 8 == 0);
|
||||
|
||||
flush_put_bits(pbc);
|
||||
|
||||
memcpy(put_bits_ptr(pbc), scan->data, scan->data_size);
|
||||
skip_put_bytes(pbc, scan->data_size);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue