x264 Modifications

In order to be able to play H.264/AVC lossless encoded videos with the Adobe Flash plug-in, some non-standard-confrom modifications must be made to the used H.264/AVC encoder.

The necessary modifcations for x264 (core: 125 r2200M 999b753) are as following:

In common\set.h, line 37 modify the profil_idv by replacing

  PROFILE_HIGH444_PREDICTIVE = 244

with

  PROFILE_HIGH444_PREDICTIVE = 144

The resulting definition should then look like this:

In encoder\macroblock.c, line 488 and following, the functions

  void x264_predict_lossless_chroma

  void x264_predict_lossless_4x4

  void x264_predict_lossless_8x8

  void x264_predict_lossless_16x16

must be modified by removing the if blocks, which are checking for vertical and horizontal prediction.

The resulting functions should then look like this: