Merge remote-tracking branch 'qatar/master'
* qatar/master: dsputil: Move DV-specific ff_zigzag248_direct table to dvdata Conflicts: libavcodec/dv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
						commit
						47fc82b5b3
					
				@ -59,19 +59,6 @@ uint32_t ff_square_tab[512] = { 0, };
 | 
			
		||||
#define pb_7f (~0UL / 255 * 0x7f)
 | 
			
		||||
#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] = {
 | 
			
		||||
     0,  1,  2,  3,  8,  9, 16, 17,
 | 
			
		||||
    10, 11,  4,  5,  6,  7, 15, 14,
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,6 @@
 | 
			
		||||
/* encoding scans */
 | 
			
		||||
extern const uint8_t ff_alternate_horizontal_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];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -314,11 +314,11 @@ av_cold int ff_dvvideo_init(AVCodecContext *avctx)
 | 
			
		||||
    s->idct_put[1] = ff_simple_idct248_put;  // FIXME: need to add it to DSP
 | 
			
		||||
    if (avctx->lowres){
 | 
			
		||||
        for (i = 0; i < 64; i++){
 | 
			
		||||
            int j = ff_zigzag248_direct[i];
 | 
			
		||||
            int j = ff_dv_zigzag248_direct[i];
 | 
			
		||||
            s->dv_zigzag[1][i] = dsp.idct_permutation[(j & 7) + (j & 8) * 4 + (j & 48) / 2];
 | 
			
		||||
        }
 | 
			
		||||
    }else
 | 
			
		||||
        memcpy(s->dv_zigzag[1], ff_zigzag248_direct, 64);
 | 
			
		||||
        memcpy(s->dv_zigzag[1], ff_dv_zigzag248_direct, 64);
 | 
			
		||||
 | 
			
		||||
    s->avctx = avctx;
 | 
			
		||||
    avctx->chroma_sample_location = AVCHROMA_LOC_TOPLEFT;
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,19 @@
 | 
			
		||||
 | 
			
		||||
#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) */
 | 
			
		||||
const uint8_t ff_dv_quant_shifts[22][4] = {
 | 
			
		||||
  { 3,3,4,4 },
 | 
			
		||||
 | 
			
		||||
@ -21,6 +21,8 @@
 | 
			
		||||
 | 
			
		||||
#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_offset[4];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -249,7 +249,7 @@ static av_always_inline int dv_init_enc_block(EncBlockInfo* bi, uint8_t *data, i
 | 
			
		||||
    }
 | 
			
		||||
    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;
 | 
			
		||||
 | 
			
		||||
    for (area = 0; area < 4; area++) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user