mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/nvdec: Constify bitstream pointee
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
cd31eac999
commit
9ae40f282d
@ -680,7 +680,7 @@ int ff_nvdec_simple_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
|
|||||||
ctx->slice_offsets = tmp;
|
ctx->slice_offsets = tmp;
|
||||||
|
|
||||||
if (!ctx->bitstream)
|
if (!ctx->bitstream)
|
||||||
ctx->bitstream = (uint8_t*)buffer;
|
ctx->bitstream = buffer;
|
||||||
|
|
||||||
ctx->slice_offsets[ctx->nb_slices] = buffer - ctx->bitstream;
|
ctx->slice_offsets[ctx->nb_slices] = buffer - ctx->bitstream;
|
||||||
ctx->bitstream_len += size;
|
ctx->bitstream_len += size;
|
||||||
|
@ -56,7 +56,7 @@ typedef struct NVDECContext {
|
|||||||
|
|
||||||
struct NVDECDecoder *decoder; ///< RefStruct reference
|
struct NVDECDecoder *decoder; ///< RefStruct reference
|
||||||
|
|
||||||
uint8_t *bitstream;
|
const uint8_t *bitstream;
|
||||||
int bitstream_len;
|
int bitstream_len;
|
||||||
unsigned int bitstream_allocated;
|
unsigned int bitstream_allocated;
|
||||||
uint8_t *bitstream_internal;
|
uint8_t *bitstream_internal;
|
||||||
|
@ -303,7 +303,7 @@ static int nvdec_av1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
|
|||||||
|
|
||||||
/* Shortcut if all tiles are in the same buffer */
|
/* Shortcut if all tiles are in the same buffer */
|
||||||
if (ctx->nb_slices == s->tg_end - s->tg_start + 1) {
|
if (ctx->nb_slices == s->tg_end - s->tg_start + 1) {
|
||||||
ctx->bitstream = (uint8_t*)buffer;
|
ctx->bitstream = buffer;
|
||||||
ctx->bitstream_len = size;
|
ctx->bitstream_len = size;
|
||||||
|
|
||||||
for (int i = 0; i < ctx->nb_slices; ++i) {
|
for (int i = 0; i < ctx->nb_slices; ++i) {
|
||||||
@ -321,7 +321,7 @@ static int nvdec_av1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
|
|||||||
}
|
}
|
||||||
ctx->bitstream = ctx->bitstream_internal = tmp;
|
ctx->bitstream = ctx->bitstream_internal = tmp;
|
||||||
|
|
||||||
memcpy(ctx->bitstream + ctx->bitstream_len, buffer, size);
|
memcpy(ctx->bitstream_internal + ctx->bitstream_len, buffer, size);
|
||||||
|
|
||||||
for (uint32_t tile_num = s->tg_start; tile_num <= s->tg_end; ++tile_num) {
|
for (uint32_t tile_num = s->tg_start; tile_num <= s->tg_end; ++tile_num) {
|
||||||
ctx->slice_offsets[tile_num*2 ] = ctx->bitstream_len + s->tile_group_info[tile_num].tile_offset;
|
ctx->slice_offsets[tile_num*2 ] = ctx->bitstream_len + s->tile_group_info[tile_num].tile_offset;
|
||||||
|
@ -150,8 +150,8 @@ static int nvdec_h264_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
|
|||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
ctx->slice_offsets = tmp;
|
ctx->slice_offsets = tmp;
|
||||||
|
|
||||||
AV_WB24(ctx->bitstream + ctx->bitstream_len, 1);
|
AV_WB24(ctx->bitstream_internal + ctx->bitstream_len, 1);
|
||||||
memcpy(ctx->bitstream + ctx->bitstream_len + 3, buffer, size);
|
memcpy(ctx->bitstream_internal + ctx->bitstream_len + 3, buffer, size);
|
||||||
ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ;
|
ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ;
|
||||||
ctx->bitstream_len += size + 3;
|
ctx->bitstream_len += size + 3;
|
||||||
ctx->nb_slices++;
|
ctx->nb_slices++;
|
||||||
|
@ -286,8 +286,8 @@ static int nvdec_hevc_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
|
|||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
ctx->slice_offsets = tmp;
|
ctx->slice_offsets = tmp;
|
||||||
|
|
||||||
AV_WB24(ctx->bitstream + ctx->bitstream_len, 1);
|
AV_WB24(ctx->bitstream_internal + ctx->bitstream_len, 1);
|
||||||
memcpy(ctx->bitstream + ctx->bitstream_len + 3, buffer, size);
|
memcpy(ctx->bitstream_internal + ctx->bitstream_len + 3, buffer, size);
|
||||||
ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ;
|
ctx->slice_offsets[ctx->nb_slices] = ctx->bitstream_len ;
|
||||||
ctx->bitstream_len += size + 3;
|
ctx->bitstream_len += size + 3;
|
||||||
ctx->nb_slices++;
|
ctx->nb_slices++;
|
||||||
|
Loading…
Reference in New Issue
Block a user