#include "../libmpeg3.h"#include "mpeg3video.h"#include <string.h>

Go to the source code of this file.
| #define DITHER_601_HEAD |
Value:
for(w = 0; w < video->horizontal_size; w++) \ { \ y_l = mpeg3_601_to_rgb[*y_in++]; \ y_l <<= 16; \ r_l = (y_l + video->cr_to_r[*cr_in]) >> 16; \ g_l = (y_l + video->cr_to_g[*cr_in] + video->cb_to_g[*cb_in]) >> 16; \ b_l = (y_l + video->cb_to_b[*cb_in]) >> 16;
Definition at line 77 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define DITHER_HEAD |
Value:
for(w = 0; w < video->horizontal_size; w++) \
{ \
y_l = *y_in++; \
y_l <<= 16; \
r_l = (y_l + video->cr_to_r[*cr_in]) >> 16; \
g_l = (y_l + video->cr_to_g[*cr_in] + video->cb_to_g[*cb_in]) >> 16; \
b_l = (y_l + video->cb_to_b[*cb_in]) >> 16;
Definition at line 68 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define DITHER_ROW_HEAD |
Value:
for(h = 0; h < video->out_h; h++) \ { \ y_in = &src[0][(video->y_table[h] + video->in_y) * \ video->coded_picture_width] + \ video->in_x; \ if(video->chroma_format == CHROMA420) \ { \ cb_in = &src[1][((video->y_table[h] + video->in_y) >> 1) * \ video->chrom_width] + \ (video->in_x >> 1); \ cr_in = &src[2][((video->y_table[h] + video->in_y) >> 1) * \ video->chrom_width] + \ (video->in_x >> 1); \ } \ else \ { \ cb_in = &src[1][(video->y_table[h] + video->in_y) * \ video->chrom_width] + \ (video->in_x >> 1); \ cr_in = &src[2][(video->y_table[h] + video->in_y) * \ video->chrom_width] + \ (video->in_x >> 1); \ } \ data = output_rows[h];
Definition at line 16 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define DITHER_ROW_TAIL } |
| #define DITHER_SCALE_601_HEAD |
Value:
for(w = 0; w < video->out_w; w++) \ { \ uv_subscript = video->x_table[w] / 2; \ y_l = mpeg3_601_to_rgb[y_in[video->x_table[w]]]; \ y_l <<= 16; \ r_l = (y_l + video->cr_to_r[cr_in[uv_subscript]]) >> 16; \ g_l = (y_l + video->cr_to_g[cr_in[uv_subscript]] + video->cb_to_g[cb_in[uv_subscript]]) >> 16; \ b_l = (y_l + video->cb_to_b[cb_in[uv_subscript]]) >> 16;
Definition at line 55 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define DITHER_SCALE_HEAD |
Value:
for(w = 0; w < video->out_w; w++) \
{ \
uv_subscript = video->x_table[w] / 2; \
y_l = y_in[video->x_table[w]]; \
y_l <<= 16; \
r_l = (y_l + video->cr_to_r[cr_in[uv_subscript]]) >> 16; \
g_l = (y_l + video->cr_to_g[cr_in[uv_subscript]] + video->cb_to_g[cb_in[uv_subscript]]) >> 16; \
b_l = (y_l + video->cb_to_b[cb_in[uv_subscript]]) >> 16;
Definition at line 45 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define DITHER_SCALE_TAIL } |
| #define DITHER_TAIL |
Value:
if(w & 1) \
{ \
cr_in++; \
cb_in++; \
} \
}
Definition at line 86 of file output.c.
Referenced by mpeg3video_ditherframe().
| #define STORE_PIXEL_BGR888 |
| #define STORE_PIXEL_BGRA8888 |
| #define STORE_PIXEL_RGB565 |
| #define STORE_PIXEL_RGB888 |
| #define STORE_PIXEL_RGBA16161616 |
| #define STORE_PIXEL_RGBA8888 |
| void memcpy_fast | ( | unsigned char * | output, | |
| unsigned char * | input, | |||
| long | len | |||
| ) |
| int mpeg3video_display_second_field | ( | mpeg3video_t * | video | ) |
| int mpeg3video_ditherbot | ( | mpeg3video_t * | video, | |
| unsigned char * | src[] | |||
| ) |
| int mpeg3video_ditherbot444 | ( | mpeg3video_t * | video, | |
| unsigned char * | src[] | |||
| ) |
| int mpeg3video_ditherframe | ( | mpeg3video_t * | video, | |
| unsigned char ** | src, | |||
| unsigned char ** | output_rows | |||
| ) |
Definition at line 133 of file output.c.
References mpeg3video_t::color_model, DITHER_601_HEAD, DITHER_HEAD, DITHER_ROW_HEAD, DITHER_ROW_TAIL, DITHER_SCALE_601_HEAD, DITHER_SCALE_HEAD, DITHER_SCALE_TAIL, DITHER_TAIL, mpeg3video_t::horizontal_size, MPEG3_601_BGR888, MPEG3_601_BGRA8888, MPEG3_601_RGB565, MPEG3_601_RGB888, MPEG3_601_RGBA8888, MPEG3_BGR888, MPEG3_BGRA8888, MPEG3_RGB565, MPEG3_RGB888, MPEG3_RGBA16161616, MPEG3_RGBA8888, mpeg3video_t::out_w, step, STORE_PIXEL_BGR888, STORE_PIXEL_BGRA8888, STORE_PIXEL_RGB565, STORE_PIXEL_RGB888, STORE_PIXEL_RGBA16161616, and STORE_PIXEL_RGBA8888.
Referenced by mpeg3video_dithertop(), and mpeg3video_present_frame().
| int mpeg3video_ditherframe444 | ( | mpeg3video_t * | video, | |
| unsigned char * | src[] | |||
| ) |
| int mpeg3video_dithertop | ( | mpeg3video_t * | video, | |
| unsigned char * | src[] | |||
| ) |
Definition at line 286 of file output.c.
References mpeg3video_ditherframe(), and mpeg3video_t::output_rows.
Referenced by mpeg3video_present_frame().

| int mpeg3video_dithertop444 | ( | mpeg3video_t * | video, | |
| unsigned char * | src[] | |||
| ) |
| int mpeg3video_init_output | ( | ) |
Definition at line 332 of file output.c.
References mpeg3_601_to_rgb.
Referenced by mpeg3video_allocate_struct().
| int mpeg3video_present_frame | ( | mpeg3video_t * | video | ) |
Definition at line 346 of file output.c.
References BOTTOM_FIELD, mpeg3video_t::chrom_width, CHROMA420, CHROMA444, mpeg3video_t::chroma_format, mpeg3video_t::coded_picture_width, FRAME_PICTURE, mpeg3video_t::horizontal_size, mpeg3video_t::in_h, mpeg3video_t::in_w, mpeg3video_t::in_x, mpeg3video_t::in_y, memcpy, mpeg3video_ditherbot(), mpeg3video_ditherbot444(), mpeg3video_ditherframe(), mpeg3video_ditherframe444(), mpeg3video_dithertop(), mpeg3video_dithertop444(), mpeg3video_t::output_rows, mpeg3video_t::output_src, mpeg3video_t::pict_struct, mpeg3video_t::prog_seq, mpeg3video_t::row_span, src, mpeg3video_t::topfirst, mpeg3video_t::u_output, mpeg3video_t::v_output, mpeg3video_t::want_yvu, and mpeg3video_t::y_output.
Referenced by mpeg3video_read_frame(), and mpeg3video_read_yuvframe().

unsigned char mpeg3_601_to_rgb[256] [static] |
1.5.5