1 |
/***************************************************************************** |
/***************************************************************************** |
2 |
* |
* |
3 |
* XVID MPEG-4 VIDEO CODEC |
* XVID MPEG-4 VIDEO CODEC |
4 |
* - XviD plugin: dump pgm files of original and encoded frames - |
* - Xvid plugin: dump pgm files of original and encoded frames - |
5 |
* |
* |
6 |
* Copyright(C) 2003 Peter Ross <pross@xvid.org> |
* Copyright(C) 2003 Peter Ross <pross@xvid.org> |
7 |
* |
* |
31 |
|
|
32 |
int xvid_plugin_dump(void * handle, int opt, void * param1, void * param2) |
int xvid_plugin_dump(void * handle, int opt, void * param1, void * param2) |
33 |
{ |
{ |
34 |
switch(opt) |
switch(opt) { |
|
{ |
|
35 |
case XVID_PLG_INFO : |
case XVID_PLG_INFO : |
36 |
{ |
{ |
37 |
xvid_plg_info_t * info = (xvid_plg_info_t*)param1; |
xvid_plg_info_t * info = (xvid_plg_info_t*)param1; |
38 |
info->flags = XVID_REQORIGINAL; |
info->flags = XVID_REQORIGINAL; |
39 |
return 0; |
return(0); |
40 |
} |
} |
41 |
|
|
42 |
case XVID_PLG_CREATE : |
case XVID_PLG_CREATE : |
43 |
|
*((void**)param2) = NULL; /* We don't have any private data to bind here */ |
44 |
case XVID_PLG_DESTROY : |
case XVID_PLG_DESTROY : |
45 |
case XVID_PLG_BEFORE : |
case XVID_PLG_BEFORE : |
46 |
case XVID_PLG_FRAME : |
case XVID_PLG_FRAME : |
47 |
return 0; |
return(0); |
48 |
|
|
49 |
case XVID_PLG_AFTER : |
case XVID_PLG_AFTER : |
50 |
{ |
{ |
61 |
img.u = data->current.plane[1]; |
img.u = data->current.plane[1]; |
62 |
img.v = data->current.plane[2]; |
img.v = data->current.plane[2]; |
63 |
sprintf(tmp, "enc-%03i.pgm", data->frame_num); |
sprintf(tmp, "enc-%03i.pgm", data->frame_num); |
64 |
image_dump_yuvpgm(&img, data->reference.stride[0], data->width, data->height, tmp); |
image_dump_yuvpgm(&img, data->current.stride[0], data->width, data->height, tmp); |
65 |
} |
} |
66 |
|
|
67 |
return 0; |
return(0); |
68 |
} |
} |
69 |
|
|
70 |
return XVID_ERR_FAIL; |
return XVID_ERR_FAIL; |