Changes_detail.txt
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:8k
源码类别:

Audio

开发平台:

Visual C++

  1. Detailed Changes for JM 13.0
  2. ----------------------------
  3. JVT-U043
  4. --------
  5. (1) Highlight of the changes to encoder: 
  6. * Two fields - ToneMappingSEIPresentFlag and ToneMappingFile are added to the bottom of encoder.cfg
  7.   ToneMappingFile is the tone mapping configuation file
  8.   
  9. * #define PRINT_TONE_MAPPING in sei.c to print the tone mapping sei messages
  10.   several tone mapping related functions are implemented in sei.c
  11.   
  12. * Writing SEI message into bitstream is done at the end of init_frame () in image.c
  13. (2) Highlight of the changes to decoder: 
  14. * Define PRINT_TONE_MAPPING at the top of in sei.c to print out the tone mapping sei messages
  15.   Tone mapping SEI messages is interpreted in interpret_tone_mapping() in sei.c 
  16. * Define ENABLE_OUTPUT_TONEMAPPING in defines.h to enable the tone-mappping processing.
  17.   The actual tone mapping processing is done in  output.c  write_out_picture() 
  18.   A tone_mapping flag and tone-mapping look-up-table is added to the StorablePicture stucture.
  19. (3) Note: 
  20. * The actual tone-mapping processing is perormed only when tone_map_id ==0.
  21. For other tone_map_id, the tone-mapping sei messages are printed out, but no actual processing is performed.
  22. * Curretnly only the RGB 4:4:4 tone mapping is supported. For other format, it needs color format 
  23. conversion before performing the tone mapping process.
  24. (4) Test bitstreams: 
  25. source Crew_10.rgb, size 1280x720,  bit-depth 10, RGB 4:4:4; 10 frames, encoded with all intra
  26. source Crew_8.rgb, size 1280x720,   bit-depth 8, RGB 4:4:4; 10 frames, encoded with all intra
  27.    
  28.     1) test1.264    // test processing by different model_id. These models are intentionally very different, so that one can easily tell that different tone mappings are applied.
  29. at frame 0, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=1, coded_data_bit_depth=10, sei_bit_depth=8, model_id=0
  30. at frame=2, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=1, coded_data_bit_depth=10, sei_bit_depth=8, model_id=1
  31. at frame=4, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=1, coded_data_bit_depth=10, sei_bit_depth=8, model_id=2
  32. at frame=6, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=1, coded_data_bit_depth=10, sei_bit_depth=8, model_id=3
  33.     2) test2.264    // test the tone_map_repetition_period and tone_map cancel flag
  34. at frame 0, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=0, coded_data_bit_depth=8, sei_bit_depth=8, model_id=1
  35. at frame 2, send: tone_map_id=0, tone_map_cancel_flag=0, tone_map_repetition_period=5, coded_data_bit_depth=8, sei_bit_depth=8, model_id=1
  36. at frame 8, send: tone_map_id=0, tone_map_cancel_flag=1
  37.     3) test3.264   // test the case of tone_map_id != 0
  38. at frame 0, send: tone_map_id=1, tone_map_cancel_flag=0, tone_map_repetition_period=1, coded_data_bit_depth=10, sei_bit_depth=8, model_id=1
  39. Sharp
  40. 2/1/2007
  41. Changes for JM 7.5
  42. ------------------
  43. I updated the reference encoder with proper reference picture list handling
  44. (independent list_0 and list_1 prediction), especially for MB and picture AFF.
  45. Also picture and MB AFF can now be enabled independently in the config file.
  46. I merged the updated deblocking filter along with many other fixes that were
  47. already in the decoder dpb code.
  48. This version is not a complete working encoder, but it's a big step forward
  49. in code correction and cleanup.
  50. I only worked through the main code paths, which means RD-optimization on,
  51. standard motion estimation (no fme), no stored B pictures, no rate-control,
  52. no prediction weights, no FMO.
  53. The Non-RD-optimized code should probably work, but hasn't been tested.
  54. The FME implementation copies large sections of encode_one_macroblock inside
  55. a #define. That code duplication is bad coding style, which is the main
  56. reason why I didn't touch it. I did some modifications in fast_me.c, but
  57. due to some interface changes the file won't compile when enabling the
  58. #define FAST_ME
  59. The rate control makes many assumptions from the config file AFF options. 
  60. I tried to update these, but I'm not sure if this works. In some places the 
  61. if/else decisions seemed redundant. There were also lots of flags that
  62. indicated frame or field coding. I tried to reduce these to a minimum.
  63. I put some suggestions for updating FME/rate control in the section 
  64. "implementation hints" below.
  65. RDopt=2 mode: The simulated decoders of this mode actually don't have 
  66. anything to do with current real decoders. I also think, the compile fixes 
  67. that went into this section probably broke the mode at all. I would suggest
  68. to remove the mode as long as there is nobody willing to invest much
  69. time in a proper upgrade. So, is somebody interested in working on
  70. this mode? TU Munich?
  71. The weigted prediction functions make some keen assumptions on the reference
  72. picture list organization (e.g. that there is only one list which contains 
  73. exactly one backward reference picture in case of B pictures...)
  74. I vaguely remember Jill Boyce saying something like: WP can't work properly
  75. in the current reference software. We will fix that when there is working
  76. reference picture list support.
  77. Well, we now have proper reference picture list support...
  78. In case of enabling stored B pictures the bidirectional prediction functions
  79. need also an update. They make also assumptions about the reference picture
  80. list sturcture.
  81. known problems:
  82. ---------------
  83. - num_slice_groups_minus1>0 (FMO) is broken
  84. - slice coding needs to be checked (fixed number of bytes has been reported to fail)
  85. - weigted prediction doesn't work
  86. - RDOpt mode 2 doesn't work
  87. - stored B pictures need to be checkeded (function call is disabled)
  88. - rate control needs to be checked
  89. - FME needs update
  90. - direct mode mismatches with HHI software if direct_8x8_inference_flag=false
  91.   (ldecod matches lencod)
  92. - data partitioning?
  93. - profile and level are set hard coded
  94. - CABAC doesn't work for mb aff (context model selection problem at the encoder,
  95.   HHI is working on a fix)
  96. implementation hints:
  97. ---------------------
  98. - all reference picture indexes and motion vectors are stored in enc_picture
  99.   (global arrays are removed)
  100. - all_mv has additional dimension for LIST_0 / LIST_1
  101. - img->MbAffFrameFlag=1 indicates MB AFF coding in current picture
  102. - img->mb_data[img->current_mb_nr].mb_field=1 indicates field coding for current mb pair
  103. - (img->current_mb_nr%2)==0 indicates top mb (of mb pair)
  104. - img->structure= TOP_FIELD/BOTTOM_FIELD/FRAME indiactes picture structure
  105. - img->pix_x, img->pix_y -> current pixel coordinates in enc_picture
  106. - img->opix_x, img->opix_y -> current pixel coordinates in original and reference picture
  107. - img->block_x, img->block_y -> current 4x4 block coordinates in enc_picture
  108. (KS)
  109. Changes for JM 6.2
  110. ------------------
  111. The decoder should be nearly in JVT-G50 (final draft) state. 
  112. Known problems:
  113.   - the old Parameter Set syntax is used by default. Enable
  114.     #define G50_SPS
  115.     in defines.h for the new syntax
  116.   - the transform/inverse transform has not been reversed
  117.   - the direct modes seem to have some mismatches (compared with the
  118.     HHI implementation) for MB AFF (Alexis Tourapis is working on that)
  119.   - PCM macroblock mode not supported
  120.   - deblocking filter is not aligned to the text
  121.   - reference picture reordering / mmco hasn't got much testing
  122. The encoder in this version is completely broken. I started merging some
  123. code from the decoder, but currently don't have the time to finish that.
  124. If you're interested in encoder work, please contact me.
  125. Karsten
  126. Changes for JM 7.1 encoder
  127. --------------------------
  128. Known problems:
  129.    - Decoder sometimes can't decode the bitstream with CABAC on, 
  130.      multiple reference and B slice coding option.
  131.    - constrained intra prediction
  132. Siwei