* qatar/master:
ARM: enable UAL syntax in asm.S
v4l2: don't leak video standard string on error.
swscale: Remove disabled code.
avfilter: Surround function only used in debug mode by appropriate #ifdef.
vf_crop: Replace #ifdef DEBUG + av_log() by av_dlog().
build: remove BUILD_ROOT variable
vp8: use av_clip_uintp2() where possible
Merged-by: Michael Niedermayer <michaelni@gmx.at>
| ... | ... |
@@ -208,15 +208,15 @@ ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw |
| 208 | 208 |
|
| 209 | 209 |
tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF) |
| 210 | 210 |
@mkdir -p tests/vsynth1 |
| 211 |
- $(M)$(BUILD_ROOT)/$< 'tests/vsynth1/' |
|
| 211 |
+ $(M)./$< 'tests/vsynth1/' |
|
| 212 | 212 |
|
| 213 | 213 |
tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF) |
| 214 | 214 |
@mkdir -p tests/vsynth2 |
| 215 |
- $(M)$(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm |
|
| 215 |
+ $(M)./$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm |
|
| 216 | 216 |
|
| 217 | 217 |
tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF) |
| 218 | 218 |
@mkdir -p tests/data |
| 219 |
- $(M)$(BUILD_ROOT)/$< $@ |
|
| 219 |
+ $(M)./$< $@ |
|
| 220 | 220 |
|
| 221 | 221 |
tests/data/asynth1.sw tests/vsynth%/00.pgm: TAG = GEN |
| 222 | 222 |
|
| ... | ... |
@@ -12,12 +12,6 @@ vpath %.S $(SRC_DIR) |
| 12 | 12 |
vpath %.asm $(SRC_DIR) |
| 13 | 13 |
vpath %.v $(SRC_DIR) |
| 14 | 14 |
|
| 15 |
-ifeq ($(SRC_DIR),$(SRC_PATH_BARE)) |
|
| 16 |
-BUILD_ROOT_REL = . |
|
| 17 |
-else |
|
| 18 |
-BUILD_ROOT_REL = .. |
|
| 19 |
-endif |
|
| 20 |
- |
|
| 21 | 15 |
ifndef V |
| 22 | 16 |
Q = @ |
| 23 | 17 |
ECHO = printf "$(1)\t%s\n" $(2) |
| ... | ... |
@@ -33,7 +27,7 @@ endif |
| 33 | 33 |
|
| 34 | 34 |
ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale |
| 35 | 35 |
|
| 36 |
-IFLAGS := -I$(BUILD_ROOT_REL) -I$(SRC_PATH) |
|
| 36 |
+IFLAGS := -I. -I$(SRC_PATH) |
|
| 37 | 37 |
CPPFLAGS := $(IFLAGS) $(CPPFLAGS) |
| 38 | 38 |
CFLAGS += $(ECFLAGS) |
| 39 | 39 |
YASMFLAGS += $(IFLAGS) -Pconfig.asm |
| ... | ... |
@@ -85,7 +79,7 @@ FFLIBS := $(FFLIBS-yes) $(FFLIBS) |
| 85 | 85 |
TESTPROGS += $(TESTPROGS-yes) |
| 86 | 86 |
|
| 87 | 87 |
FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS) |
| 88 |
-FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(ALLFFLIBS)) $(LDFLAGS) |
|
| 88 |
+FFLDFLAGS := $(addprefix -Llib,$(ALLFFLIBS)) $(LDFLAGS) |
|
| 89 | 89 |
|
| 90 | 90 |
EXAMPLES := $(addprefix $(SUBDIR),$(addsuffix -example$(EXESUF),$(EXAMPLES))) |
| 91 | 91 |
OBJS := $(addprefix $(SUBDIR),$(sort $(OBJS))) |
| ... | ... |
@@ -94,7 +88,7 @@ TESTPROGS := $(addprefix $(SUBDIR),$(addsuffix -test$(EXESUF),$(TESTPROGS))) |
| 94 | 94 |
HOSTOBJS := $(addprefix $(SUBDIR),$(addsuffix .o,$(HOSTPROGS))) |
| 95 | 95 |
HOSTPROGS := $(addprefix $(SUBDIR),$(addsuffix $(HOSTEXESUF),$(HOSTPROGS))) |
| 96 | 96 |
|
| 97 |
-DEP_LIBS := $(foreach NAME,$(FFLIBS),$(BUILD_ROOT_REL)/lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME)) |
|
| 97 |
+DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME)) |
|
| 98 | 98 |
|
| 99 | 99 |
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h)) |
| 100 | 100 |
SKIPHEADERS += $(addprefix $(ARCH)/,$(ARCH_HEADERS)) |
| ... | ... |
@@ -3046,7 +3046,7 @@ enabled extra_warnings && check_cflags -Winline |
| 3046 | 3046 |
|
| 3047 | 3047 |
# add some linker flags |
| 3048 | 3048 |
check_ldflags -Wl,--warn-common |
| 3049 |
-check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil' |
|
| 3049 |
+check_ldflags -Wl,-rpath-link,libpostproc -Wl,-rpath-link,libswscale -Wl,-rpath-link,libavfilter -Wl,-rpath-link,libavdevice -Wl,-rpath-link,libavformat -Wl,-rpath-link,libavcodec -Wl,-rpath-link,libavutil |
|
| 3050 | 3050 |
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic |
| 3051 | 3051 |
|
| 3052 | 3052 |
echo "X{};" > $TMPV
|
| ... | ... |
@@ -3316,7 +3316,6 @@ DATADIR=\$(DESTDIR)$datadir |
| 3316 | 3316 |
MANDIR=\$(DESTDIR)$mandir |
| 3317 | 3317 |
SRC_PATH="$source_path" |
| 3318 | 3318 |
SRC_PATH_BARE=$source_path |
| 3319 |
-BUILD_ROOT="$PWD" |
|
| 3320 | 3319 |
CC_IDENT=$cc_ident |
| 3321 | 3320 |
ARCH=$arch |
| 3322 | 3321 |
CC=$cc |
| ... | ... |
@@ -95,7 +95,7 @@ function ff_dct_unquantize_h263_armv5te, export=1 |
| 95 | 95 |
strh lr, [r0], #2 |
| 96 | 96 |
|
| 97 | 97 |
subs r3, r3, #8 |
| 98 |
- ldrgtd r4, [r0, #0] /* load data early to avoid load/use pipeline stall */ |
|
| 98 |
+ ldrdgt r4, [r0, #0] /* load data early to avoid load/use pipeline stall */ |
|
| 99 | 99 |
bgt 1b |
| 100 | 100 |
|
| 101 | 101 |
adds r3, r3, #2 |
| ... | ... |
@@ -166,12 +166,12 @@ static void get_quants(VP8Context *s) |
| 166 | 166 |
} else |
| 167 | 167 |
base_qi = yac_qi; |
| 168 | 168 |
|
| 169 |
- s->qmat[i].luma_qmul[0] = vp8_dc_qlookup[av_clip(base_qi + ydc_delta , 0, 127)]; |
|
| 170 |
- s->qmat[i].luma_qmul[1] = vp8_ac_qlookup[av_clip(base_qi , 0, 127)]; |
|
| 171 |
- s->qmat[i].luma_dc_qmul[0] = 2 * vp8_dc_qlookup[av_clip(base_qi + y2dc_delta, 0, 127)]; |
|
| 172 |
- s->qmat[i].luma_dc_qmul[1] = 155 * vp8_ac_qlookup[av_clip(base_qi + y2ac_delta, 0, 127)] / 100; |
|
| 173 |
- s->qmat[i].chroma_qmul[0] = vp8_dc_qlookup[av_clip(base_qi + uvdc_delta, 0, 127)]; |
|
| 174 |
- s->qmat[i].chroma_qmul[1] = vp8_ac_qlookup[av_clip(base_qi + uvac_delta, 0, 127)]; |
|
| 169 |
+ s->qmat[i].luma_qmul[0] = vp8_dc_qlookup[av_clip_uintp2(base_qi + ydc_delta , 7)]; |
|
| 170 |
+ s->qmat[i].luma_qmul[1] = vp8_ac_qlookup[av_clip_uintp2(base_qi , 7)]; |
|
| 171 |
+ s->qmat[i].luma_dc_qmul[0] = 2 * vp8_dc_qlookup[av_clip_uintp2(base_qi + y2dc_delta, 7)]; |
|
| 172 |
+ s->qmat[i].luma_dc_qmul[1] = 155 * vp8_ac_qlookup[av_clip_uintp2(base_qi + y2ac_delta, 7)] / 100; |
|
| 173 |
+ s->qmat[i].chroma_qmul[0] = vp8_dc_qlookup[av_clip_uintp2(base_qi + uvdc_delta, 7)]; |
|
| 174 |
+ s->qmat[i].chroma_qmul[1] = vp8_ac_qlookup[av_clip_uintp2(base_qi + uvac_delta, 7)]; |
|
| 175 | 175 |
|
| 176 | 176 |
s->qmat[i].luma_dc_qmul[1] = FFMAX(s->qmat[i].luma_dc_qmul[1], 8); |
| 177 | 177 |
s->qmat[i].chroma_qmul[0] = FFMIN(s->qmat[i].chroma_qmul[0], 132); |
| ... | ... |
@@ -501,7 +501,6 @@ static int v4l2_set_parameters(AVFormatContext *s1, AVFormatParameters *ap) |
| 501 | 501 |
return AVERROR(EIO); |
| 502 | 502 |
} |
| 503 | 503 |
} |
| 504 |
- av_freep(&s->standard); |
|
| 505 | 504 |
|
| 506 | 505 |
if (ap->time_base.num && ap->time_base.den) {
|
| 507 | 506 |
av_log(s1, AV_LOG_DEBUG, "Setting time per frame to %d/%d\n", |
| ... | ... |
@@ -670,6 +669,7 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap) |
| 670 | 670 |
out: |
| 671 | 671 |
av_freep(&s->video_size); |
| 672 | 672 |
av_freep(&s->pixel_format); |
| 673 |
+ av_freep(&s->standard); |
|
| 673 | 674 |
return res; |
| 674 | 675 |
} |
| 675 | 676 |
|
| ... | ... |
@@ -264,11 +264,9 @@ static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref) |
| 264 | 264 |
crop->x &= ~((1 << crop->hsub) - 1); |
| 265 | 265 |
crop->y &= ~((1 << crop->vsub) - 1); |
| 266 | 266 |
|
| 267 |
-#ifdef DEBUG |
|
| 268 |
- av_log(ctx, AV_LOG_DEBUG, |
|
| 269 |
- "n:%d t:%f x:%d y:%d x+w:%d y+h:%d\n", |
|
| 270 |
- (int)crop->var_values[VAR_N], crop->var_values[VAR_T], crop->x, crop->y, crop->x+crop->w, crop->y+crop->h); |
|
| 271 |
-#endif |
|
| 267 |
+ av_dlog(ctx, "n:%d t:%f x:%d y:%d x+w:%d y+h:%d\n", |
|
| 268 |
+ (int)crop->var_values[VAR_N], crop->var_values[VAR_T], crop->x, |
|
| 269 |
+ crop->y, crop->x+crop->w, crop->y+crop->h); |
|
| 272 | 270 |
|
| 273 | 271 |
ref2->data[0] += crop->y * ref2->linesize[0]; |
| 274 | 272 |
ref2->data[0] += crop->x * crop->max_step[0]; |
| ... | ... |
@@ -447,159 +447,7 @@ static int altivec_##name (SwsContext *c, \ |
| 447 | 447 |
#define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr) |
| 448 | 448 |
|
| 449 | 449 |
DEFCSP420_CVT (yuv2_abgr, out_abgr) |
| 450 |
-#if 1 |
|
| 451 | 450 |
DEFCSP420_CVT (yuv2_bgra, out_bgra) |
| 452 |
-#else |
|
| 453 |
-static int altivec_yuv2_bgra32 (SwsContext *c, |
|
| 454 |
- unsigned char **in, int *instrides, |
|
| 455 |
- int srcSliceY, int srcSliceH, |
|
| 456 |
- unsigned char **oplanes, int *outstrides) |
|
| 457 |
-{
|
|
| 458 |
- int w = c->srcW; |
|
| 459 |
- int h = srcSliceH; |
|
| 460 |
- int i,j; |
|
| 461 |
- int instrides_scl[3]; |
|
| 462 |
- vector unsigned char y0,y1; |
|
| 463 |
- |
|
| 464 |
- vector signed char u,v; |
|
| 465 |
- |
|
| 466 |
- vector signed short Y0,Y1,Y2,Y3; |
|
| 467 |
- vector signed short U,V; |
|
| 468 |
- vector signed short vx,ux,uvx; |
|
| 469 |
- vector signed short vx0,ux0,uvx0; |
|
| 470 |
- vector signed short vx1,ux1,uvx1; |
|
| 471 |
- vector signed short R0,G0,B0; |
|
| 472 |
- vector signed short R1,G1,B1; |
|
| 473 |
- vector unsigned char R,G,B; |
|
| 474 |
- |
|
| 475 |
- vector unsigned char *uivP, *vivP; |
|
| 476 |
- vector unsigned char align_perm; |
|
| 477 |
- |
|
| 478 |
- vector signed short |
|
| 479 |
- lCY = c->CY, |
|
| 480 |
- lOY = c->OY, |
|
| 481 |
- lCRV = c->CRV, |
|
| 482 |
- lCBU = c->CBU, |
|
| 483 |
- lCGU = c->CGU, |
|
| 484 |
- lCGV = c->CGV; |
|
| 485 |
- |
|
| 486 |
- vector unsigned short lCSHIFT = c->CSHIFT; |
|
| 487 |
- |
|
| 488 |
- ubyte *y1i = in[0]; |
|
| 489 |
- ubyte *y2i = in[0]+w; |
|
| 490 |
- ubyte *ui = in[1]; |
|
| 491 |
- ubyte *vi = in[2]; |
|
| 492 |
- |
|
| 493 |
- vector unsigned char *oute |
|
| 494 |
- = (vector unsigned char *) |
|
| 495 |
- (oplanes[0]+srcSliceY*outstrides[0]); |
|
| 496 |
- vector unsigned char *outo |
|
| 497 |
- = (vector unsigned char *) |
|
| 498 |
- (oplanes[0]+srcSliceY*outstrides[0]+outstrides[0]); |
|
| 499 |
- |
|
| 500 |
- |
|
| 501 |
- instrides_scl[0] = instrides[0]; |
|
| 502 |
- instrides_scl[1] = instrides[1]-w/2; /* the loop moves ui by w/2 */ |
|
| 503 |
- instrides_scl[2] = instrides[2]-w/2; /* the loop moves vi by w/2 */ |
|
| 504 |
- |
|
| 505 |
- |
|
| 506 |
- for (i=0;i<h/2;i++) {
|
|
| 507 |
- vec_dstst (outo, (0x02000002|(((w*3+32)/32)<<16)), 0); |
|
| 508 |
- vec_dstst (oute, (0x02000002|(((w*3+32)/32)<<16)), 1); |
|
| 509 |
- |
|
| 510 |
- for (j=0;j<w/16;j++) {
|
|
| 511 |
- |
|
| 512 |
- y0 = vec_ldl (0,y1i); |
|
| 513 |
- y1 = vec_ldl (0,y2i); |
|
| 514 |
- uivP = (vector unsigned char *)ui; |
|
| 515 |
- vivP = (vector unsigned char *)vi; |
|
| 516 |
- |
|
| 517 |
- align_perm = vec_lvsl (0, ui); |
|
| 518 |
- u = (vector signed char)vec_perm (uivP[0], uivP[1], align_perm); |
|
| 519 |
- |
|
| 520 |
- align_perm = vec_lvsl (0, vi); |
|
| 521 |
- v = (vector signed char)vec_perm (vivP[0], vivP[1], align_perm); |
|
| 522 |
- u = (vector signed char) |
|
| 523 |
- vec_sub (u,(vector signed char) |
|
| 524 |
- vec_splat((vector signed char){128},0));
|
|
| 525 |
- |
|
| 526 |
- v = (vector signed char) |
|
| 527 |
- vec_sub (v, (vector signed char) |
|
| 528 |
- vec_splat((vector signed char){128},0));
|
|
| 529 |
- |
|
| 530 |
- U = vec_unpackh (u); |
|
| 531 |
- V = vec_unpackh (v); |
|
| 532 |
- |
|
| 533 |
- |
|
| 534 |
- Y0 = vec_unh (y0); |
|
| 535 |
- Y1 = vec_unl (y0); |
|
| 536 |
- Y2 = vec_unh (y1); |
|
| 537 |
- Y3 = vec_unl (y1); |
|
| 538 |
- |
|
| 539 |
- Y0 = vec_mradds (Y0, lCY, lOY); |
|
| 540 |
- Y1 = vec_mradds (Y1, lCY, lOY); |
|
| 541 |
- Y2 = vec_mradds (Y2, lCY, lOY); |
|
| 542 |
- Y3 = vec_mradds (Y3, lCY, lOY); |
|
| 543 |
- |
|
| 544 |
- /* ux = (CBU*(u<<CSHIFT)+0x4000)>>15 */ |
|
| 545 |
- ux = vec_sl (U, lCSHIFT); |
|
| 546 |
- ux = vec_mradds (ux, lCBU, (vector signed short){0});
|
|
| 547 |
- ux0 = vec_mergeh (ux,ux); |
|
| 548 |
- ux1 = vec_mergel (ux,ux); |
|
| 549 |
- |
|
| 550 |
- /* vx = (CRV*(v<<CSHIFT)+0x4000)>>15; */ |
|
| 551 |
- vx = vec_sl (V, lCSHIFT); |
|
| 552 |
- vx = vec_mradds (vx, lCRV, (vector signed short){0});
|
|
| 553 |
- vx0 = vec_mergeh (vx,vx); |
|
| 554 |
- vx1 = vec_mergel (vx,vx); |
|
| 555 |
- /* uvx = ((CGU*u) + (CGV*v))>>15 */ |
|
| 556 |
- uvx = vec_mradds (U, lCGU, (vector signed short){0});
|
|
| 557 |
- uvx = vec_mradds (V, lCGV, uvx); |
|
| 558 |
- uvx0 = vec_mergeh (uvx,uvx); |
|
| 559 |
- uvx1 = vec_mergel (uvx,uvx); |
|
| 560 |
- R0 = vec_add (Y0,vx0); |
|
| 561 |
- G0 = vec_add (Y0,uvx0); |
|
| 562 |
- B0 = vec_add (Y0,ux0); |
|
| 563 |
- R1 = vec_add (Y1,vx1); |
|
| 564 |
- G1 = vec_add (Y1,uvx1); |
|
| 565 |
- B1 = vec_add (Y1,ux1); |
|
| 566 |
- R = vec_packclp (R0,R1); |
|
| 567 |
- G = vec_packclp (G0,G1); |
|
| 568 |
- B = vec_packclp (B0,B1); |
|
| 569 |
- |
|
| 570 |
- out_argb(R,G,B,oute); |
|
| 571 |
- R0 = vec_add (Y2,vx0); |
|
| 572 |
- G0 = vec_add (Y2,uvx0); |
|
| 573 |
- B0 = vec_add (Y2,ux0); |
|
| 574 |
- R1 = vec_add (Y3,vx1); |
|
| 575 |
- G1 = vec_add (Y3,uvx1); |
|
| 576 |
- B1 = vec_add (Y3,ux1); |
|
| 577 |
- R = vec_packclp (R0,R1); |
|
| 578 |
- G = vec_packclp (G0,G1); |
|
| 579 |
- B = vec_packclp (B0,B1); |
|
| 580 |
- |
|
| 581 |
- out_argb(R,G,B,outo); |
|
| 582 |
- y1i += 16; |
|
| 583 |
- y2i += 16; |
|
| 584 |
- ui += 8; |
|
| 585 |
- vi += 8; |
|
| 586 |
- |
|
| 587 |
- } |
|
| 588 |
- |
|
| 589 |
- outo += (outstrides[0])>>4; |
|
| 590 |
- oute += (outstrides[0])>>4; |
|
| 591 |
- |
|
| 592 |
- ui += instrides_scl[1]; |
|
| 593 |
- vi += instrides_scl[2]; |
|
| 594 |
- y1i += instrides_scl[0]; |
|
| 595 |
- y2i += instrides_scl[0]; |
|
| 596 |
- } |
|
| 597 |
- return srcSliceH; |
|
| 598 |
-} |
|
| 599 |
- |
|
| 600 |
-#endif |
|
| 601 |
- |
|
| 602 |
- |
|
| 603 | 451 |
DEFCSP420_CVT (yuv2_rgba, out_rgba) |
| 604 | 452 |
DEFCSP420_CVT (yuv2_argb, out_argb) |
| 605 | 453 |
DEFCSP420_CVT (yuv2_rgb24, out_rgb24) |
| ... | ... |
@@ -574,7 +574,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth, |
| 574 | 574 |
} |
| 575 | 575 |
|
| 576 | 576 |
// last line |
| 577 |
-#if 1 |
|
| 578 | 577 |
dst[0]= src[0]; |
| 579 | 578 |
|
| 580 | 579 |
for (x=0; x<srcWidth-1; x++) {
|
| ... | ... |
@@ -582,12 +581,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth, |
| 582 | 582 |
dst[2*x+2]= ( src[x] + 3*src[x+1])>>2; |
| 583 | 583 |
} |
| 584 | 584 |
dst[2*srcWidth-1]= src[srcWidth-1]; |
| 585 |
-#else |
|
| 586 |
- for (x=0; x<srcWidth; x++) {
|
|
| 587 |
- dst[2*x+0]= |
|
| 588 |
- dst[2*x+1]= src[x]; |
|
| 589 |
- } |
|
| 590 |
-#endif |
|
| 591 | 585 |
} |
| 592 | 586 |
|
| 593 | 587 |
/** |
| ... | ... |
@@ -366,28 +366,6 @@ YUV2RGBFUNC(yuv2rgb_c_16, uint16_t, 0) |
| 366 | 366 |
PUTRGB(dst_1,py_1,3); |
| 367 | 367 |
CLOSEYUV2RGBFUNC(8) |
| 368 | 368 |
|
| 369 |
-#if 0 // Currently unused |
|
| 370 |
-// This is exactly the same code as yuv2rgb_c_32 except for the types of |
|
| 371 |
-// r, g, b, dst_1, dst_2 |
|
| 372 |
-YUV2RGBFUNC(yuv2rgb_c_8, uint8_t, 0) |
|
| 373 |
- LOADCHROMA(0); |
|
| 374 |
- PUTRGB(dst_1,py_1,0); |
|
| 375 |
- PUTRGB(dst_2,py_2,0); |
|
| 376 |
- |
|
| 377 |
- LOADCHROMA(1); |
|
| 378 |
- PUTRGB(dst_2,py_2,1); |
|
| 379 |
- PUTRGB(dst_1,py_1,1); |
|
| 380 |
- |
|
| 381 |
- LOADCHROMA(2); |
|
| 382 |
- PUTRGB(dst_1,py_1,2); |
|
| 383 |
- PUTRGB(dst_2,py_2,2); |
|
| 384 |
- |
|
| 385 |
- LOADCHROMA(3); |
|
| 386 |
- PUTRGB(dst_2,py_2,3); |
|
| 387 |
- PUTRGB(dst_1,py_1,3); |
|
| 388 |
-CLOSEYUV2RGBFUNC(8) |
|
| 389 |
-#endif |
|
| 390 |
- |
|
| 391 | 369 |
// r, g, b, dst_1, dst_2 |
| 392 | 370 |
YUV2RGBFUNC(yuv2rgb_c_12_ordered_dither, uint16_t, 0) |
| 393 | 371 |
const uint8_t *d16 = dither_4x4_16[y&3]; |
| ... | ... |
@@ -441,36 +419,6 @@ YUV2RGBFUNC(yuv2rgb_c_8_ordered_dither, uint8_t, 0) |
| 441 | 441 |
PUTRGB8(dst_1,py_1,3,6); |
| 442 | 442 |
CLOSEYUV2RGBFUNC(8) |
| 443 | 443 |
|
| 444 |
-#if 0 // Currently unused |
|
| 445 |
-// This is exactly the same code as yuv2rgb_c_32 except for the types of |
|
| 446 |
-// r, g, b, dst_1, dst_2 |
|
| 447 |
-YUV2RGBFUNC(yuv2rgb_c_4, uint8_t, 0) |
|
| 448 |
- int acc; |
|
| 449 |
-#define PUTRGB4(dst,src,i) \ |
|
| 450 |
- Y = src[2*i]; \ |
|
| 451 |
- acc = r[Y] + g[Y] + b[Y]; \ |
|
| 452 |
- Y = src[2*i+1]; \ |
|
| 453 |
- acc |= (r[Y] + g[Y] + b[Y])<<4; \ |
|
| 454 |
- dst[i] = acc; |
|
| 455 |
- |
|
| 456 |
- LOADCHROMA(0); |
|
| 457 |
- PUTRGB4(dst_1,py_1,0); |
|
| 458 |
- PUTRGB4(dst_2,py_2,0); |
|
| 459 |
- |
|
| 460 |
- LOADCHROMA(1); |
|
| 461 |
- PUTRGB4(dst_2,py_2,1); |
|
| 462 |
- PUTRGB4(dst_1,py_1,1); |
|
| 463 |
- |
|
| 464 |
- LOADCHROMA(2); |
|
| 465 |
- PUTRGB4(dst_1,py_1,2); |
|
| 466 |
- PUTRGB4(dst_2,py_2,2); |
|
| 467 |
- |
|
| 468 |
- LOADCHROMA(3); |
|
| 469 |
- PUTRGB4(dst_2,py_2,3); |
|
| 470 |
- PUTRGB4(dst_1,py_1,3); |
|
| 471 |
-CLOSEYUV2RGBFUNC(4) |
|
| 472 |
-#endif |
|
| 473 |
- |
|
| 474 | 444 |
YUV2RGBFUNC(yuv2rgb_c_4_ordered_dither, uint8_t, 0) |
| 475 | 445 |
const uint8_t *d64 = dither_8x8_73[y&7]; |
| 476 | 446 |
const uint8_t *d128 = dither_8x8_220[y&7]; |
| ... | ... |
@@ -500,28 +448,6 @@ YUV2RGBFUNC(yuv2rgb_c_4_ordered_dither, uint8_t, 0) |
| 500 | 500 |
PUTRGB4D(dst_1,py_1,3,6); |
| 501 | 501 |
CLOSEYUV2RGBFUNC(4) |
| 502 | 502 |
|
| 503 |
-#if 0 // Currently unused |
|
| 504 |
-// This is exactly the same code as yuv2rgb_c_32 except for the types of |
|
| 505 |
-// r, g, b, dst_1, dst_2 |
|
| 506 |
-YUV2RGBFUNC(yuv2rgb_c_4b, uint8_t, 0) |
|
| 507 |
- LOADCHROMA(0); |
|
| 508 |
- PUTRGB(dst_1,py_1,0); |
|
| 509 |
- PUTRGB(dst_2,py_2,0); |
|
| 510 |
- |
|
| 511 |
- LOADCHROMA(1); |
|
| 512 |
- PUTRGB(dst_2,py_2,1); |
|
| 513 |
- PUTRGB(dst_1,py_1,1); |
|
| 514 |
- |
|
| 515 |
- LOADCHROMA(2); |
|
| 516 |
- PUTRGB(dst_1,py_1,2); |
|
| 517 |
- PUTRGB(dst_2,py_2,2); |
|
| 518 |
- |
|
| 519 |
- LOADCHROMA(3); |
|
| 520 |
- PUTRGB(dst_2,py_2,3); |
|
| 521 |
- PUTRGB(dst_1,py_1,3); |
|
| 522 |
-CLOSEYUV2RGBFUNC(8) |
|
| 523 |
-#endif |
|
| 524 |
- |
|
| 525 | 503 |
YUV2RGBFUNC(yuv2rgb_c_4b_ordered_dither, uint8_t, 0) |
| 526 | 504 |
const uint8_t *d64 = dither_8x8_73[y&7]; |
| 527 | 505 |
const uint8_t *d128 = dither_8x8_220[y&7]; |