Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#102 closed enhancement (fixed)

add support for "Brooktree YUV 411 Raw (Y41P)" codec

Reported by: ami_stuff Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: y41p roundup
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

issue 1123

http://roundup.libav.org/file329/AVI-Y41P_MP3.avi

seems to be supported by old xanim

http://xanim.polter.net/files/xanim2801.tar.gz

----------------------------------------------------------------
2.80.0
----------------------------------------------------------------
  + Added support for the following AVI codecs:
    DMB1,BW10,Y41P,I420,VYUY,V422,YV12,Y41P,YUY2,IV41,IV50,H261,M263
  + Added support for the following QT codecs:
    MJPA, 8BPS, IV41, IV50
  + Added support for QT3.0 compressed headers.
  + Added support for video decompression dlls.
  + Fixed problems with X11 remote displays of different endianness.
  + Minor bugs fixes.
C:\>ffmpeg -i AVI-Y41P_MP3.avi
FFmpeg version SVN-r18938, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming
w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e
nable-avisynth --enable-gpl --enable-zlib --enable-bzlib --enable-libgsm --enabl
e-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libsp
eex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroe
dinger --enable-libx264
  libavutil     50. 3. 0 / 50. 3. 0
  libavcodec    52.29. 0 / 52.29. 0
  libavformat   52.33. 0 / 52.33. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on May 25 2009 04:04:51, gcc: 4.2.4
Input #0, avi, from 'AVI-Y41P_MP3.avi':
  Duration: 00:00:06.00, start: 0.000000, bitrate: 7368 kb/s
    Stream #0.0: Video: Y41P / 0x50313459, 192x128, 23.81 tbr, 23.81 tbn, 23.81
tbc
    Stream #0.1: Audio: mp3, 11025 Hz, mono, s16, 24 kb/s
At least one output file must be specified

Attachments (1)

patchticket102.diff (1.1 KB ) - added by Carl Eugen Hoyos 13 years ago.

Download all attachments as: .zip

Change History (10)

by Carl Eugen Hoyos, 13 years ago

Attachment: patchticket102.diff added

comment:1 by Carl Eugen Hoyos, 13 years ago

Component: undeterminedswscale
Priority: normalwish
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

comment:2 by Carl Eugen Hoyos, 12 years ago

Keywords: y41p added
Resolution: fixed
Status: openclosed

Implemented by Paul B Mahol.
(Do samples exist where width % 8 != 0?)

comment:3 by Carl Eugen Hoyos, 12 years ago

Component: swscaleavcodec

comment:4 by ami_stuff, 12 years ago

FOURCC code: 'y41p'
Driver name: btvvc32.drv

Format restrictions:
Didth must be multiple of 8
Valid depths: 16, 24

FOURCC code: 'bt20'
Driver name: btvvc32.drv

Format restrictions:
Didth must be multiple of 8
Valid depths: 16, 24

comment:5 by Elon Musk, 12 years ago

bt20 is compressed codec, so if first need some RE.

Is Didth typo?

Valid depths is just flag set in avi?

in reply to:  5 comment:6 by ami_stuff, 12 years ago

Is Didth typo?

Yes.

Valid depths is just flag set in avi?

This is what VirtualDub display as an info for compressor, but whatever I select 16bit or 24bit as an "output format for compressor" I get files with the same size and the files plays ok with FFplay.

comment:7 by Elon Musk, 12 years ago

OT, about encoding y41p with ffmpeg:

btvvc32.drv expect the "Depth" byte in avi to be 0x0c (12) but ffmpeg avi muxer sets this byte to 0x18 (24) so y41p muxed in avi with ffmpeg are causing mplayer to crash when using bt411 codec (btvvc32.drv).

Once you change that byte to 0x0c in hex editor files plays fine with mplayer -vfc bt411

comment:8 by Carl Eugen Hoyos, 12 years ago

Thank you for the hint, I applied a patch that sets the relevant value when encoding (it is still set incorrectly in case of stream-copy).

comment:9 by Carl Eugen Hoyos, 12 years ago

Keywords: roundup added
Note: See TracTickets for help on using tickets.