--- encoder.c 2003/12/20 11:54:14 1.95.2.62 +++ encoder.c 2004/03/29 17:37:55 1.95.2.65 @@ -21,7 +21,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: encoder.c,v 1.95.2.62 2003/12/20 11:54:14 Isibaar Exp $ + * $Id: encoder.c,v 1.95.2.65 2004/03/29 17:37:55 Skal Exp $ * ****************************************************************************/ @@ -123,6 +123,9 @@ if (create->width%2 || create->height%2) return XVID_ERR_FAIL; + if (create->width<=0 || create->height<=0) + return XVID_ERR_FAIL; + /* allocate encoder struct */ pEnc = (Encoder *) xvid_malloc(sizeof(Encoder), CACHE_LINE); @@ -652,7 +655,7 @@ data.max_quant[i] = pEnc->mbParam.max_quant[i]; } - data.reference.csp = XVID_CSP_USER; + data.reference.csp = XVID_CSP_PLANAR; data.reference.plane[0] = pEnc->reference->image.y; data.reference.plane[1] = pEnc->reference->image.u; data.reference.plane[2] = pEnc->reference->image.v; @@ -660,7 +663,7 @@ data.reference.stride[1] = pEnc->mbParam.edged_width/2; data.reference.stride[2] = pEnc->mbParam.edged_width/2; - data.current.csp = XVID_CSP_USER; + data.current.csp = XVID_CSP_PLANAR; data.current.plane[0] = frame->image.y; data.current.plane[1] = frame->image.u; data.current.plane[2] = frame->image.v; @@ -690,7 +693,7 @@ } else { /* XVID_PLG_AFTER */ if ((pEnc->mbParam.plugin_flags & XVID_REQORIGINAL)) { - data.original.csp = XVID_CSP_USER; + data.original.csp = XVID_CSP_PLANAR; data.original.plane[0] = original->y; data.original.plane[1] = original->u; data.original.plane[2] = original->v; @@ -1440,7 +1443,7 @@ start_timer(); image_setedges(&pEnc->current->image, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height, - pEnc->mbParam.width, pEnc->mbParam.height); + pEnc->mbParam.width, pEnc->mbParam.height, 0); stop_edges_timer(); } @@ -1551,7 +1554,7 @@ if (!reference->is_edged) { start_timer(); image_setedges(pRef, pParam->edged_width, pParam->edged_height, - pParam->width, pParam->height); + pParam->width, pParam->height, 0); stop_edges_timer(); reference->is_edged = 1; } @@ -1949,7 +1952,7 @@ if (!pEnc->reference->is_edged) { image_setedges(f_ref, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height, pEnc->mbParam.width, - pEnc->mbParam.height); + pEnc->mbParam.height, 0); pEnc->current->is_edged = 1; } @@ -1966,7 +1969,7 @@ if (!pEnc->current->is_edged) { image_setedges(b_ref, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height, pEnc->mbParam.width, - pEnc->mbParam.height); + pEnc->mbParam.height, 0); pEnc->current->is_edged = 1; }