Opened 11 years ago
Last modified 8 years ago
#3289 open enhancement
support L264 without "Lead Extension"
Reported by: | ami_stuff | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | undetermined |
Version: | git-master | Keywords: | h264 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
attached file is compressed with disabled "Lead Extension" (see screenshot) and decodes correctly with "VSS H.264" vfw codec (when I modify FourCC to VSSH), so I belive it should be easy to support it with FFmpeg
http://www.datafilehost.com/d/cf66ba07
C:\>ffmpeg -i l264_1.avi ffmpeg version N-59696-gc0a33c4 Copyright (c) 2000-2014 the FFmpeg developers built on Jan 8 2014 22:01:50 with gcc 4.8.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 62.100 / 52. 62.100 libavcodec 55. 47.100 / 55. 47.100 libavformat 55. 22.102 / 55. 22.102 libavdevice 55. 5.102 / 55. 5.102 libavfilter 4. 0.103 / 4. 0.103 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.104 / 0. 17.104 libpostproc 52. 3.100 / 52. 3.100 [avi @ 02b9a5a0] non-interleaved AVI [avi @ 02b9a5a0] Could not find codec parameters for stream 1 (Video: none (L264 / 0x3436324C), 352x244): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, avi, from 'l264_1.avi': Duration: 00:00:04.13, start: 0.000000, bitrate: 17046 kb/s Stream #0:0: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 44100 Hz, stereo , s16p, 352 kb/s Stream #0:1: Video: none (L264 / 0x3436324C), 352x244, 30 fps, 30 tbr, 30 tb n, 30 tbc At least one output file must be specified
Attachments (3)
Change History (15)
by , 11 years ago
Attachment: | l264_1.jpg added |
---|
comment:1 by , 11 years ago
Keywords: | h264 added |
---|---|
Priority: | normal → wish |
Reproduced by developer: | set |
Status: | new → open |
Type: | defect → enhancement |
Version: | unspecified → git-master |
comment:2 by , 9 years ago
comment:3 by , 9 years ago
so this time I downloaded mpegable codec:
http://www.softpedia.com/get/Multimedia/Video/Codec-Packs-Video-Codecs/mpegable-AVC.shtml
changed "L264" FourCC in my sample (l264_1.avi) to "DAVC" and it decodes correctly
follow-up: 11 comment:4 by , 9 years ago
here is dll alone, maybe could be used with mplayer for testing purposes
comment:5 by , 9 years ago
see also ticket #5275 (mpegable codec decodes correctly "l264_1.avi" sample) - maybe fixing it will fix this ticket as well
follow-up: 7 comment:6 by , 9 years ago
It looks like they produced non-standard files in v1 (1.0.0.28) version of their encoder (2005) and this got fixed in version v2 (1.0.0.35) (2006).
http://www.datafilehost.com/d/af32e327
Here are more V1 samples:
https://web.archive.org/web/20050203212612/http://leadcodecs.com/Download/H264-Videos.htm
(FFmpeg's demuxer doesn't like "Careless Whisper" and "Limerick" files)
comment:7 by , 9 years ago
Replying to ami_stuff:
It looks like they produced non-standard files in v1 (1.0.0.28) version of their encoder (2005) and this got fixed in version v2 (1.0.0.35) (2006).
http://www.datafilehost.com/d/af32e327
Here are more V1 samples:
https://web.archive.org/web/20050203212612/http://leadcodecs.com/Download/H264-Videos.htm
This open source decoder plays (almost correctly) Lead H264 v1 file:
https://web.archive.org/web/20060101123100/http://www-user.tu-chemnitz.de/~mfie/stuff/SA/
ffmpeg -i l264_v1.avi -vcodec copy l264_v1.264
ffmpeg -i l264_v2.avi -vcodec copy l264_v2.264
playh264 l264_[v1/v2].264
"Minimal H.264 decoder (by Martin Fiedler)
OPEN SOURCE. Basic decoder.
http://keyj.s2000.ws/?page_id=41"
comment:8 by , 9 years ago
l264_v1:
H.264 stream: 320x240, zooming to 320x240 Hint: [Space] toggles pause; [Enter] advances to next frame Frame 1: I-Slice Frame 2: P-Slice Frame 3: P-Slice Frame 4: P-Slice Frame 5: P-Slice Frame 6: P-Slice Frame 7: P-Slice Frame 8: P-Slice Frame 9: P-Slice Frame 10: P-Slice Frame 11: P-Slice Frame 12: P-Slice Frame 13: P-Slice Frame 14: P-Slice Frame 15: P-Slice Frame 16: P-Slice Frame 17: P-Slice Frame 18: P-Slice Frame 19: P-Slice Frame 20: P-Slice Frame 21: P-Slice Frame 22: P-Slice Frame 23: P-Slice Frame 24: P-Slice Frame 25: P-Slice Frame 26: P-Slice Frame 27: P-Slice Frame 28: P-Slice Frame 29: P-Slice Frame 30: P-Slice Frame 31: P-Slice Frame 32: P-Slice Frame 33: P-Slice Frame 34: P-Slice Frame 35: P-Slice Frame 36: P-Slice Frame 37: P-Slice Frame 38: P-Slice Frame 39: P-Slice Frame 40: P-Slice Frame 41: P-Slice Frame 42: P-Slice Frame 43: P-Slice Frame 44: P-Slice Frame 45: P-Slice Frame 46: P-Slice Frame 47: P-Slice Frame 48: P-Slice Frame 49: P-Slice Frame 50: P-Slice Frame 51: P-Slice Frame 52: P-Slice Frame 53: P-Slice Frame 54: P-Slice Frame 55: P-Slice Frame 56: P-Slice Frame 57: P-Slice Frame 58: P-Slice Frame 59: P-Slice Frame 60: P-Slice Frame 61: P-Slice Frame 62: P-Slice Frame 63: P-Slice Frame 64: P-Slice Frame 65: P-Slice Frame 66: P-Slice Frame 67: P-Slice Frame 68: P-Slice Frame 69: P-Slice Frame 70: P-Slice Frame 71: P-Slice Frame 72: P-Slice Frame 73: P-Slice Frame 74: P-Slice Frame 75: P-Slice Frame 76: P-Slice Frame 77: P-Slice Frame 78: P-Slice Frame 79: P-Slice Frame 80: P-Slice Frame 81: P-Slice Frame 82: P-Slice Frame 83: P-Slice Frame 84: P-Slice Frame 85: P-Slice Frame 86: P-Slice Frame 87: P-Slice Frame 88: P-Slice Frame 89: P-Slice Frame 90: P-Slice Frame 91: P-Slice Frame 92: P-Slice Frame 93: P-Slice Frame 94: P-Slice Frame 95: P-Slice Frame 96: P-Slice Frame 97: P-Slice Frame 98: P-Slice Frame 99: P-Slice Frame 100: P-Slice Frame 101: P-Slice Frame 102: P-Slice Frame 103: P-Slice Frame 104: P-Slice Frame 105: P-Slice Frame 106: P-Slice Frame 107: P-Slice Frame 108: P-Slice Frame 109: P-Slice Frame 110: P-Slice Frame 111: P-Slice Frame 112: P-Slice Frame 113: P-Slice Frame 114: P-Slice Frame 115: P-Slice Frame 116: P-Slice Frame 117: P-Slice Frame 118: P-Slice Frame 119: P-Slice Frame 120: P-Slice Frame 121: P-Slice Frame 122: P-Slice Frame 123: P-Slice Frame 124: P-Slice Frame 125: P-Slice Frame 126: P-Slice Frame 127: P-Slice Frame 128: P-Slice Frame 129: P-Slice Frame 130: P-Slice Frame 131: P-Slice Frame 132: P-Slice Frame 133: P-Slice Frame 134: P-Slice Frame 135: P-Slice Frame 136: P-Slice Frame 137: P-Slice Frame 138: P-Slice Frame 139: P-Slice Frame 140: P-Slice Frame 141: P-Slice Frame 142: P-Slice Frame 143: P-Slice Frame 144: P-Slice Frame 145: P-Slice Frame 146: P-Slice Frame 147: P-Slice Frame 148: P-Slice Frame 149: P-Slice Frame 150: P-Slice Frame 151: P-Slice Frame 152: P-Slice Frame 153: P-Slice Frame 154: P-Slice Frame 155: P-Slice Frame 156: P-Slice Frame 157: P-Slice Frame 158: P-Slice Frame 159: P-Slice Frame 160: P-Slice Frame 161: P-Slice Frame 162: P-Slice Frame 163: P-Slice Frame 164: P-Slice Frame 165: P-Slice Frame 166: P-Slice Frame 167: P-Slice Frame 168: P-Slice Frame 169: P-Slice Frame 170: P-Slice Frame 171: P-Slice Frame 172: P-Slice Frame 173: P-Slice Frame 174: P-Slice Frame 175: P-Slice Frame 176: P-Slice Frame 177: P-Slice Frame 178: P-Slice Frame 179: P-Slice Frame 180: P-Slice Frame 181: P-Slice Frame 182: P-Slice Frame 183: P-Slice Frame 184: P-Slice Frame 185: P-Slice Frame 186: P-Slice Frame 187: P-Slice Frame 188: P-Slice Frame 189: P-Slice Frame 190: P-Slice Frame 191: P-Slice Frame 192: P-Slice Frame 193: P-Slice Frame 194: P-Slice Frame 195: P-Slice Frame 196: P-Slice Frame 197: P-Slice Frame 198: P-Slice Frame 199: P-Slice Frame 200: P-Slice Frame 201: P-Slice Frame 202: P-Slice Frame 203: P-Slice Frame 204: P-Slice Frame 205: P-Slice Frame 206: P-Slice Frame 207: P-Slice Frame 208: P-Slice Frame 209: P-Slice Frame 210: P-Slice Frame 211: P-Slice Frame 212: P-Slice Frame 213: P-Slice Frame 214: P-Slice Frame 215: P-Slice Frame 216: P-Slice Frame 217: P-Slice Frame 218: P-Slice Frame 219: P-Slice Frame 220: P-Slice Frame 221: P-Slice Frame 222: P-Slice Frame 223: P-Slice Frame 224: P-Slice Frame 225: P-Slice Frame 226: P-Slice Frame 227: P-Slice Frame 228: P-Slice Frame 229: P-Slice Frame 230: P-Slice Frame 231: P-Slice Frame 232: P-Slice Frame 233: P-Slice Frame 234: P-Slice Frame 235: P-Slice Frame 236: P-Slice Frame 237: P-Slice Frame 238: P-Slice Frame 239: P-Slice Frame 240: P-Slice Frame 241: P-Slice Frame 242: P-Slice Frame 243: P-Slice Frame 244: P-Slice Frame 245: P-Slice Frame 246: P-Slice Frame 247: P-Slice Frame 248: P-Slice Frame 249: P-Slice Frame 250: P-Slice Frame 251: P-Slice Frame 252: P-Slice Frame 253: P-Slice Frame 254: P-Slice Frame 255: P-Slice Frame 256: P-Slice Frame 257: P-Slice Frame 258: P-Slice Frame 259: P-Slice Frame 260: P-Slice Frame 261: P-Slice Frame 262: P-Slice Frame 263: P-Slice Frame 264: P-Slice Frame 265: P-Slice Frame 266: P-Slice Frame 267: P-Slice Frame 268: P-Slice Frame 269: P-Slice Frame 270: P-Slice Frame 271: P-Slice Frame 272: P-Slice Frame 273: P-Slice Frame 274: P-Slice Frame 275: P-Slice Frame 276: P-Slice Frame 277: P-Slice Frame 278: P-Slice Frame 279: P-Slice Frame 280: P-Slice Frame 281: P-Slice Frame 282: P-Slice Frame 283: P-Slice Frame 284: P-Slice Frame 285: P-Slice Frame 286: P-Slice Frame 287: P-Slice Frame 288: P-Slice Frame 289: P-Slice Frame 290: P-Slice Frame 291: P-Slice Frame 292: P-Slice Frame 293: P-Slice Frame 294: P-Slice Frame 295: P-Slice Frame 296: P-Slice Frame 297: P-Slice Frame 298: P-Slice Frame 299: P-Slice Frame 300: P-Slice Frame 301: P-Slice Frame 302: P-Slice Decoding done.
l264_v2:
H.264 stream: 320x240, zooming to 320x240 Hint: [Space] toggles pause; [Enter] advances to next frame Frame 1: I-Slice Frame 2: I-Slice Frame 3: I-Slice Frame 4: I-Slice Frame 5: I-Slice Frame 6: I-Slice Frame 7: I-Slice Frame 8: I-Slice Frame 9: I-Slice Frame 10: I-Slice Frame 11: I-Slice Frame 12: I-Slice Frame 13: I-Slice Frame 14: I-Slice Frame 15: I-Slice Frame 16: I-Slice Frame 17: I-Slice Frame 18: I-Slice Frame 19: I-Slice Frame 20: I-Slice Frame 21: I-Slice Frame 22: I-Slice Frame 23: I-Slice Frame 24: I-Slice Frame 25: I-Slice Frame 26: I-Slice Frame 27: I-Slice Frame 28: I-Slice Frame 29: I-Slice Frame 30: I-Slice Frame 31: I-Slice Frame 32: I-Slice Frame 33: I-Slice Frame 34: I-Slice Frame 35: I-Slice Frame 36: I-Slice Frame 37: I-Slice Frame 38: I-Slice Frame 39: I-Slice Frame 40: I-Slice Frame 41: I-Slice Frame 42: I-Slice Frame 43: I-Slice Frame 44: I-Slice Frame 45: I-Slice Frame 46: I-Slice Frame 47: I-Slice Frame 48: I-Slice Frame 49: I-Slice Frame 50: I-Slice Frame 51: I-Slice Frame 52: I-Slice Frame 53: I-Slice Frame 54: I-Slice Frame 55: I-Slice Frame 56: I-Slice Frame 57: I-Slice Frame 58: I-Slice Frame 59: I-Slice Frame 60: I-Slice Frame 61: I-Slice Frame 62: I-Slice Frame 63: I-Slice Frame 64: I-Slice Frame 65: I-Slice Frame 66: I-Slice Frame 67: I-Slice Frame 68: I-Slice Frame 69: I-Slice Frame 70: I-Slice Frame 71: I-Slice Frame 72: I-Slice Frame 73: I-Slice Frame 74: I-Slice Frame 75: I-Slice Frame 76: I-Slice Frame 77: I-Slice Frame 78: I-Slice Frame 79: I-Slice Frame 80: I-Slice Frame 81: I-Slice Frame 82: I-Slice Frame 83: I-Slice Frame 84: I-Slice Frame 85: I-Slice Frame 86: I-Slice Frame 87: I-Slice Frame 88: I-Slice Frame 89: I-Slice Frame 90: I-Slice Frame 91: I-Slice Frame 92: I-Slice Frame 93: I-Slice Frame 94: I-Slice Frame 95: I-Slice Frame 96: I-Slice Frame 97: I-Slice Frame 98: I-Slice Frame 99: I-Slice Frame 100: I-Slice Frame 101: I-Slice Frame 102: I-Slice Frame 103: I-Slice Frame 104: I-Slice Frame 105: I-Slice Frame 106: I-Slice Frame 107: I-Slice Frame 108: I-Slice Frame 109: I-Slice Frame 110: I-Slice Frame 111: I-Slice Frame 112: I-Slice Frame 113: I-Slice Frame 114: I-Slice Frame 115: I-Slice Frame 116: I-Slice Frame 117: I-Slice Frame 118: I-Slice Frame 119: I-Slice Frame 120: I-Slice Frame 121: I-Slice Frame 122: I-Slice Frame 123: I-Slice Frame 124: I-Slice Frame 125: I-Slice Frame 126: I-Slice Frame 127: I-Slice Frame 128: I-Slice Frame 129: I-Slice Frame 130: I-Slice Frame 131: I-Slice Frame 132: I-Slice Frame 133: I-Slice Frame 134: I-Slice Frame 135: I-Slice Frame 136: I-Slice Frame 137: I-Slice Frame 138: I-Slice Frame 139: I-Slice Frame 140: I-Slice Frame 141: I-Slice Frame 142: I-Slice Frame 143: I-Slice Frame 144: I-Slice Frame 145: I-Slice Frame 146: I-Slice Frame 147: I-Slice Frame 148: I-Slice Frame 149: I-Slice Frame 150: I-Slice Frame 151: I-Slice Frame 152: I-Slice Frame 153: I-Slice Frame 154: I-Slice Frame 155: I-Slice Frame 156: I-Slice Frame 157: I-Slice Frame 158: I-Slice Frame 159: I-Slice Frame 160: I-Slice Frame 161: I-Slice Frame 162: I-Slice Frame 163: I-Slice Frame 164: I-Slice Frame 165: I-Slice Frame 166: I-Slice Frame 167: I-Slice Frame 168: I-Slice Frame 169: I-Slice Frame 170: I-Slice Frame 171: I-Slice Frame 172: I-Slice Frame 173: I-Slice Frame 174: I-Slice Frame 175: I-Slice Frame 176: I-Slice Frame 177: I-Slice Frame 178: I-Slice Frame 179: I-Slice Frame 180: I-Slice Frame 181: I-Slice Frame 182: I-Slice Frame 183: I-Slice Frame 184: I-Slice Frame 185: I-Slice Frame 186: I-Slice Frame 187: I-Slice Frame 188: I-Slice Frame 189: I-Slice Frame 190: I-Slice Frame 191: I-Slice Frame 192: I-Slice Frame 193: I-Slice Frame 194: I-Slice Frame 195: I-Slice Frame 196: I-Slice Frame 197: I-Slice Frame 198: I-Slice Frame 199: I-Slice Frame 200: I-Slice Frame 201: I-Slice Frame 202: I-Slice Frame 203: I-Slice Frame 204: I-Slice Frame 205: I-Slice Frame 206: I-Slice Frame 207: I-Slice Frame 208: I-Slice Frame 209: I-Slice Frame 210: I-Slice Frame 211: I-Slice Frame 212: I-Slice Frame 213: I-Slice Frame 214: I-Slice Frame 215: I-Slice Frame 216: I-Slice Frame 217: I-Slice Frame 218: I-Slice Frame 219: I-Slice Frame 220: I-Slice Frame 221: I-Slice Frame 222: I-Slice Frame 223: I-Slice Frame 224: I-Slice Frame 225: I-Slice Frame 226: I-Slice Frame 227: I-Slice Frame 228: I-Slice Frame 229: I-Slice Frame 230: I-Slice Frame 231: I-Slice Frame 232: I-Slice Frame 233: I-Slice Frame 234: I-Slice Frame 235: I-Slice Frame 236: I-Slice Frame 237: I-Slice Frame 238: I-Slice Frame 239: I-Slice Frame 240: I-Slice Frame 241: I-Slice Frame 242: I-Slice Frame 243: I-Slice Frame 244: I-Slice Frame 245: I-Slice Frame 246: I-Slice Frame 247: I-Slice Frame 248: I-Slice Frame 249: I-Slice Frame 250: I-Slice Frame 251: I-Slice Frame 252: I-Slice Frame 253: I-Slice Frame 254: I-Slice Frame 255: I-Slice Frame 256: I-Slice Frame 257: I-Slice Frame 258: I-Slice Frame 259: I-Slice Frame 260: I-Slice Frame 261: I-Slice Frame 262: I-Slice Frame 263: I-Slice Frame 264: I-Slice Frame 265: I-Slice Frame 266: I-Slice Frame 267: I-Slice Frame 268: I-Slice Frame 269: I-Slice Frame 270: I-Slice Frame 271: I-Slice Frame 272: I-Slice Frame 273: I-Slice Frame 274: I-Slice Frame 275: I-Slice Frame 276: I-Slice Frame 277: I-Slice Frame 278: I-Slice Frame 279: I-Slice Frame 280: I-Slice Frame 281: I-Slice Frame 282: I-Slice Frame 283: I-Slice Frame 284: I-Slice Frame 285: I-Slice Frame 286: I-Slice Frame 287: I-Slice Frame 288: I-Slice Frame 289: I-Slice Frame 290: I-Slice Frame 291: I-Slice Frame 292: I-Slice Frame 293: I-Slice Frame 294: I-Slice Frame 295: I-Slice Frame 296: I-Slice Frame 297: I-Slice Frame 298: I-Slice Frame 299: I-Slice Frame 300: I-Slice Frame 301: I-Slice Frame 302: I-Slice Decoding done.
by , 8 years ago
Attachment: | l264_cavlc_qualityfactor_28.7z added |
---|
follow-up: 10 comment:9 by , 8 years ago
attached sample (v1 encoder) decodes (with artefacts) with:
mplayer -vc vssh264 -ao null -nosound l264_cavlc_qualityfactor_28.avi
and
ffmpeg -i l264_cavlc_qualityfactor_28.avi -vcodec copy out.h264 playh264 out.h264
so I would suggest to find out in which algo they made a mistake and support this crap
by , 8 years ago
Attachment: | l264_v1_cavlc_qualityfactor_28.avi added |
---|
comment:10 by , 8 years ago
Replying to ami_stuff:
attached sample (v1 encoder) decodes (with artefacts) with:
mplayer -vc vssh264 -ao null -nosound l264_cavlc_qualityfactor_28.aviand
ffmpeg -i l264_cavlc_qualityfactor_28.avi -vcodec copy out.h264 playh264 out.h264so I would suggest to find out in which algo they made a mistake and support this crap
It was actually file encoded by encoder V2, so just ignore this comment.
I attached file encoded with encoder V1 (l264_v1_cavlc_qualityfactor_28.avi)- plays with artefacts with:
ffmpeg -vcodec h264 -i l264_v1_cavlc_qualityfactor_28.avi -vcodec copy out.h264 playh264 out.h264
mplayer + vssh codec crashes.
follow-up: 12 comment:11 by , 8 years ago
Replying to ami_stuff:
here is dll alone, maybe could be used with mplayer for testing purposes
did you add it to mplayer? whats the codecs.conf entry for it? i keep getting decompression errors...
with this version of codec:
https://web.archive.org/web/20040723075036/http://www.videosoftinc.com/pub/vssh3dec.exe
wmp crashes while decoding l264 file here
but when I repleace "vsshdsd.dll" file with file from:
https://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2
then l264 file decodes correctly (there are some small artefacts)
also this sample decodes correctly with vss codec as well:
https://samples.mplayerhq.hu/V-codecs/L264.avi