Opened 12 years ago

Closed 12 years ago

#1310 closed defect (fixed)

support "Autodesk 24 bit RLE compressor" codec

Reported by: ami_stuff Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: aasc
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

attached sample is from "Autodesk 24 bit RLE compressor" codec, doesn't decode correctly with

ffmpeg -vcodec aasc -i autodesk_24bit_rle_aas4.avi out.avi

it looks like the same dll is used with these 2 codecs (aasc32.dll), please test if attached sample decodes for you with mplayer

C:\>ffmpeg -i autodesk_24bit_rle_aas4.avi
ffmpeg version N-40622-g1caf614 Copyright (c) 2000-2012 the FFmpeg developers
  built on May 13 2012 02:22:21 with gcc 4.5.0 20100414 (Fedora MinGW 4.5.0-1.fc
14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapshots/buil
d/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/snapshots/b
uild/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --enable-n
onfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-libvorbis
--enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-libopencor
e-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
  libavutil      51. 50.100 / 51. 50.100
  libavcodec     54. 21.101 / 54. 21.101
  libavformat    54.  4.100 / 54.  4.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.105 /  2. 72.105
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[avi @ 0x1ddc5c0] Could not find codec parameters (Video: none (AAS4 / 0x34534141), 160x120)
autodesk_24bit_rle_aas4.avi: could not find codec param
eters

Attachments (2)

autodesk_24bit_rle_aas4.avi (65.0 KB ) - added by ami_stuff 12 years ago.
autodesk_rle_aasc.avi (64.3 KB ) - added by ami_stuff 12 years ago.

Download all attachments as: .zip

Change History (4)

by ami_stuff, 12 years ago

Attachment: autodesk_24bit_rle_aas4.avi added

by ami_stuff, 12 years ago

Attachment: autodesk_rle_aasc.avi added

comment:1 by ami_stuff, 12 years ago

ffmpeg's decoder probably looks in a wrong place for compr type when forced to decode aas4, with this patch aas4 sample decodes correctly:

   switch(compr){
    case 0:
+       av_log(avctx, AV_LOG_INFO, "compr 0\n");
        stride = (avctx->width * 3 + 3) & ~3;
        for(i = avctx->height - 1; i >= 0; i--){
            if(avctx->width*3 > buf_size){
                av_log(avctx, AV_LOG_ERROR, "Next line is beyond buffer bounds\n");
                break;
            }
            memcpy(s->frame.data[0] + i*s->frame.linesize[0], buf, avctx->width*3);
            buf += stride;
            buf_size -= stride;
        }
        break;
    case 1:
+   case 1362427392:
+       av_log(avctx, AV_LOG_INFO, "compr 1\n");
        bytestream2_init(&s->gb, buf - 4, buf_size + 4);
        ff_msrle_decode(avctx, (AVPicture*)&s->frame, 8, &s->gb);
        break;
    default:
        av_log(avctx, AV_LOG_ERROR, "Unknown compression type %d\n", compr);
        return -1;
    }

here is a longer video for test:

http://www.datafilehost.com/download-2de32896.html

ffmpeg -vcodec aasc -i aas4.avi out.avi

Last edited 12 years ago by ami_stuff (previous) (diff)

comment:2 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavcodec
Keywords: aasc added
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master

Fixed by you.

Note: See TracTickets for help on using tickets.