mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-11-01 04:53:04 +08:00 
			
		
		
		
	change partition flags SYM -> FWD|SYM
Originally committed as revision 5749 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -1037,16 +1037,12 @@ static void decode_mb_b(AVSContext *h, enum mb_t mb_type) { | |||||||
|         if(mb_type & 1) { /* 16x8 macroblock types */ |         if(mb_type & 1) { /* 16x8 macroblock types */ | ||||||
|             if(flags & FWD0) |             if(flags & FWD0) | ||||||
|                 mv_pred(h, MV_FWD_X0, MV_FWD_C2, MV_PRED_TOP,  BLK_16X8, 1); |                 mv_pred(h, MV_FWD_X0, MV_FWD_C2, MV_PRED_TOP,  BLK_16X8, 1); | ||||||
|             if(flags & SYM0) { |             if(flags & SYM0) | ||||||
|                 mv_pred(h, MV_FWD_X0, MV_FWD_C2, MV_PRED_TOP,  BLK_16X8, 1); |  | ||||||
|                 mv_pred_sym(h, &h->mv[MV_FWD_X0], BLK_16X8); |                 mv_pred_sym(h, &h->mv[MV_FWD_X0], BLK_16X8); | ||||||
|             } |  | ||||||
|             if(flags & FWD1) |             if(flags & FWD1) | ||||||
|                 mv_pred(h, MV_FWD_X2, MV_FWD_A1, MV_PRED_LEFT, BLK_16X8, 1); |                 mv_pred(h, MV_FWD_X2, MV_FWD_A1, MV_PRED_LEFT, BLK_16X8, 1); | ||||||
|             if(flags & SYM1) { |             if(flags & SYM1) | ||||||
|                 mv_pred(h, MV_FWD_X2, MV_FWD_A1, MV_PRED_LEFT, BLK_16X8, 1); |                 mv_pred_sym(h, &h->mv[MV_FWD_X2], BLK_16X8); | ||||||
|                 mv_pred_sym(h, &h->mv[9], BLK_16X8); |  | ||||||
|             } |  | ||||||
|             if(flags & BWD0) |             if(flags & BWD0) | ||||||
|                 mv_pred(h, MV_BWD_X0, MV_BWD_C2, MV_PRED_TOP,  BLK_16X8, 0); |                 mv_pred(h, MV_BWD_X0, MV_BWD_C2, MV_PRED_TOP,  BLK_16X8, 0); | ||||||
|             if(flags & BWD1) |             if(flags & BWD1) | ||||||
| @@ -1054,16 +1050,12 @@ static void decode_mb_b(AVSContext *h, enum mb_t mb_type) { | |||||||
|         } else {          /* 8x16 macroblock types */ |         } else {          /* 8x16 macroblock types */ | ||||||
|             if(flags & FWD0) |             if(flags & FWD0) | ||||||
|                 mv_pred(h, MV_FWD_X0, MV_FWD_B3, MV_PRED_LEFT, BLK_8X16, 1); |                 mv_pred(h, MV_FWD_X0, MV_FWD_B3, MV_PRED_LEFT, BLK_8X16, 1); | ||||||
|             if(flags & SYM0) { |             if(flags & SYM0) | ||||||
|                 mv_pred(h, MV_FWD_X0, MV_FWD_B3, MV_PRED_LEFT, BLK_8X16, 1); |  | ||||||
|                 mv_pred_sym(h, &h->mv[MV_FWD_X0], BLK_8X16); |                 mv_pred_sym(h, &h->mv[MV_FWD_X0], BLK_8X16); | ||||||
|             } |  | ||||||
|             if(flags & FWD1) |             if(flags & FWD1) | ||||||
|                 mv_pred(h, MV_FWD_X1, MV_FWD_C2, MV_PRED_TOPRIGHT,BLK_8X16, 1); |                 mv_pred(h, MV_FWD_X1, MV_FWD_C2, MV_PRED_TOPRIGHT,BLK_8X16, 1); | ||||||
|             if(flags & SYM1) { |             if(flags & SYM1) | ||||||
|                 mv_pred(h, MV_FWD_X1, MV_FWD_C2, MV_PRED_TOPRIGHT,BLK_8X16, 1); |                 mv_pred_sym(h, &h->mv[MV_FWD_X1], BLK_8X16); | ||||||
|                 mv_pred_sym(h, &h->mv[6], BLK_8X16); |  | ||||||
|             } |  | ||||||
|             if(flags & BWD0) |             if(flags & BWD0) | ||||||
|                 mv_pred(h, MV_BWD_X0, MV_BWD_B3, MV_PRED_LEFT, BLK_8X16, 0); |                 mv_pred(h, MV_BWD_X0, MV_BWD_B3, MV_PRED_LEFT, BLK_8X16, 0); | ||||||
|             if(flags & BWD1) |             if(flags & BWD1) | ||||||
|   | |||||||
| @@ -130,36 +130,36 @@ enum mv_loc_t { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| static const uint8_t partition_flags[30] = { | static const uint8_t partition_flags[30] = { | ||||||
|   0,                      //I_8X8 |   0,                                 //I_8X8 | ||||||
|   0,                      //P_SKIP |   0,                                 //P_SKIP | ||||||
|   0,                      //P_16X16 |   0,                                 //P_16X16 | ||||||
|             SPLITH,       //P_16X8 |                       SPLITH,        //P_16X8 | ||||||
|                    SPLITV,//P_8X16 |                              SPLITV, //P_8X16 | ||||||
|             SPLITH|SPLITV,//P_8X8 |                       SPLITH|SPLITV, //P_8X8 | ||||||
|             SPLITH|SPLITV,//B_SKIP |                       SPLITH|SPLITV, //B_SKIP | ||||||
|             SPLITH|SPLITV,//B_DIRECT |                       SPLITH|SPLITV, //B_DIRECT | ||||||
|   0,                      //B_FWD_16X16 |   0,                                 //B_FWD_16X16 | ||||||
|   0,                      //B_BWD_16X16 |   0,                                 //B_BWD_16X16 | ||||||
|   0,                      //B_SYM_16X16 |   0,                                 //B_SYM_16X16 | ||||||
|   FWD0|FWD1|SPLITH, |   FWD0|FWD1          |SPLITH, | ||||||
|   FWD0|FWD1       |SPLITV, |   FWD0|FWD1                 |SPLITV, | ||||||
|   BWD0|BWD1|SPLITH, |   BWD0|BWD1          |SPLITH, | ||||||
|   BWD0|BWD1       |SPLITV, |   BWD0|BWD1                 |SPLITV, | ||||||
|   FWD0|BWD1|SPLITH, |   FWD0|BWD1          |SPLITH, | ||||||
|   FWD0|BWD1       |SPLITV, |   FWD0|BWD1                 |SPLITV, | ||||||
|   BWD0|FWD1|SPLITH, |   BWD0|FWD1          |SPLITH, | ||||||
|   BWD0|FWD1       |SPLITV, |   BWD0|FWD1                 |SPLITV, | ||||||
|   FWD0|SYM1|SPLITH, |   FWD0|FWD1     |SYM1|SPLITH, | ||||||
|   FWD0|SYM1       |SPLITV, |   FWD0|FWD1     |SYM1       |SPLITV, | ||||||
|   BWD0|SYM1|SPLITH, |   BWD0|FWD1     |SYM1|SPLITH, | ||||||
|   BWD0|SYM1       |SPLITV, |   BWD0|FWD1     |SYM1       |SPLITV, | ||||||
|   SYM0|FWD1|SPLITH, |   FWD0|FWD1|SYM0     |SPLITH, | ||||||
|   SYM0|FWD1       |SPLITV, |   FWD0|FWD1|SYM0            |SPLITV, | ||||||
|   SYM0|BWD1|SPLITH, |   FWD0|BWD1|SYM0     |SPLITH, | ||||||
|   SYM0|BWD1       |SPLITV, |   FWD0|BWD1|SYM0            |SPLITV, | ||||||
|   SYM0|SYM1|SPLITH, |   FWD0|FWD1|SYM0|SYM1|SPLITH, | ||||||
|   SYM0|SYM1       |SPLITV, |   FWD0|FWD1|SYM0|SYM1       |SPLITV, | ||||||
|             SPLITH|SPLITV,//B_8X8 = 29 |                       SPLITH|SPLITV, //B_8X8 = 29 | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static const uint8_t scan3x3[4] = {4,5,7,8}; | static const uint8_t scan3x3[4] = {4,5,7,8}; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Stefan Gehrer
					Stefan Gehrer