-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathchanges.txt
More file actions
2105 lines (1471 loc) · 72.9 KB
/
Copy pathchanges.txt
File metadata and controls
2105 lines (1471 loc) · 72.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[Currently, all validation scripts work except for those that use error concealment features.]
Known bugs:
currently all known/reported bugs have been fixed,
but the missing features below need to be implemented
Missing features:
- support of field pictures in scalable configurations in encoder
(currently only correctly supported in single-layer coding)
- adding of remaining profile/level constraints in encoder
(add checks in decoder?)
- error detection & concealment
(without the restriction to two layers and
fixed prediction structures that was found
in the previously implemented version)
Further desirable improvements:
- support GOP structures with non-dyadic prediction structures
- combination of MGS and CGS coding
- higher flexibility of "MGS vector mode"
- if feasible, support of slice data partitioning
- support of large file sizes (>4GB)
- setting of IROI parameters in scalability info SEI and IROI-based extraction
JSVM_9_19_14 -> JSVM_9_19_15
============================
changes:
- fix for macroblock type derivation in inter-layer prediction
JSVM_9_19_13 -> JSVM_9_19_14
============================
changes:
- changes by Dolby for 3d multiplexing
- add fractional-pixel sub-sampling support for layer 0 (the base layer) for both SbS
and aB frame-compatible formats
- updated software manual that includes a full description of the new parameters
as well as instructions on how they affect each other, especially with
respect to properly using fractional-pixel sub-sampling
JSVM_9_19_12 -> JSVM_9_19_13
============================
changes:
- changes by Dolby for supporting 3d multiplexing (for MFC standardization):
- see macro DOLBY_ENCMUX_ENABLE (enabled by default)
- sample config files are in folder jsvm\JSVM\H264Extension\data\Dolby_3DMux
- note: additional encoding parameters are not described in the JSVM software manual
JSVM_9_19_11 -> JSVM_9_19_12
============================
changes:
- addition of project and solution files for Visual Studio 10
- fixes for incomplete layer representations regarding the availability
of intra neighbours and deblocking (for special cases)
JSVM_9_19_10 -> JSVM_9_19_11
============================
changes:
- corrected deblocking filter strength derivation for SpatialResolutionChangeFlag = 1 and I_BL macroblocks
(using transform coefficient levels instead of scaled transform coefficients)
JSVM_9_19_9 -> JSVM_9_19_10
===========================
changes:
- corrected resampling from frame (frame_mbs_only_flag=1) to bottom field [already in JSVM_9_19_10_BETA]
- corrected decoding of incomplete layer representations (for special cases) [already in JSVM_9_19_10_BETA]
- corrected residual resampling from field to frame (frame_mbs_only_flag=1)
- corrected construction of non-available samples for resampling from a field
- corrected construction of non-available samples for resampling from a non-MbAff frame
- corrected motion resampling from field pictures
- corrected handling of layer representatons where some (but not all) slices have no_inter_layer_pred_flag = 1
- some minor encoder only corrections
JSVM_9_19_8 -> JSVM_9_19_9
==========================
changes:
- enable proposed deblocking filter modification (VCEG-AN10_r3) by default
(can be disabled by setting PROPOSED_DEBLOCKING_APRIL2010 equal to 0)
JSVM_9_19_7 -> JSVM_9_19_8
==========================
changes:
- fix that prevents overflow when ScaledRefLayerPic[Width|Height]InSamples is >= 65536
- fix that prevents an assertion for parsing of reversed/unspecified NAL units
- fix for buffer allocation if enhancement layer is greater than base layer
- proposed deblocking filter modification (VCEG-AN10_r3) as option per compiler flag
PROPOSED_DEBLOCKING_APRIL2010 (disabled by default)
JSVM_9_19_6 -> JSVM_9_19_7
==========================
changes:
- correction of maximum buffer size (for cases the base layer picture is larger than the enhancement layer picture)
- correction of cropping (for CGS cases with negative ScaledRefLayerLeftOffset and/or ScaledRefLayerTopOffset)
JSVM_9_19_5 -> JSVM_9_19_6
==========================
changes:
- fix for motion upsampling with very large resolution ratios
- minor fix for deblocking of multiple slices with different deblocking parameters
- correct order of layer information in SVC VUI extension
JSVM_9_19_4 -> JSVM_9_19_5
==========================
changes:
- fix for packet trace mode of extractor
- fix for checking of scaling matrices
- fix of deblocking for multiple slices with different deblocking parameters
JSVM_9_19_3 -> JSVM_9_19_4
==========================
changes:
- corrections related to parsing with scan_idx_start != 0 and/or scan_idx_end != 15
JSVM_9_19_2 -> JSVM_9_19_3
==========================
changes:
- prevent overflow in position calculation equations
- relax constraint on presence of scalable SEI for bitstream extractor
JSVM_9_19_1 -> JSVM_9_19_2
==========================
changes:
- checking whether base_mode_flag equal to 1 is allowed when
constrained_intra_upsampling_flag is equal to 1
JSVM_9_19 -> JSVM_9_19_1
========================
changes:
- correction of position calculation (clipping) in intra-inter combination process
JSVM_9_18 -> JSVM_9_19
======================
changes:
- correction of scaling matrix selection
- support of 2nd chroma QP offset
- support of monochrome High profile decoding
- correction of slice group change cycle parsing
- remove assertion when non-supported SEIs are received
- correction of MMCO 3 for field pictures
- correction of POC setting for MMCO 5
- correction of NumClockTS setting
- correction of profile_level_idc setting in SEI (reported on 29.10.2009 by Thomas Gambier)
- correction of POC mode 2 decoding (reported on 11.09.2009 by Emmanuel Weber and later by Danny Hong)
- correction of residual condition for 8x8 blocks (reported on 07.09.2009 by Shivakumar Udupa)
- correction of VLC parsing for MGS fragments (reported on 23.09.2009 by Stefan Eckard)
- correction of residual data handling in inter-intra combination (reported on 28.09.2009 by Stefan Eckard)
- correction of loop filter conditions (reported on 24.09.2009 by Stefan Eckard)
- removed unnecessary deblocking (reported on 01.07.2009 by Steve Gordon)
- correction of rate output for PAFF (reported on 09.07.2009 by Rashad Jillani)
- correction of reference chroma QP setting in rewrite mode (reported on 09.07.2009 by Shinjan Tiwary)
- correction of SPS setting for MGS enhancements of spatial layers (reported on 11.09.2009 by Stefan Eckard)
- correction of decoding of incomplete layer representation in rewrite mode
JSVM_9_18 -> JSVM_9_18_1
========================
changes:
- remove compiler errors for gcc 4.4.0 (provided by Marc-Antoine Arnaud)
- bug fix: prevent decoder crash for IDR pictures with no_output_of_prior_pics_flag = 1 in middle of a stream
- bug fix: prevent segmentation fault when accessing layer information in xChangeScalableSEIMesssage()
- bug fix: use correct resampling parameters in motion resampling when a layer
with ESS=2 and MGS refinement is present (provided by Haixia Shi)
- bug fix: correct inference of residual_prediction_flag for SKIP macroblocks outside cropping window
added validation scripts:
- ESS2PlusMGS
JSVM_9_17 -> JSVM_9_18
======================
Decoder (and encoder) corrections
- added clipping after residual accumulation (G.8.5.3)
- corrections of CAVLC coding/parsing for "coefficient slices" with nC>7
- corrections of CAVLC coding/parsing for "coefficient slices" for DC coeff. arrays
- corrected inference of residual_prediction_flag for skipped macroblocks
- corrected coding/parsing of reference indices
(when adaptive_base_mode_flag is not equal to adaptive_motion_prediction_flag)
- corrected NAL unit parsing when last byte in stream is an emulation prevention byte
- corrected FMO mode 6 (for single-layer coding)
- some fixes related to SEI messages
- adding/correcting SNR scalability for MbAff frames
(with and without inter-layer cropping rectangle)
Encoder only corrections and additions
- adaptation of adaptive_base_mode_flag in SNR scalable coding,
when selected levels can violate the constraint
on the maximum number of motion vectors
- added support for slices with MbAff coding
- new config file parameters for independently selecting
inter-layer mode, motion, and residual prediction
- new config file parameter for specifying minimum level
- corrected NAL unit order (all SEI messages at beginning of an access unit)
- corrected order of SEI message (buffering period must be sent at the beginning of an AU)
- corrected writing of Integrity check SEI (when layers with different frames rates are present)
- corrected writing of nested PicTiming SEIs (only when the corresponding temporal layer is present)
- corrected setting of dpb_output_delay (for hierarchical prediction structures,
including low-delay configurations)
- option for disabling MMCO commands
General improvements / added features
- support of gcc 4.3.3
- support of 64 bit operating systems
- workspace for VC9 (including 64 bit configurations)
- bit stream extractor fix (allows gap in layer_id values in scalable SEI)
- software manual update/correction
- restructuring of encoding process (significant simplification), including
- motion estimation, motion compensation, and coding are done in one stage
(former multi-stage processing for non-key picture was removed)
- no subsequent estimation of prediction mode and residual
- only one function for encoding a macroblock
- using same functions for "key" and "non-key" pictures (and all slice types)
- using same functions for coding with and without "slices"
- improvement/correction of encoder/decoder trace files
(trace files can now be compared and should be identical)
- resolving of some memory issues (e.g. memory leaks)
JSVM_9_16 -> JSVM_9_17
======================
- Newly added feature: multi-layer lambda selection algorithm (JVT-AD021)
JSVM_9_15 -> JSVM_9_16
======================
- Bug fix related to the calculation of the priority layer maximum bitrate.
- Fix for memory leak in SEI code
- Fix for calculating packet sizes in bitstream extractor
- Fix for setting POC when receiving an MMCO 5
- Fixes in encoder control for InterLayerPred = 1
- Fix for parsing (inferring) residual_prediction_flag
JSVM_9_14 -> JSVM_9_15
======================
- correction of temporal Id in packet trace files
- correction of padding before intra upsampling for Mbaff frames (near top & bottom border)
- correction of residual prediction (residual of intra MBs is not used for residual prediction)
- correction of derivation of SpatialResolutionChangeFlag and RestrictedSpatialResolutionChangeFlag
- correction of typo in motion vector scaling (when cropping parameters change)
- correction of derivation of sub-macroblock modes in inter-layer motion prediction
- correction of chroma location calculation for the inter-intra combination process
- correction of transform coefficient scaling in AVC rewriting mode
- correction of derivation of maximum slice size (encoder only)
- additional encoder checks for not supported combinations of parameters
- correction of encoder control for InterLayerPred equal to 1
- temporally disabling the writing of parameters in scalable info SEI that causes encoder crashes
(this will be re-enabled in the future when a bug fix has been implemented, see below)
Known bugs:
- bug in calculation of m_aadMaxBitrate[][] - fix will be provided by Nokia
(argument of setPriorityLayerInfoPresentFlag() should be changed from false to true after the bug fix)
- incorrect setting of dpb_output_delay
- correction of SNR scalability with Mbaff frames (currently this is considered as spatial scalability in the software)
Missing features:
- support of field pictures in scalable configurations in encoder (currently only correctly supported in single-layer coding)
- adding of remaining profile/level constraints in encoder (add checks in decoder?)
- decoder support for AVC rewrite mode in connection with incomplete layer representations (as adopted at the Geneva meeting in April 2008)
- error detection & concealment (without the restriction to two layers and fixed prediction structures that was found in the previously implemented version)
Further desireable improvements:
- general improvement of encoder structure, including
- using same functions for P and B pictures ("key" and "non-key" pictures)
- using same functions for "slice mode"
- using same functions for "IROI"
- combine "motion estimation", "motion compensation", and "residual encoding"
- support of more flexible encoder configurations, including
- GOP structures with non-dyadic prediction structures
- combination of MGS and CGS coding
- higher flexibility of "MGS vector mode"
- if feasible, support of slice data partitioning
JSVM_9_13_1 -> JSVM_9_14
========================
- direct 8x8 inference for inter-layer motion prediction in B slices (see JVT-AB010)
- removal of copyright headers from source files and adding an extra file with copyright information
JSVM_9_13 -> JSVM_9_13_1
========================
- encoder fix for combining slices (only SliceMode 1) with so-called MGS fragments
- removal of extra (non-required) coding path for IROI's
- correction of validation scripts using slices
(the SliceMode and SliceArgument variables have been moved from the main
configuration files to the layer config files in JSVM_9_13)
JSVM_9_12_2 -> JSVM_9_13
========================
- correct setting of level_idc in encoder
- correction of scaling matrix support in decoder
- new encoder options for scaling matrices
- new encoder option for 8x8 transform (removal of FRExt parameter)
- IPCM support in decoder (including for SNR scalability)
- encoder option for forcing IPCM macroblocks (for debugging purposes)
- correction of prefix NAL unit syntax
- removal of filler prefix NAL units (no longer supported in draft standard)
- added support for Level 1b
- fix of MCTF preprocessor
- fix of FixedQPEncoder
- fix in residual upsampling (item 47 of JVT-AA025r1)
- fix for derivation of intra prediction modes in AVC rewrite mode
- fix in derivation of RestrictedSpatialResolutionChangeFlag (item 33 of JVT-AA025r1)
- fix in loop filter (for interlaced with I_BL mode)
- fix in condition for transmission of slice_group_change_cycle (item 51 of JVT-AA025r1)
- fix for padding before intra upsampling in Mbaff scenarios
- fix for SVC direct mode (in layers with DQId > 0)
- update (rewrite) of DPB implementation (+ required changes in encoder)
- modification of coding order in encoder, in particular (but not only) for low-delay
(in low-delay configs, we know have a correct low-delay coding order)
- fixes for field pictures (in base layer)
- encoder support for high-delay P pictures
- configurability of profile
- implementation of (most) profile constraints in encoder
- implementation of some additional level constraints in encoder including
- maximum number of motion vectors
- disabling bi-prediction for blocks smaller than 8x8
- maximum slice size in Scalable Baseline and Scalable High
- interlaced support
- support of CABAC and 8x8 in scalable Baseline
- support of long-term pictures in decoder (not extensively tested yet)
- support of SVC encoding with long-term pictures
- removal of "SCALING_FACTOR_HACK", which resulted in different QP cascading for QCIF
(note: due to this change, the rate/PSNR points in validation scripts that include
QCIF resolutions might have been significantly changed)
- addition of new validation scripts
- correction of validation scripts (options not supported in SVC have been removed)
JSVM_9_12_1 -> JSVM_9_12_2
==========================
-Bug fix related to the inter-layer deblocking filter process.
JSVM_9_12 -> JSVM_9_12_1
========================
- Alignment between "SVC levels" text (clause G.10.2) and software related to the level idc computation
- Changes to trace file high-level syntax elements so as to be aligned with the SVC spec :
constrained_set0_flag -> constraint_set0_flag
constrained_set1_flag -> constraint_set1_flag
constrained_set2_flag -> constraint_set2_flag
constrained_set3_flag -> constraint_set3_flag
interlayer_deblocking_filter_control_present_flag -> inter_layer_deblocking_filter_control_present_flag
chroma_phase_x_plus1 -> chroma_phase_x_plus1_flag
base_chroma_phase_x_plus1 -> seq_ref_layer_chroma_phase_x_plus1_flag
base_chroma_phase_y_plus1 -> seq_ref_layer_chroma_phase_y_plus1
scaled_base_left_offset -> seq_scaled_ref_layer_left_offset
scaled_base_top_offset -> seq_scaled_ref_layer_top_offset
scaled_base_right_offset -> seq_scaled_ref_layer_right_offset
scaled_base_bottom_offset -> seq_scaled_ref_layer_bottom_offset
deblocking_filter_parameters_present_flag -> deblocking_filter_control_present_flag
- Very minor changes in the software manual
JSVM_9_11 -> JSVM_9_12
======================
several bug fixes and corrections, including
- correction of resampling for intra (interlaced, constrained intra upsampling)
- correction of resampling for residual (interlaced)
- correction of resampling for motion data (interlaced)
- correction of bit rate specification in SEI message (Nokia)
- correction of CABAC parsing for new SVC syntax elements
addition of new validation scripts
JSVM_9_10 -> JSVM_9_11
======================
1) newly added features
- rate control for the base layer
JSVM_9_10_DEVEL3 -> JSVM_9_10
=============================
NOTE: Error concealment at the decoder has been removed.
NOTE2: The project files for VS 6 and VS 7 are not up-to-date. Only the
project files for VS 8 and the makefiles for Linux are up-to-date.
1) newly added features
- correction of loop filter operation
- implementation of two-stage modes in loop filter (idc=3 and 6)
- correction (update) of position calculation in residual resampling
- correction (update) of position calculation in motion resampling
- correction (update) of motion vector scaling
- correction (update) of intra-inter prediction mode
- correction (update) of AVC rewrite mode with multiple slice groups
2) bug fixing: some bug fixes at different places
3) addition of new validation scripts
NOTE: THE CURRENT SOFTWARE SHOULD BE FURTHER IMPROVED (volunteers are required!)
-----------------------------------------------------
- error detection and concealment code has been removed - it need to be added in a more general way
(all validation scripts that simulate packet losses fail)
- further checking of match between text and software is required
- I_BL macroblocks should be implemented
- long-term reference pictures should be implemented
JSVM_9_10_DEVEL2 -> JSVM_9_10_DEVEL3
====================================
NOTE: This is a version in development. Error concealment at the decoder has been removed.
1) newly added features
- re-implementation of temporal direct mode
- implementation of SVC skipped slices (slice_skip_flag = 1)
- support of non-complete layer representations (slices missing)
for quality_id > 0 in decoder (no error concealment - this is
allowed in conforming bit streams)
2) bug fixing: many bug fixes at different places
3) addition of new validation scripts
NOTE: THE CURRENT SOFTWARE NEEDS FURTHER IMPROVEMENT
----------------------------------------------------
- error detection and concealment code has been removed - it need to be added in a more general way
(all validation scripts that simulate packet losses fail)
- some known mismatches between software and text need to be fixed
- some further checking of match between text and software is required
JSVM_9_10_DEVEL -> JSVM_9_10_DEVEL2
===================================
NOTE: This is a version in development. Some features have been removed.
1) bug fixing: many bug fixes at different places, including
- fixing of interlaced support
- fixing of slice implementation in combination with other features
- fixing of rewriting support
2) modification of validation scripts
- correction to some interlaced scripts
(upsample parameters for encoding were different than downsampling parameters)
- clean up: removal of unsupported variables
- clean up: removal of terms "MCTF" and "FGS"
- add several new validation scripts that test combination of features
that haven't been sufficiently testes before (and didn't work for many cases)
NOTE: THE CURRENT SOFTWARE NEEDS FURTHER IMPROVEMENT
----------------------------------------------------
- temporal direct mode currently not supported due to the removal of the 2nd "base layer" decoder
(all validation scripts for AVC bitstreams that use the temporal direct mode fail)
- error detection and concealment code has been removed - it need to be added in a more general way
(all validation scripts that simulate packet losses fail)
- some further checking of match between text and software is required
JSVM_9_9 -> JSVM_9_10_DEVEL
===========================
NOTE: This is a version in development. Some features have been removed and other features have to be fixed.
1) correction of syntax, including
- SPS and subset SPS
- correction of handling of subset SPS
- correction of prefix header syntax
- correction of slice header syntax
- correction of IDR picture support
2) removing of features that are not supported in the standard
(mainly decoder clean-up)
- RCDO, 4-tap upsampling filters
- FGS
- fragmented NAL units
3) major rewrite of decoder (simplification, code improvement)
- removing of additional "base layer decoder" in class H264AVCDecoder
- clean up of processing order in decoder
- clean processing of access units in decoder
- general improvement, simplifications of main decoder classes
(H264AVCDecoderLibTest,H264AVCDecoder,LayerDecoder,...)
NOTE: THE CURRENT SOFTWARE NEEDS FURTHER IMPROVEMENT
----------------------------------------------------
- temporal direct mode currently not supported due to the removal of the 2nd "base layer" decoder
(all validation scripts for AVC bitstreams that use the temporal direct mode fail)
- error detection and concealment code has been removed - it need to be added in a more general way
(all validation scripts that simulate packet losses fail)
- interlaced features need to be corrected
(corresponding validation scripts fails)
- some other issues (need to be debugged)
[Note (Jerome): For the time being, the following validation scripts "fail":
FMO, IROI, HRD, MLQL, NonRequired, RPIC,LCFG4_I2I ]
JSVM_9_7 -> JSVM_9_8
========================
Date : October 15, 2007
Authors : Hao Zhang, Alex Eleftheriadis (Vidyo Inc, formerly Layered Media Inc.) + Jerome Vieron (Thomson R&D France)
Contributions: JVT-W062
Changes:
- Implement Tl0DepRep SEI for the layers where dId = 0 and qId = 0.
Change the name of tl0_pic_idx to tl0_dep_rep_idx.
- Removal of codes related to tl0_pic_idx in previous versions.
- Add the effective_idr_pic_id syntax into the new Tl0DepRep SEI.
Its value is set in the slice header of IDR pictures.
- Very minor changes related to PAff parameter
JSVM_9_6 -> JSVM_9_7
========================
Date : October 10, 2007
Authors : Siping Tao, He Ci(USTC)
Contributions: JVT-X046 JVT-X032
Changes:
- Integration of JVT-X046
- Add a validation script SLICE
- Add Subset SPS
- Add Temproal Layer Switching Point SEI
- Modify ReduKeyPic validation script
- Bug fix relate to Redundant Picture
- Update syntax of the following SEIs:
Scalability information SEI
Non-required layer representation SEI
Priority layer information SEI
- Removal of RCDO validation scripts
JSVM_9_5 -> JSVM_9_6
========================
Date : September 19, 2007
Authors : Jerome Vieron (Thomson R&D France)
Contributions: JVT-W025
Changes:
- Many Bug fixes related to Interlaced (mainly related to Field coding)
- Removal of flags as adopted in JVT-W025
JSVM_9_4 -> JSVM_9_5
========================
Date : September 04, 2007
Authors : Nathalie Cammas (Orange-France Telecom R&D) + Jerome Vieron (Thomson)
Contributions: JVT-W137
Changes:
- Quality layer SEI syntax implementation/updating
- Fixes related to dead substreams
-> changes can be find by searching tags MGS_FIX_FT_09_2007 and DS_FIX_FT_09_2007.
- Removal of all the data structure related to Smoothed Ref
- Removal of all the data structure related to Closed Loop option
- Many validation scripts have been repaired etsome have been removed:
-BaseId: fix a bug in encoder, add discardable features in CGS mode, modify the script so as to extract discardable stream or not, adjust PSNR since FGS refinements have been removed
-CAVLC: adjust PSNR since FGS refinements have been removed
-ChromaLPoff: adjust PSNR since FGS refinements have been removed
-EIDR: adjust PSNR since FGS refinements have been removed
-QLNALPid: needs MGS, adjust test configuration
-QLSEI: needs MGS, adjust test configuration
-RCDO: adjust PSNR since FGS refinements have been removed
-SIP: adjust PSNR since FGS refinements have been removed
-SLoop: adjust PSNR since FGS refinements have been removed
-T1: adjust PSNR since FGS refinements have been removed, modify configuration to replace FGS with MGS for SNR extraction test, fix a bug in extractor
-T3: adjust PSNR since FGS refinements have been removed, modify configuration to replace FGS with MGS for SNR extraction test
-Add a validation script MGSDS for the use of discardable stream with MGS
-Add a validation script QLMGSFragments
JSVM_9_3 -> JSVM_9_4
========================
Date : Aug 16
Authors : Jiancong Luo (Thomson) + Jerome Vieron (Thomson)
Contributions: JVT-W064
Changes:
- Added seven bitstream restriction indicators in scalability info SEI.
- Removal of FGSSubbandEncoder*.* files
- Removal of adpative filtering features ([JVT-V074])
- Removal of all data related to FGS in FixedQPEncoder
- Removal of all data related to FGS in Perl scripts (not in validation scripts...)
JSVM_9_2 -> JSVM_9_3
========================
Date : Aug 9
Authors : Xianglin Wang, Justin Ridge (Nokia)
Contributions: JVT-W030, JVT-W123
Changes:
- Added block merging process under ESS according to JVT-W030.
- Added in encoder the mechanism according to JVT-W123 for avoiding potential
artifacts due to residual prediction in ESS.
JSVM_9_1 -> JSVM_9_2
========================
Date : Aug 6
Authors : Heiner Kirchhoffer
Contributions: JVT-W090
Changes:
- Removal of FGS, SmoothedReferences
- Integration of MGS fragments
Notes: Validation scripts need to be updated to reflect the removal of FGS.
JSVM_9 -> JSVM_9_1
========================
Date : June 25
Authors : Siping Tao, Ci He, Weixing Wan, Qiu Shen, Hui Liu, Yi Guo (USTC)
Contributions: JVT-W046, JVT-W047, JVT-W048, JVT-W049, JVT-W051,JVT-W052, JVT-W053
Changes:
- Modification of syntax structure in slice header and sequence parameter sets. (JVT-W046)
- Addition of syntax elements in NAL unit header and scalable SEI message. (JVT-W047)
- Modification of syntax in prefix NAL unit and slice header. (JVT-W048)
- Implementation of redundant picture property SEI message, added of one script for
JVT-W049 named "ReduKeyPic". (JVT-W049)
- Modification of syntax in scalable SEI message. (JVT-W051)
- Implementation of Integrity-Check SEI message. (JVT-W052)
- Modification of syntax in scalable SEI message. (JVT-W053)
- bug-fixes: minor bug-fix related to IDR
Notes: changes could be found by searching "JVT-WXXX" which corresponds to contributions
JSVM_8_12 -> JSVM_8_13
========================
Date : May 09, 2007
Author : Jiancong Luo (Thomson)
Contribution: JVT-V068
Changes:
- 27 files are modified and 6 files are added.
- added Buffering Period SEI, Picture Timing SEI, AVC Temporal HRD SEI.
- modified nesting scalable SEI.
- added VUI in SPS.
- added HSS and HRD, including time calculation and writting of HRD parameters and timing
information in VUI and writing of the Buffering Period SEI, Picture Timing SEI, AVC
Temporal HRD SEI and nesting scalable SEI containing Buffering Period SEI and
Picture Timing SEI for SVC layers.
- Added options to the encoder.cfg file to enable HRD.
Notes:
1.Currently, only each HRD only support one scheduler, i.e. cpb_cnt_minus1 = 0.
For the HRD parameters, the BitRate and CpbSize of each scheduler are derived from
Table A-1 and Table A-2 based on the level and HRD type.
2.Changes can be found by searching "// JVT-V068"
JSVM_8_11 -> JSVM_8_12
======================
Date : May 18, 2007
Author : Andrew Segall, Jie Zhao (Sharp)
Contribution: JVT-V035
Changes:
- Added project files/make files for standalone SVC to AVC bitstream rewriter,
- Modified decoder source files to bypass decoding when SHARP_AVC_REWRITE_OUTPUT is defined.
- Minor bugfixes for transform domain prediction (whether coefficient levels or values)
JSVM_8_10 -> JSVM_8_11
======================
Date : May 15, 2007
Author : Daniele Alfonso (STMicroelectronics)
Contribution: JVT-V079
Changes:
- Added low-complexity macroblock mode decision method (for base layer only).
JSVM_8_9 -> JSVM_8_10
======================
Date : Apr 20, 2007
Author : Andrew Segall, Jie Zhao (Sharp)
Contribution:
Changes:
- Converted residual prediction from spatial domain to transform domain
- Modified Linux makefile to generate 32bit binary (S. Kamp, RWTH)
JSVM_8_8 -> JSVM_8_9
======================
Date : March 19, 2007
Author : Qiu Shen(USTC)
Changes:
- Add prefix unit before the NAL unit of the first AVC slice, and change suffix unit to be after the other NAL unit of AVC slice.
- Minor bug fixes related to ESS
JSVM_8_7 -> JSVM_8_8
======================
Date : March 10, 2007
Author : Andrew Segall, Jie Zhao (Sharp)
Contribution: JVT-V035
Changes:
- Add SVC to AVC bitstream rewriting ability
- Bug fixes for GCC 4.x
JSVM_8_6 -> JSVM_8_7
======================
Date : March 2, 2007
Author : Jones He (Freescale)
Contribution: JVT-V032
Changes:
- Extend the "disable_deblocking_filter_idc" to 3 and 4 for disabling chroma deblocking
filter in enhanced layer while keeping luma processing per values 0 and 2, respectively
- Bug fix (missing initialisation) in UvlcReader.cpp (Provided by Heiner Kirchhoffer / HHI)
JSVM_8_5 -> JSVM_8_6
========================
Date : Feb 26, 2007
Author : N. Cammas (Orange-France Telecom R&D), J. Vieron (Thomson R&D)
Contribution: JVT-V058
Changes:
- Add a useSmoothedRef flag in slice header
- Many bug fixes related to Interlaced + others
- Only "6.6.21" validation test (in the AVC_Conformance set) would NOT have to be run !!!
JSVM_8_4 -> JSVM_8_5
========================
Date : Feb 20, 2007
Authors : Chengjie Tu (Microsoft), Shankar Regunathan (Microsoft), H. Schwarz (HHI)
Contribution: JVT-V090, JVT-V074
Changes:
- added 4 tap direct motion compensation interpolation for luma (as a configurable encoder option)
- added flexible 4-tap upsampling filters (as an option controlled by the preprocessing flag _JVTV074_)
- bug fix for SKIP mode in hierarchical P pictures
- added encoder option: explicit QP cascading mode
- renamed "MVCMode" to "AVCMode", made it compatible with H.264/AVC
JSVM_8_3 -> JSVM_8_4
========================
Date : Feb 17, 2007
Author : H. Schwarz (HHI)
Contribution: JVT-V126
Changes:
- MGS key picture coding
- options for MGS encoder control
+ bug fixes
JSVM_8_2 -> JSVM_8_3
========================
Date : Feb 14, 2007
Author : H. Schwarz (HHI)
Contribution: JVT-V125
Changes:
- added H.241/RCDO compatible encoding mode
+ bug fixes
JSVM_8_1 -> JSVM_8_2
======================
Improved Error Resilience using Frame Index in NAL Header Extension for SVC
Date: Feb 8, 2007
Authors: Hao Zhang, Alex Eleftheriadis (Layered Media, Inc.), Jerome Vieron (Thomson R&D)
Contribution: JVT-V088
Changes:
- Removed the picture index (tl0_pic_idx) from the "NAL unit header SVC extension" to the
"slice layer in scalable extension". (Note that this field was previously called
tl0_frame_idx.)
- Extended the usage of picture index values from the base layer (dependency_id and
quality_level equal to 0) to all spatial and quality scalability layers in the lowest
temporal level.
Note: The changes above can be found by searching "JVT-V088".
- Interlaced bug fixes(downconvert and Loopfilter)
JSVM_8_0_1 -> JSVM_8_1
========================
Date : Feb 7, 2007
Author : K. Lee (Samsung)
Contribution: JVT-T037
Changes:
- Only MbEncoder.cpp is modified (see JVT-T037)
JSVM_8_0 -> JSVM_8_0_1
========================
Date : Feb 6, 2007
Authors: C. Chevance V. Bottreau and, J. Vieron (Thomson)
Changes:
- Many memory leaks fixing (extractor, decoder)
- FixedQPEncoder has been improved. Many new "interesting" features has been added. (cf. Software manual)
- New encoding command line options (already present in configuration files) have been added.
- Long-term interlaced validation scripts have been modified in order to be run in an acceptable time slot...;-)
- Renaming of .Net 2005 "vcproj" and "sln" files. The new name are "*_vc8.vcproj" and "*_vc8.sln".
- Software manual was updated.
JSVM_7_13 -> JSVM_8_0
========================
Date : Feb 1, 2007
Author: C. Chevance, E. Francois and, J. Vieron (Thomson)
Changes:
- Few bug fixes related to the interlaced implementation (downconvert, variables initialization...)
- Many memory fixes (uninitialized memory read, memory leaks, etc.). Thanks to Ye Yan for the help!
- There are many remaining leaks...TODO
- Validation scripts related to interlaced have been slightly modified
- .Net 2005 "vcproj" and "sln" files have been added
JSVM_7_12_1 -> JSVM_7_13
========================
Date : Jan. 11, 2007
Author: C. Chevance, E. Francois, V. Bottreau and, J. Vieron (Thomson)
Contributions : JVT-S018
Changes:
- 134 files have been modified
- MBAFF tools are now supported on both Base and Enhancement layers
- Inter-layer Progressive/Interlace scalability based on the use of a "Virtual Base Layer" is also implemented
- The DownConvertStatic tool has been modified to support the resampling of both Interlaced or Progressive material. The "resample_mode" option has been added.
Regarding the Validation scripts:
- Around 35 files have been added
- AVC_Conformance: 3 MBAFF validation test sets using the MBAFF AVC conformance bitstreams are provided (6.6.2, 6.6.7, 6.6.18 and, 6.6.20)
- Short_term: 4 validation tests emulating the 4 scenarios defined in the CE on interlaced coding are provided (CFG1_P2I, CFG2_I2P,CFG3_I2P,CFG4_I2I)
In these scenarios, small "gop" size are considered and CABAC/CAVLC coding is used
- Long_term: 4 validation tests emulating the 4 scenarios defined in the CE on interlaced coding are provided (LCFG1_P2I, LCFG2_I2P, LCFG3_I2P, LCFG4_I2I)
Cfg1 -> cfg4 supported
- We added a directory called "422_to_420fullres": which contains the source code of the SD 422 to 420 conversion tool proposed in [VCEG-059]. ].
This tool has to be used to generate the input sequence for validation tests (XCFG1_P2I and XCFG4_I2I) related to Interlaced material.
The way to use it is explained both in the Software Manual and in the associated Readme.txt file.
Notes:
1) The main changes are tagged "TMM_INTERLACE". However, there are too many modifications within the code so that, we didn't add a tag for each change.
2) Field Picture coding is not fully supported...Moreover features like Bottom-first coding are not yet supported.
JSVM_7_12 -> JSVM_7_12_1
========================
Date : Jan. 02, 2007
Author: J. Vieron (Thomson)
Changes:
- There was a mismatch between the JSVM text and the software regarding the INTRA blocks (4x4 or/and 8x8) replacement during the Inter-layer Prediction process.
JSVM_7_11 -> JSVM_7_12
======================
Date: Dec. 19, 2006
Author: Hao Zhang and Alex Eleftheriadis (Layered Media), J. Vieron (Thomson)
Contribution: JVT-U160
Changes:
- Separate flags are added into the slice header to signal use of base mode selection, residual prediction and motion prediction, separately from adaptive prediction.
- Only syntax changes are integrated in the current version. R-D optimization is not changed and the default values of these new flags are set in such ways
that the R-D performance stays the same. Therefore, arbitrary settings of these flags will not result in the expected performance.
Note: The changes can be located by searching 'U160'.
-EIDR Bug fixes related to IntraPeriod vs IDRPeriod (provided by shenqiu).
-Temporal level nesting flag default value is now set to 0 (J. Vieron).
-Very minor: Remove of remaining AGS parts in cfg files of validation scripts (J. Vi�on).
JSVM_7_10 -> JSVM_7_11
=====================
Date: Dec. 16, 2006
Author: Yan Ye, Yiliang Bao (Qualcomm)
Contributions: JVT-U125, JVT-U126
Changes:
- Integration of cycle aligned fragments for FGS layer according
to JVT-U125. Also simplified FGS layer syntaxes by grouping
some syntaxes into a macroblock header.
- Implemented the low-complexity smoothed reference scheme
according to JVT-U126.
+ MGS fixes provided by Nathalie Cammas
+ fixes of conditions for motion_prediction_flag_lX
JSVM_7_9 -> JSVM_7_10
=====================
Date: Dec. 2, 2006
Author: Xianglin Wang, Justin Ridge (Nokia)
Contributions: JVT-U129, JVT-U130
Changes:
- Integration of JVT-U129,"Separation markers for FGS color
components". Added corresponding SEI message.
- Implemented the improved inter-layer prediction mechanism
for ESS according to JVT-U130.
+ bug fix for Intra_BL mode in CGS by H. Schwarz
(I_BL for CGS was broken since version JSVM_7_7)
JSVM_7_8 -> JSVM_7_9
=====================
Date: Nov. 28, 2006
Author: Heiko Schwarz (HHI)