[FFmpeg-cvslog] avcodec/proresenc_anatoliy: move DC codebook LUT to shared proresdata

Clément Bœsch git at videolan.org
Wed Jan 10 15:21:56 EET 2024


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Mon Dec 11 01:17:18 2023 +0100| [f06f2cf16a47d7fad60dd0fa30db6e99445ad89f] | committer: Clément Bœsch

avcodec/proresenc_anatoliy: move DC codebook LUT to shared proresdata

This is going to be shared with proresenc_kostya in the upcoming commit.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f06f2cf16a47d7fad60dd0fa30db6e99445ad89f
---

 libavcodec/proresdata.c         | 2 ++
 libavcodec/proresdata.h         | 1 +
 libavcodec/proresenc_anatoliy.c | 3 +--
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/proresdata.c b/libavcodec/proresdata.c
index 167bedf794..00af97d4f1 100644
--- a/libavcodec/proresdata.c
+++ b/libavcodec/proresdata.c
@@ -44,6 +44,8 @@ const uint8_t ff_prores_interlaced_scan[64] = {
     46, 39, 47, 54, 61, 62, 55, 63
 };
 
+const uint8_t ff_prores_dc_codebook[7] = { 0x04, 0x28, 0x28, 0x4D, 0x4D, 0x70, 0x70 };
+
 const uint8_t ff_prores_run_to_cb[16] = { 0x06, 0x06, 0x05, 0x05, 0x04, 0x29,
         0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x4C };
 
diff --git a/libavcodec/proresdata.h b/libavcodec/proresdata.h
index 28eb3256b6..d859e93e88 100644
--- a/libavcodec/proresdata.h
+++ b/libavcodec/proresdata.h
@@ -29,6 +29,7 @@
 
 extern const uint8_t ff_prores_progressive_scan[64];
 extern const uint8_t ff_prores_interlaced_scan[64];
+extern const uint8_t ff_prores_dc_codebook[7];
 extern const uint8_t ff_prores_run_to_cb[16];
 extern const uint8_t ff_prores_level_to_cb[10];
 
diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index 25768b6c08..88be49af3e 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -266,7 +266,6 @@ static av_always_inline int get_level(int val)
     return (val ^ sign) - sign;
 }
 
-static const uint8_t dc_codebook[7] = { 0x04, 0x28, 0x28, 0x4D, 0x4D, 0x70, 0x70};
 
 static void encode_dc_coeffs(PutBitContext *pb, int16_t *in,
         int blocks_per_slice, int *qmat)
@@ -286,7 +285,7 @@ static void encode_dc_coeffs(PutBitContext *pb, int16_t *in,
         diff_sign = DIFF_SIGN(delta, sign);
         new_code  = TO_GOLOMB2(get_level(delta), diff_sign);
 
-        encode_codeword(pb, new_code, dc_codebook[FFMIN(code, 6)]);
+        encode_codeword(pb, new_code, ff_prores_dc_codebook[FFMIN(code, 6)]);
 
         code      = new_code;
         sign      = delta >> 31;



More information about the ffmpeg-cvslog mailing list