mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
dsputil: Move DV-specific ff_zigzag248_direct table to dvdata
This commit is contained in:
parent
57b5b84e20
commit
5f92204370
@ -57,19 +57,6 @@ uint32_t ff_square_tab[512] = { 0, };
|
|||||||
#define pb_7f (~0UL / 255 * 0x7f)
|
#define pb_7f (~0UL / 255 * 0x7f)
|
||||||
#define pb_80 (~0UL / 255 * 0x80)
|
#define pb_80 (~0UL / 255 * 0x80)
|
||||||
|
|
||||||
/* Specific zigzag scan for 248 idct. NOTE that unlike the
|
|
||||||
* specification, we interleave the fields */
|
|
||||||
const uint8_t ff_zigzag248_direct[64] = {
|
|
||||||
0, 8, 1, 9, 16, 24, 2, 10,
|
|
||||||
17, 25, 32, 40, 48, 56, 33, 41,
|
|
||||||
18, 26, 3, 11, 4, 12, 19, 27,
|
|
||||||
34, 42, 49, 57, 50, 58, 35, 43,
|
|
||||||
20, 28, 5, 13, 6, 14, 21, 29,
|
|
||||||
36, 44, 51, 59, 52, 60, 37, 45,
|
|
||||||
22, 30, 7, 15, 23, 31, 38, 46,
|
|
||||||
53, 61, 54, 62, 39, 47, 55, 63,
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint8_t ff_alternate_horizontal_scan[64] = {
|
const uint8_t ff_alternate_horizontal_scan[64] = {
|
||||||
0, 1, 2, 3, 8, 9, 16, 17,
|
0, 1, 2, 3, 8, 9, 16, 17,
|
||||||
10, 11, 4, 5, 6, 7, 15, 14,
|
10, 11, 4, 5, 6, 7, 15, 14,
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
/* encoding scans */
|
/* encoding scans */
|
||||||
extern const uint8_t ff_alternate_horizontal_scan[64];
|
extern const uint8_t ff_alternate_horizontal_scan[64];
|
||||||
extern const uint8_t ff_alternate_vertical_scan[64];
|
extern const uint8_t ff_alternate_vertical_scan[64];
|
||||||
extern const uint8_t ff_zigzag248_direct[64];
|
|
||||||
|
|
||||||
extern uint32_t ff_square_tab[512];
|
extern uint32_t ff_square_tab[512];
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ av_cold int ff_dvvideo_init(AVCodecContext *avctx)
|
|||||||
/* 248DCT setup */
|
/* 248DCT setup */
|
||||||
s->fdct[1] = dsp.fdct248;
|
s->fdct[1] = dsp.fdct248;
|
||||||
s->idct_put[1] = ff_simple_idct248_put; // FIXME: need to add it to DSP
|
s->idct_put[1] = ff_simple_idct248_put; // FIXME: need to add it to DSP
|
||||||
memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
|
memcpy(s->dv_zigzag[1], ff_dv_zigzag248_direct, 64);
|
||||||
|
|
||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
|
avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
|
||||||
|
@ -28,6 +28,19 @@
|
|||||||
|
|
||||||
#include "dvdata.h"
|
#include "dvdata.h"
|
||||||
|
|
||||||
|
/* Specific zigzag scan for 248 idct. NOTE that unlike the
|
||||||
|
* specification, we interleave the fields */
|
||||||
|
const uint8_t ff_dv_zigzag248_direct[64] = {
|
||||||
|
0, 8, 1, 9, 16, 24, 2, 10,
|
||||||
|
17, 25, 32, 40, 48, 56, 33, 41,
|
||||||
|
18, 26, 3, 11, 4, 12, 19, 27,
|
||||||
|
34, 42, 49, 57, 50, 58, 35, 43,
|
||||||
|
20, 28, 5, 13, 6, 14, 21, 29,
|
||||||
|
36, 44, 51, 59, 52, 60, 37, 45,
|
||||||
|
22, 30, 7, 15, 23, 31, 38, 46,
|
||||||
|
53, 61, 54, 62, 39, 47, 55, 63,
|
||||||
|
};
|
||||||
|
|
||||||
/* unquant tables (not used directly) */
|
/* unquant tables (not used directly) */
|
||||||
const uint8_t ff_dv_quant_shifts[22][4] = {
|
const uint8_t ff_dv_quant_shifts[22][4] = {
|
||||||
{ 3,3,4,4 },
|
{ 3,3,4,4 },
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
extern const uint8_t ff_dv_zigzag248_direct[64];
|
||||||
|
|
||||||
extern const uint8_t ff_dv_quant_shifts[22][4];
|
extern const uint8_t ff_dv_quant_shifts[22][4];
|
||||||
extern const uint8_t ff_dv_quant_offset[4];
|
extern const uint8_t ff_dv_quant_offset[4];
|
||||||
|
|
||||||
|
@ -245,7 +245,7 @@ static av_always_inline int dv_init_enc_block(EncBlockInfo* bi, uint8_t *data, i
|
|||||||
}
|
}
|
||||||
bi->mb[0] = blk[0];
|
bi->mb[0] = blk[0];
|
||||||
|
|
||||||
zigzag_scan = bi->dct_mode ? ff_zigzag248_direct : ff_zigzag_direct;
|
zigzag_scan = bi->dct_mode ? ff_dv_zigzag248_direct : ff_zigzag_direct;
|
||||||
weight = bi->dct_mode ? dv_weight_248 : dv_weight_88;
|
weight = bi->dct_mode ? dv_weight_248 : dv_weight_88;
|
||||||
|
|
||||||
for (area = 0; area < 4; area++) {
|
for (area = 0; area < 4; area++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user