Commit Graph

198 Commits

Author SHA1 Message Date
Carl Eugen Hoyos 4e4634aa16 Support yuva422p in ffv1. 2012-05-08 08:49:36 +02:00
Carl Eugen Hoyos 23fba3ed5c Remove unused variable from ffv1 decoder. 2012-05-05 14:54:57 +02:00
Michael Niedermayer fd6eba428e ffv1: 10l add forgotten avclass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-30 18:31:07 +02:00
Michael Niedermayer 123dd9346b ffv1: add slicecrc option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-30 15:00:10 +02:00
Michael Niedermayer a4b58fd9e8 ffv1: add examples of supported slices counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-26 04:35:30 +02:00
Michael Niedermayer cab15f9db4 ffv1: remove clear_state(), it has become unused
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 18:05:40 +02:00
Michael Niedermayer 83bf9fb6ec ffv1: move clear_state() to clear_slice_state() in encoding threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 18:05:29 +02:00
Michael Niedermayer 68a9194bb6 ffv1: indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 17:51:17 +02:00
Michael Niedermayer 3f4c0dad16 ffv1: move init_slice_state() into the decoder threads.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 17:50:55 +02:00
Michael Niedermayer 60217b5b9c ffv1: Remove slice count field with 1.3 and just count slices.
This field was problematic because in case of damaged slices it can be
lost

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 15:01:32 +02:00
Michael Niedermayer 3ed6917ab8 ffv1: store slice size with all slices in 1.3
This simplifies handling by removing a special case.
Its also needed to make the next change possible.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 14:59:15 +02:00
Michael Niedermayer c24ca7b88e ffv1: add 1 status byte to slices in in case crcs are stored too.
This will allow storing of information about corrected and uncorrectable
errors.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 12:05:06 +02:00
Michael Niedermayer 0c27854532 ffv1: Always store slice size when error reobustness is enabled.
This simplifies finding slices within a damaged bitstream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 12:01:44 +02:00
Michael Niedermayer 16524d1be0 ffv1: include solution hint in the slice error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-25 11:21:30 +02:00
Michael Niedermayer fe5bc46f60 ffv1: support vlc mode in 1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 23:29:09 +02:00
Michael Niedermayer 3158160334 ffv1: move the decoder side ac->vlc switch to decode_slice()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 23:29:09 +02:00
Michael Niedermayer 44f789c092 ffv1: allow selecting 1.3 by using -level
Note, 1.3 is not finalized and the bitstream will still change
do not use it yet. This option is just to make playing with it
easier, otherwise one would have to edit the source

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 23:29:09 +02:00
Michael Niedermayer e37419a806 ffv1: move ac->vlc switch to encode_slice()
This will allow us to use vlc coding in 1.3 too

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-24 23:29:09 +02:00
Michael Niedermayer abec6549ae ffv1dec: Require a valid keyframe for decoding non keyframes.
Before this the context could become inconsistent, this lead to a null ptr
dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-22 14:58:28 +02:00
Michael Niedermayer 044f7275d3 ffv1: add optional per slice CRCs to detect undamaged slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer b4fc53856d ffv1: move most fields from the frame header to the slice headers with ffv1.3
This will allow decoding a single undamaged slice even if all others are lost

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer 9408316a85 ffv1: refactor slice decoding init loop so that the first is less a special case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer 8456089f50 ffv1: clear slice state in decode_slice()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer c7a435aab2 ffv1: split clear_slice_state() out so individual slices can be cleared.
This allows us to clear outside of the main thread for example.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer 32883c0667 ffv1: split init_slice_state() out so individual slices can be inited
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer d7a4c43f18 ffv1: Add a CRC check to the global header with version 1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-20 15:37:23 +02:00
Michael Niedermayer fa1b2c8e18 ffv1: attempt to workaround intel CC fate issue.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-16 12:01:46 +02:00
Michael Niedermayer 367d9b2957 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: K&R formatting cosmetics (part II)
  tiffdec: Add a malloc check and refactor another.
  faxcompr: Check malloc results and unify return path
  configure: escape colons in values written to config.fate
  ac3dsp: call femms/emms at the end of float_to_fixed24() for 3DNow and SSE
  matroska: Fix leaking memory allocated for laces.
  pthread: Fix crash due to fctx->delaying not being cleared.
  vp3: Assert on invalid filter_limit values.
  h264: fix 10bit biweight functions after recent x86inc.asm fixes.
  ffv1: Fix size mismatch in encode_line.
  movenc: Remove a dead initialization
  git-howto: Explain how to avoid Windows line endings in git checkouts.
  build: Move all arch OBJS declarations into arch subdirectory Makefiles.

Conflicts:
	configure
	libavcodec/vp3.c
	libavformat/matroskadec.c
	libavutil/Makefile
	libswscale/Makefile
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-13 21:50:37 +02:00
Alex Converse 2b8374e920 ffv1: Fix size mismatch in encode_line. 2012-04-12 18:34:45 -07:00
Michael Niedermayer 1d80c8db27 ffv1: set slice geometry based on user specified slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 17:03:38 +02:00
Michael Niedermayer 8dfbc1c5cf ffv1: allow enabling of version 2 by using some of its features.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:48:34 +02:00
Michael Niedermayer 1b295a17d7 ffv1: fix version=2 chroma handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:01:37 +02:00
Michael Niedermayer 5612359501 ffv1: add a minor version field beginning with ffv1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08 16:01:36 +02:00
Michael Niedermayer 6101e5322f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_asf: Set the no_resync_search option for the chained asf demuxer
  asfdec: Add an option for not searching for the packet markers
  cosmetics: Clean up the tiffenc pix_fmts declaration to match the style of others
  cosmetics: Align codec declarations
  cosmetics: Convert mimic.c to utf-8
  avconv: remove an unused function parameter.
  avconv: remove now pointless variables.
  avconv: drop support for building without libavfilter.
  nellymoserenc: fix crash due to memsetting the wrong area.
  libavformat: Only require first packet to be known for audio/video streams
  avplay: Don't try to scale timestamps if the tb isn't set

Conflicts:
	Changelog
	configure
	ffmpeg.c
	libavcodec/aacenc.c
	libavcodec/bmpenc.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/ffv1.c
	libavcodec/flacenc.c
	libavcodec/fraps.c
	libavcodec/huffyuv.c
	libavcodec/libopenjpegdec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/pamenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngenc.c
	libavcodec/qtrleenc.c
	libavcodec/rawdec.c
	libavcodec/sgienc.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.c
	libavcodec/wmv2dec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 22:41:37 +02:00
Martin Storsjö 00c3b67b8a cosmetics: Align codec declarations
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Michael Niedermayer 4480edcf31 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  w32threads: Make pthread_cond_wait follow POSIX
  cosmetics: Consistently place static, inline and av_cold attributes/keywords.
  sbrdsp: Use standard multiple inclusion guards.
  pcm: K&R formatting cosmetics
  rawdec: Support fourccs YV16 and YV24
  rtmp: implement bandwidth notification
  rtmp: update supported audio codecs value

Conflicts:
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 21:17:52 +02:00
Diego Biurrun 3dde147ff9 cosmetics: Consistently place static, inline and av_cold attributes/keywords. 2012-04-04 14:54:13 +02:00
Paul B Mahol ae2c33b0c2 cosmetics: remove superfluous curly brackets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 03:09:07 +01:00
Michael Niedermayer ed45636e16 ffv1enc: switch to ff_alloc_packet2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 19:03:18 +01:00
Michael Niedermayer e01f478dd2 ffv1enc: Check context_model
Fixes crash

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-20 00:29:34 +01:00
Paul B Mahol 1eabd71c2b ffv1: PIX_FMT_YUV444P10 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 05:11:40 +01:00
Paul B Mahol 65491fa3d5 ffv1: PIX_FMT_YUV444P9 & PIX_FMT_YUV422P9 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 05:11:40 +01:00
Michael Niedermayer e2cc39b609 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  swf: check return values for av_get/new_packet().
  wavpack: Don't shift minclip/maxclip
  rtpenc: Expose the max packet size via an avoption
  rtpenc: Move max_packet_size to a context variable
  rtpenc: Add an option for not sending RTCP packets
  lavc: drop encode() support for video.
  snowenc: switch to encode2().
  snowenc: don't abuse input picture for storing information.
  a64multienc: switch to encode2().
  a64multienc: don't write into output buffer when there's no output.
  libxvid: switch to encode2().
  tiffenc: switch to encode2().
  tiffenc: properly forward error codes in encode_frame().
  lavc: drop libdirac encoder.
  gifenc: switch to encode2().
  libvpxenc: switch to encode2().
  flashsvenc: switch to encode2().
  Remove libpostproc.
  lcl: don't overwrite input memory.
  swscale: take first/lastline over/underflows into account for MMX.
  ...

Conflicts:
	.gitignore
	Makefile
	cmdutils.c
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/libdiracenc.c
	libavcodec/libxvidff.c
	libavcodec/qtrleenc.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavformat/mov.c
	libavformat/movenc.c
	libpostproc/Makefile
	libpostproc/postprocess.c
	libpostproc/postprocess.h
	libpostproc/postprocess_altivec_template.c
	libpostproc/postprocess_internal.h
	libpostproc/postprocess_template.c
	libswscale/swscale.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 02:57:18 +01:00
Anton Khirnov 278d88689b ffv1enc: switch to encode2(). 2012-02-23 13:51:29 +01:00
Michael Niedermayer 6cb2085278 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  ppc: Add ff_ prefix to nonstatic symbols
  sh4: Add ff_ prefix to nonstatic symbols
  mpegvideo: Add ff_ prefix to nonstatic functions
  rtjpeg: Add ff_ prefix to nonstatic symbols
  rv: Add ff_ prefix to nonstatic symbols
  vp56: Add ff_ prefix to nonstatic symbols
  vorbis: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefix to nonstatic symbols
  vc1: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefixes to nonstatic symbols
  snow: Add ff_ prefix to nonstatic symbols
  mpeg12: Add ff_ prefix to nonstatic symbols
  mpeg4: Add ff_ prefixes to nonstatic symbols
  lagarith: Add ff_ prefix to lag_rac_init
  libavcodec: Add ff_ prefix to j_rev_dct*
  dsputil: Add ff_ prefix to inv_zigzag_direct16
  libavcodec: Prefix fdct_ifast, fdct_ifast248
  dsputil: Add ff_ prefix to the dsputil*_init* functions
  libavcodec: Add ff_ prefix to some nonstatic symbols
  vlc/rl: Add ff_ prefix to the nonstatic symbols
  ...

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h263.h
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nuv.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/proresdsp.c
	libavcodec/svq3.c
	libavcodec/version.h
	libavformat/dv.h
	libavformat/dvenc.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 01:34:37 +01:00
Martin Storsjö 9cf0841ef3 dsputil: Add ff_ prefix to the dsputil*_init* functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Michael Niedermayer 25893ad6c9 ffv1: Warn the user if transparency is stored.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 20:35:14 +01:00
Paul B Mahol 83e2e9315a ffv1: PIX_FMT_GRAY8 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-15 00:41:40 +01:00
Carl Eugen Hoyos 2396206fb4 ffv1: Assume encoding all bits is wanted if bits_per_raw_sample == 0. 2012-02-11 23:45:04 +01:00
Carl Eugen Hoyos cadd9ab6aa Cosmetics: Move a block in ffv1's encode_init().
Makes the next patch smaller.
2012-02-11 23:42:58 +01:00