Commit Graph

189 Commits

Author SHA1 Message Date
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
Paul B Mahol
6833fe4342 ffv1: PIX_FMT_GRAY16 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-06 21:03:24 +01:00
Paul B Mahol
9b9bf5ab73 ffv1: cosmetics: indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-02 21:11:36 +01:00
Paul B Mahol
ec09230c9a ffv1dec: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Paul B Mahol
917803babd ffv1enc: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 19:25:58 +01:00
Paul B Mahol
0a3a69e8d7 ffv1dec: use correct linesize
Apparently this did not break anything.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 23:24:32 +01:00
Paul B Mahol
c8eba9f9d5 ffv1dec: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:45:34 +01:00
Paul B Mahol
b0a30ea7c8 ffv1enc: PIX_FMT_YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:59 +01:00
Paul B Mahol
ab7da16ea4 ffv1dec: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:44:26 +01:00
Paul B Mahol
7054629f04 ffv1enc: PIX_FMT_YUVA420P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 21:43:41 +01:00