top[i]= left[i]= topleft[i]= buffer[0][i];
}
for(x = 0; x < width; x++) {
- buffer[x][1] = ptr[3 * x + 0] - ptr[3 * x + 1] + 0x100;
- buffer[x][2] = ptr[3 * x + 2] - ptr[3 * x + 1] + 0x100;
- buffer[x][0] = (ptr[3 * x + 0] + 2 * ptr[3 * x + 1] + ptr[3 * x + 2]) >> 2;
+ if(avctx->pix_fmt == AV_PIX_FMT_BGR24){
- buffer[x][1] = ptr[3*x+0] - ptr[3*x+1] + 0x100;
- buffer[x][2] = ptr[3*x+2] - ptr[3*x+1] + 0x100;
- buffer[x][0] = (ptr[3*x+0] + 2*ptr[3*x+1] + ptr[3*x+2])>>2;
++ buffer[x][1] = ptr[3 * x + 0] - ptr[3 * x + 1] + 0x100;
++ buffer[x][2] = ptr[3 * x + 2] - ptr[3 * x + 1] + 0x100;
++ buffer[x][0] = (ptr[3 * x + 0] + 2 * ptr[3 * x + 1] + ptr[3 * x + 2]) >> 2;
+ }else{
- buffer[x][1] = ptr[4*x+0] - ptr[4*x+1] + 0x100;
- buffer[x][2] = ptr[4*x+2] - ptr[4*x+1] + 0x100;
- buffer[x][0] = (ptr[4*x+0] + 2*ptr[4*x+1] + ptr[4*x+2])>>2;
++ buffer[x][1] = ptr[4 * x + 0] - ptr[4 * x + 1] + 0x100;
++ buffer[x][2] = ptr[4 * x + 2] - ptr[4 * x + 1] + 0x100;
++ buffer[x][0] = (ptr[4 * x + 0] + 2 * ptr[4 * x + 1] + ptr[4 * x + 2]) >> 2;
+ }
for(i=0;i<3;i++) {
int pred, diff;
av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift,
&chroma_v_shift);
-
if (avctx->codec->id == AV_CODEC_ID_LJPEG &&
- (avctx->pix_fmt == AV_PIX_FMT_BGR0
- avctx->pix_fmt == AV_PIX_FMT_BGR24) {
++ ( avctx->pix_fmt == AV_PIX_FMT_BGR0
+ || avctx->pix_fmt == AV_PIX_FMT_BGRA
+ || avctx->pix_fmt == AV_PIX_FMT_BGR24)) {
vsample[0] = hsample[0] =
vsample[1] = hsample[1] =
vsample[2] = hsample[2] = 1;