summaryrefslogtreecommitdiffstats
path: root/contrib/ffmpeg/A07-cbs-av1-sint-parse.patch
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ffmpeg/A07-cbs-av1-sint-parse.patch')
-rw-r--r--contrib/ffmpeg/A07-cbs-av1-sint-parse.patch89
1 files changed, 0 insertions, 89 deletions
diff --git a/contrib/ffmpeg/A07-cbs-av1-sint-parse.patch b/contrib/ffmpeg/A07-cbs-av1-sint-parse.patch
deleted file mode 100644
index ce09f2503..000000000
--- a/contrib/ffmpeg/A07-cbs-av1-sint-parse.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a9e9303f26597b2a166374cd46b00adc0401e634 Mon Sep 17 00:00:00 2001
-From: James Almer <[email protected]>
-Date: Sat, 10 Nov 2018 22:52:12 -0300
-Subject: [PATCH] avcodec/cbs_av1: fix parsing signed integer values
-
-Reviewed-by: Mark Thompson <[email protected]>
-Signed-off-by: James Almer <[email protected]>
-(cherry picked from commit f0f2832a5ce93bad9b1d29f99df6bda2380fc41c)
----
- libavcodec/cbs_av1.c | 30 +++++++++---------------------
- 1 file changed, 9 insertions(+), 21 deletions(-)
-
-diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
-index ff32a6f..ed5211b 100644
---- a/libavcodec/cbs_av1.c
-+++ b/libavcodec/cbs_av1.c
-@@ -189,30 +189,26 @@ static int cbs_av1_read_su(CodedBitstreamContext *ctx, GetBitContext *gbc,
- int width, const char *name,
- const int *subscripts, int32_t *write_to)
- {
-- uint32_t magnitude;
-- int position, sign;
-+ int position;
- int32_t value;
-
- if (ctx->trace_enable)
- position = get_bits_count(gbc);
-
-- if (get_bits_left(gbc) < width + 1) {
-+ if (get_bits_left(gbc) < width) {
- av_log(ctx->log_ctx, AV_LOG_ERROR, "Invalid signed value at "
- "%s: bitstream ended.\n", name);
- return AVERROR_INVALIDDATA;
- }
-
-- magnitude = get_bits(gbc, width);
-- sign = get_bits1(gbc);
-- value = sign ? -(int32_t)magnitude : magnitude;
-+ value = get_sbits(gbc, width);
-
- if (ctx->trace_enable) {
- char bits[33];
- int i;
- for (i = 0; i < width; i++)
-- bits[i] = magnitude >> (width - i - 1) & 1 ? '1' : '0';
-- bits[i] = sign ? '1' : '0';
-- bits[i + 1] = 0;
-+ bits[i] = value & (1 << (width - i - 1)) ? '1' : '0';
-+ bits[i] = 0;
-
- ff_cbs_trace_syntax_element(ctx, position,
- name, subscripts, bits, value);
-@@ -226,29 +222,21 @@ static int cbs_av1_write_su(CodedBitstreamContext *ctx, PutBitContext *pbc,
- int width, const char *name,
- const int *subscripts, int32_t value)
- {
-- uint32_t magnitude;
-- int sign;
--
-- if (put_bits_left(pbc) < width + 1)
-+ if (put_bits_left(pbc) < width)
- return AVERROR(ENOSPC);
-
-- sign = value < 0;
-- magnitude = sign ? -value : value;
--
- if (ctx->trace_enable) {
- char bits[33];
- int i;
- for (i = 0; i < width; i++)
-- bits[i] = magnitude >> (width - i - 1) & 1 ? '1' : '0';
-- bits[i] = sign ? '1' : '0';
-- bits[i + 1] = 0;
-+ bits[i] = value & (1 << (width - i - 1)) ? '1' : '0';
-+ bits[i] = 0;
-
- ff_cbs_trace_syntax_element(ctx, put_bits_count(pbc),
- name, subscripts, bits, value);
- }
-
-- put_bits(pbc, width, magnitude);
-- put_bits(pbc, 1, sign);
-+ put_sbits(pbc, width, value);
-
- return 0;
- }
---
-1.9.1
-