Michael Niedermayer
91ea868eeb
Remove another stupidity, long_ref==0 check 4 lines after assert(long_ref==0).
...
Originally committed as revision 14400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 22:39:43 +00:00
Michael Niedermayer
b3e93fd408
indent
...
Originally committed as revision 14399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 21:51:50 +00:00
Michael Niedermayer
d4f7d83866
Rewrite fill_default_ref_list(), the old code was obfuscated beyond
...
repair with hacks.
new code is ~60lines old was ~200
Fixes at least:
FRExt/HCHP2_HHI_A.264
one sample also get decoded much better:
FRExt/FRExt1_Panasonic.avc (PSNR 11 -> 80)
(no i do not know why, the old code was too a big mess to figure out
what it did)
Originally committed as revision 14398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 21:46:15 +00:00
Michael Niedermayer
37dcf83077
Do not scare the user with error messages when everything is ok.
...
Originally committed as revision 14396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 14:52:58 +00:00
Michael Niedermayer
d9e3242213
Make remove_short() match remove_long() in that it calls unreference_pic().
...
Originally committed as revision 14395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 14:00:01 +00:00
Michael Niedermayer
472c9a58a8
Removing yet another weird field pic special case,
...
now related to SHORT2LONG MMCOs.
Originally committed as revision 14394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 13:40:13 +00:00
Michael Niedermayer
9c0e46242f
Make remove_long() call unreference_pic() internally.
...
Originally committed as revision 14393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 13:09:06 +00:00
Michael Niedermayer
1cea5d0d03
Merge oddly duplicated remove_long/remove_long_at_index() function.
...
Originally committed as revision 14392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:56:58 +00:00
Michael Niedermayer
6f45060851
Remove strange long_ref=0.
...
Originally committed as revision 14391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:34:39 +00:00
Michael Niedermayer
4f10312c19
indent
...
Originally committed as revision 14390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:26:24 +00:00
Michael Niedermayer
3f1e179747
10000l, forgotton }
...
Originally committed as revision 14389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:25:28 +00:00
Michael Niedermayer
c29e05e60d
Remove another of these obfuscated special cases for field pictures
...
that does not do anything.
Originally committed as revision 14388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:23:41 +00:00
Michael Niedermayer
c725090004
Simplify mmco setup code used in IDR pictures.
...
Originally committed as revision 14387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:12:25 +00:00
Michael Niedermayer
57288c4a06
Remove redundant h->mmco_index= 0.
...
Originally committed as revision 14386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:02:45 +00:00
Michael Niedermayer
5118c6c771
Assert that long_ref has been cleared for released pics.
...
Originally committed as revision 14385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:54:03 +00:00
Michael Niedermayer
849b9cef32
Clear long_ref when a frame is no longer a long_ref.
...
Originally committed as revision 14384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:52:40 +00:00
Michael Niedermayer
d9fe1749fc
Make sure mmco index is 0 (instead of uninitialized) in all error returns.
...
Originally committed as revision 14383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:48:32 +00:00
Michael Niedermayer
9296f5d81a
Simplify strange obfuscated code in MMCO_LONG handling.
...
Note, this might change behavior for invalid bitstreams.
Originally committed as revision 14381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 00:13:02 +00:00
Michael Niedermayer
357282c6f3
Set field_poc (it was half uninitialized before) and use it
...
instead of the fragile first_field check to determine if we have
2 fields at the end.
Originally committed as revision 14380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 23:43:44 +00:00
Michael Niedermayer
b78a6baaf1
Minor simplification of code in init_poc().
...
Originally committed as revision 14379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:29:38 +00:00
Michael Niedermayer
5710b37160
cosmetics (indent and 2 empty lines)
...
Originally committed as revision 14378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:05:58 +00:00
Michael Niedermayer
80f8e035ba
init_poc() vs. idr() cleanup
...
Originally committed as revision 14377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:04:29 +00:00
Michael Niedermayer
ac5057c2de
Fix loop filter with CAVLC 8x8dct.
...
Fixes at least:
FRExt/HPCV_BRCM_A.264
FRExt/HVLCFI0_Sony_B.264
FRExt/HVLCPFF0_Sony_B.264
H264_artifacts_motion.h264
Originally committed as revision 14373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 17:13:37 +00:00
Diego Biurrun
1412060e78
misc spelling/grammar fixes
...
Originally committed as revision 14367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 10:55:36 +00:00
Michael Niedermayer
a149c1a59f
Reset prev_frame_num for idr frames as required by the spec.
...
Originally committed as revision 14354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 00:45:18 +00:00
Michael Niedermayer
b4cf222870
Better explanation for buf_size==0 code.
...
Originally committed as revision 14353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 17:24:11 +00:00
Michael Niedermayer
cf67f1655c
100l cross_idr simplification had a typo
...
Originally committed as revision 14351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:59:55 +00:00
Michael Niedermayer
f3ba9db42d
Remove truncated support, use an AVParser if you used that, it is the same.
...
Originally committed as revision 14350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:44:07 +00:00
Michael Niedermayer
617e42e2c4
Simplify cross_idr calculation.
...
Originally committed as revision 14349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:37:15 +00:00
Michael Niedermayer
55f22dd473
Remove redundant keyframe checks.
...
Originally committed as revision 14347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 11:24:04 +00:00
Michael Niedermayer
26b86e47c0
Support gaps in the frame num.
...
Fixes at least:
MR3_TANDBERG_B.264
MR4_TANDBERG_C.264
MR5_TANDBERG_C.264
Originally committed as revision 14339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 02:12:54 +00:00
Michael Niedermayer
e44e48372b
Reset frame_num for MMCO 5.
...
Fixes at least
MR2_TANDBERG_E.264
Originally committed as revision 14338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 19:30:45 +00:00
Michael Niedermayer
2e916cb392
3rd try to get the loop filter ref/mv check working correctly.
...
Fixes at least:
src19td.IBP.264
CVWP3_TOSHIBA_E.264
cvmp_mot_picaff0_full_B.26l
CVMP_MOT_FRM_L31_B.26l
cvmp_mot_frm0_full_B.26l
CVMP_MOT_FLD_L30_B.26l
cvmp_mot_fld0_full_B.26l
Originally committed as revision 14337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 17:44:36 +00:00
Michael Niedermayer
5a78bfbde7
qscale has a range of 0..51 we thus do not need a 256 entry table and neither need
...
to and it with 0xFF.
Originally committed as revision 14336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 13:01:10 +00:00
Michael Niedermayer
a82688b003
Setting chroma_qp to 0 for PCM blocks is really an interesting minor
...
optimization, more interresting would it have been had the author
thought about what value chroma_qp would have for the following MB.
Or failing that, had actually tested the code.
So this reverts this non-functional optimization, and makes the code work.
Fixes at least CAPM3_Sony_D.jsv
Originally committed as revision 14335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 12:31:48 +00:00
Michael Niedermayer
3a75616940
Deobfusate chroma_qp_table[1] init code.
...
Originally committed as revision 14334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 11:56:56 +00:00
Carl Eugen Hoyos
6aaff88fd9
Revert r13542: Spatial direct mode probably also works with PAFF.
...
Originally committed as revision 14332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 22:46:47 +00:00
Michael Niedermayer
c32867b5b6
Loop filtering with multiple slice types fix.
...
Fixes at least:
CABAST3_Sony_E.jsv
CABASTBR3_Sony_A.jsv
CABASTBR3_Sony_B.jsv
Originally committed as revision 14331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 22:19:06 +00:00
Michael Niedermayer
9f5c1037b1
Use slice_type_nos instead of slice_type where it makes no difference.
...
This way we use slice_type_nos almost everywhere which means 1 variable less
for gcc to put in a register.
Originally committed as revision 14326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 19:11:41 +00:00
Michael Niedermayer
4b30289ec9
SI/SP slice support. (not bitexact)
...
SI untested as I did not find any samples.
Originally committed as revision 14325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:44:57 +00:00
Michael Niedermayer
932f396f50
Remove superfluous ().
...
Originally committed as revision 14324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:26:11 +00:00
Michael Niedermayer
e3e6f18f16
Simplify slice type checks.
...
Originally committed as revision 14323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:24:45 +00:00
Michael Niedermayer
72caa912f2
More correct ref comparison in the loop filter.
...
Originally committed as revision 14322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:06:23 +00:00
Michael Niedermayer
29d05ebc7a
Simplify spatial direct ref selection with FFMIN3()
...
Originally committed as revision 14319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 01:41:56 +00:00
Michael Niedermayer
41f5c62f5c
Fix used references indexes in the loop filter.
...
Disable filter_mb_fast() as it optimized the incorrect code.
Fixes at least:
BA3_SVA_C.264
CABA3_SVA_B.264
CABACI3_Sony_B.jsv
CAFI1_SVA_C.264
camp_mot_frm0_full.26l
CAWP5_TOSHIBA_E.264
CVFI2_SVA_C.264
CVSE3_Sony_H.jsv
CVWP2_TOSHIBA_E.264
CVWP5_TOSHIBA_E.264
SL1_SVA_B.264
Originally committed as revision 14315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-20 18:06:41 +00:00
Michael Niedermayer
4f20b45fbe
Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
...
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264
Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Michael Niedermayer
fb19e1443b
Take the brain amputated spec literally if the user asks for it (-strict 1).
...
That is, add 16 frames delay, cache trashing and av desync.
fixes at least the following reference bitstreams:
CABA3_Sony_C.jsv
CACQP3_Sony_D.jsv
CAMANL1_TOSHIBA_B.264
CANL3_Sony_C.jsv
CVBS3_Sony_C.jsv
CVMANL1_TOSHIBA_B.264
Originally committed as revision 14308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 16:16:00 +00:00
Michael Niedermayer
2a811db238
Make the automatic has_b_frames increasing code increase it up to the
...
same maximum that can be achieved by specifying the value in the bitstream.
Originally committed as revision 14302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 15:37:52 +00:00
Michael Niedermayer
28bb9eb24b
Try to fix my latest 100l fate SVQ3 breakage.
...
Originally committed as revision 14300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 12:21:09 +00:00
Michael Niedermayer
801b27fa7c
Remove apparently unneeded out!=NULL check.
...
Originally committed as revision 14299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 11:57:29 +00:00