author | harlekin <harlekin> | 2002-12-19 21:41:50 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-12-19 21:41:50 (UTC) |
commit | 5fd6636ba3d94b48dd543887316c47c5388a43c2 (patch) (unidiff) | |
tree | f750583ce4284ac226da90858751875a5404de6b | |
parent | d73c08dacb1abd6e02e0ff803083985bd0ca791b (diff) | |
download | opie-5fd6636ba3d94b48dd543887316c47c5388a43c2.zip opie-5fd6636ba3d94b48dd543887316c47c5388a43c2.tar.gz opie-5fd6636ba3d94b48dd543887316c47c5388a43c2.tar.bz2 |
adapted to todays xine cvs
-rw-r--r-- | noncore/multimedia/opieplayer2/nullvideo.c | 2 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/yuv2rgb.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c index a49f9d3..095f206 100644 --- a/noncore/multimedia/opieplayer2/nullvideo.c +++ b/noncore/multimedia/opieplayer2/nullvideo.c | |||
@@ -94,48 +94,50 @@ struct opie_frame_s { | |||
94 | int flags; | 94 | int flags; |
95 | 95 | ||
96 | vo_scale_t sc; | 96 | vo_scale_t sc; |
97 | 97 | ||
98 | uint8_t *chunk[3]; | 98 | uint8_t *chunk[3]; |
99 | 99 | ||
100 | uint8_t *data; /* rgb */ | 100 | uint8_t *data; /* rgb */ |
101 | int bytes_per_line; | 101 | int bytes_per_line; |
102 | 102 | ||
103 | yuv2rgb_t *yuv2rgb; | 103 | yuv2rgb_t *yuv2rgb; |
104 | uint8_t *rgb_dst; | 104 | uint8_t *rgb_dst; |
105 | int yuv_stride; | 105 | int yuv_stride; |
106 | int stripe_height, stripe_inc; | 106 | int stripe_height, stripe_inc; |
107 | 107 | ||
108 | null_driver_t *output; | 108 | null_driver_t *output; |
109 | }; | 109 | }; |
110 | 110 | ||
111 | static uint32_t null_get_capabilities( vo_driver_t *self ){ | 111 | static uint32_t null_get_capabilities( vo_driver_t *self ){ |
112 | null_driver_t* this = (null_driver_t*)self; | 112 | null_driver_t* this = (null_driver_t*)self; |
113 | return this->m_capabilities; | 113 | return this->m_capabilities; |
114 | } | 114 | } |
115 | 115 | ||
116 | static void null_frame_copy (vo_frame_t *vo_img, uint8_t **src) { | 116 | static void null_frame_copy (vo_frame_t *vo_img, uint8_t **src) { |
117 | opie_frame_t *frame = (opie_frame_t *) vo_img ; | 117 | opie_frame_t *frame = (opie_frame_t *) vo_img ; |
118 | |||
119 | vo_img->copy_called = 1; | ||
118 | 120 | ||
119 | if (!frame->output->m_show_video) { | 121 | if (!frame->output->m_show_video) { |
120 | /* printf("nullvideo: no video\n"); */ | 122 | /* printf("nullvideo: no video\n"); */ |
121 | return; | 123 | return; |
122 | } | 124 | } |
123 | 125 | ||
124 | if (frame->format == XINE_IMGFMT_YV12) { | 126 | if (frame->format == XINE_IMGFMT_YV12) { |
125 | frame->yuv2rgb->yuv2rgb_fun (frame->yuv2rgb, frame->rgb_dst, | 127 | frame->yuv2rgb->yuv2rgb_fun (frame->yuv2rgb, frame->rgb_dst, |
126 | src[0], src[1], src[2]); | 128 | src[0], src[1], src[2]); |
127 | } else { | 129 | } else { |
128 | 130 | ||
129 | frame->yuv2rgb->yuy22rgb_fun (frame->yuv2rgb, frame->rgb_dst, | 131 | frame->yuv2rgb->yuy22rgb_fun (frame->yuv2rgb, frame->rgb_dst, |
130 | src[0]); | 132 | src[0]); |
131 | } | 133 | } |
132 | 134 | ||
133 | frame->rgb_dst += frame->stripe_inc; | 135 | frame->rgb_dst += frame->stripe_inc; |
134 | } | 136 | } |
135 | 137 | ||
136 | static void null_frame_field (vo_frame_t *vo_img, int which_field) { | 138 | static void null_frame_field (vo_frame_t *vo_img, int which_field) { |
137 | 139 | ||
138 | opie_frame_t *frame = (opie_frame_t *) vo_img ; | 140 | opie_frame_t *frame = (opie_frame_t *) vo_img ; |
139 | 141 | ||
140 | switch (which_field) { | 142 | switch (which_field) { |
141 | case VO_TOP_FIELD: | 143 | case VO_TOP_FIELD: |
diff --git a/noncore/multimedia/opieplayer2/yuv2rgb.c b/noncore/multimedia/opieplayer2/yuv2rgb.c index e8e86e6..8e34052 100644 --- a/noncore/multimedia/opieplayer2/yuv2rgb.c +++ b/noncore/multimedia/opieplayer2/yuv2rgb.c | |||
@@ -1186,53 +1186,53 @@ static void scale_line_1_1 (uint8_t *source, uint8_t *dest, | |||
1186 | 1186 | ||
1187 | 1187 | ||
1188 | static scale_line_func_t find_scale_line_func(int step) { | 1188 | static scale_line_func_t find_scale_line_func(int step) { |
1189 | static struct { | 1189 | static struct { |
1190 | int src_step; | 1190 | int src_step; |
1191 | int dest_step; | 1191 | int dest_step; |
1192 | scale_line_func_tfunc; | 1192 | scale_line_func_tfunc; |
1193 | char *desc; | 1193 | char *desc; |
1194 | } scale_line[] = { | 1194 | } scale_line[] = { |
1195 | { 15, 16, scale_line_15_16, "dvd 4:3(pal)" }, | 1195 | { 15, 16, scale_line_15_16, "dvd 4:3(pal)" }, |
1196 | { 45, 64, scale_line_45_64, "dvd 16:9(pal), fullscreen(1024x768)" }, | 1196 | { 45, 64, scale_line_45_64, "dvd 16:9(pal), fullscreen(1024x768)" }, |
1197 | { 9, 16, scale_line_9_16, "dvd fullscreen(1280x1024)" }, | 1197 | { 9, 16, scale_line_9_16, "dvd fullscreen(1280x1024)" }, |
1198 | { 45, 53, scale_line_45_53, "dvd 16:9(ntsc)" }, | 1198 | { 45, 53, scale_line_45_53, "dvd 16:9(ntsc)" }, |
1199 | { 11, 12, scale_line_11_12, "vcd 4:3(pal)" }, | 1199 | { 11, 12, scale_line_11_12, "vcd 4:3(pal)" }, |
1200 | { 11, 24, scale_line_11_24, "vcd 4:3(pal) 2*zoom" }, | 1200 | { 11, 24, scale_line_11_24, "vcd 4:3(pal) 2*zoom" }, |
1201 | { 5, 8, scale_line_5_8, "svcd 4:3(pal)" }, | 1201 | { 5, 8, scale_line_5_8, "svcd 4:3(pal)" }, |
1202 | { 3, 4, scale_line_3_4, "svcd 4:3(ntsc)" }, | 1202 | { 3, 4, scale_line_3_4, "svcd 4:3(ntsc)" }, |
1203 | { 1, 2, scale_line_1_2, "2*zoom" }, | 1203 | { 1, 2, scale_line_1_2, "2*zoom" }, |
1204 | { 1, 1, scale_line_1_1, "non-scaled" }, | 1204 | { 1, 1, scale_line_1_1, "non-scaled" }, |
1205 | }; | 1205 | }; |
1206 | int i; | 1206 | int i; |
1207 | 1207 | ||
1208 | for (i = 0; i < sizeof(scale_line)/sizeof(scale_line[0]); i++) { | 1208 | for (i = 0; i < sizeof(scale_line)/sizeof(scale_line[0]); i++) { |
1209 | if (step == scale_line[i].src_step*32768/scale_line[i].dest_step) { | 1209 | if (step == scale_line[i].src_step*32768/scale_line[i].dest_step) { |
1210 | printf("yuv2rgb: using %s optimized scale_line\n", scale_line[i].desc); | 1210 | //printf("yuv2rgb: using %s optimized scale_line\n", scale_line[i].desc); |
1211 | return scale_line[i].func; | 1211 | return scale_line[i].func; |
1212 | } | 1212 | } |
1213 | } | 1213 | } |
1214 | printf("yuv2rgb: using generic scale_line with interpolation\n"); | 1214 | //printf("yuv2rgb: using generic scale_line with interpolation\n"); |
1215 | return scale_line_gen; | 1215 | return scale_line_gen; |
1216 | 1216 | ||
1217 | } | 1217 | } |
1218 | 1218 | ||
1219 | 1219 | ||
1220 | static void scale_line_2 (uint8_t *source, uint8_t *dest, | 1220 | static void scale_line_2 (uint8_t *source, uint8_t *dest, |
1221 | int width, int step) { | 1221 | int width, int step) { |
1222 | int p1; | 1222 | int p1; |
1223 | int p2; | 1223 | int p2; |
1224 | int dx; | 1224 | int dx; |
1225 | 1225 | ||
1226 | p1 = *source; source+=2; | 1226 | p1 = *source; source+=2; |
1227 | p2 = *source; source+=2; | 1227 | p2 = *source; source+=2; |
1228 | dx = 0; | 1228 | dx = 0; |
1229 | 1229 | ||
1230 | while (width) { | 1230 | while (width) { |
1231 | 1231 | ||
1232 | *dest = (p1 * (32768 - dx) + p2 * dx) / 32768; | 1232 | *dest = (p1 * (32768 - dx) + p2 * dx) / 32768; |
1233 | 1233 | ||
1234 | dx += step; | 1234 | dx += step; |
1235 | while (dx > 32768) { | 1235 | while (dx > 32768) { |
1236 | dx -= 32768; | 1236 | dx -= 32768; |
1237 | p1 = p2; | 1237 | p1 = p2; |
1238 | p2 = *source; | 1238 | p2 = *source; |