Guest User

Untitled

a guest
Oct 18th, 2015
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.10 KB | None | 0 0
  1. --- vf_zscale.c 2015-10-18 15:15:02.917583034 -0700
  2. +++ vf_zscale2.c 2015-10-18 15:18:32.667511033 -0700
  3. @@ -312,65 +312,6 @@
  4. return err_code;
  5. }
  6.  
  7. -static int convert_matrix(enum AVColorSpace colorspace)
  8. -{
  9. - switch (colorspace) {
  10. - case AVCOL_SPC_RGB:
  11. - return ZIMG_MATRIX_RGB;
  12. - case AVCOL_SPC_BT709:
  13. - return ZIMG_MATRIX_709;
  14. - case AVCOL_SPC_UNSPECIFIED:
  15. - return ZIMG_MATRIX_UNSPECIFIED;
  16. - case AVCOL_SPC_BT470BG:
  17. - return ZIMG_MATRIX_470BG;
  18. - case AVCOL_SPC_SMPTE170M:
  19. - return ZIMG_MATRIX_170M;
  20. - case AVCOL_SPC_YCGCO:
  21. - return ZIMG_MATRIX_YCGCO;
  22. - case AVCOL_SPC_BT2020_NCL:
  23. - return ZIMG_MATRIX_2020_NCL;
  24. - case AVCOL_SPC_BT2020_CL:
  25. - return ZIMG_MATRIX_2020_CL;
  26. - }
  27. - return ZIMG_MATRIX_UNSPECIFIED;
  28. -}
  29. -
  30. -static int convert_trc(enum AVColorTransferCharacteristic color_trc)
  31. -{
  32. - switch (color_trc) {
  33. - case AVCOL_TRC_UNSPECIFIED:
  34. - return ZIMG_TRANSFER_UNSPECIFIED;
  35. - case AVCOL_TRC_BT709:
  36. - return ZIMG_TRANSFER_709;
  37. - case AVCOL_TRC_SMPTE170M:
  38. - return ZIMG_TRANSFER_601;
  39. - case AVCOL_TRC_LINEAR:
  40. - return ZIMG_TRANSFER_LINEAR;
  41. - case AVCOL_TRC_BT2020_10:
  42. - return ZIMG_TRANSFER_2020_10;
  43. - case AVCOL_TRC_BT2020_12:
  44. - return ZIMG_TRANSFER_2020_12;
  45. - }
  46. - return ZIMG_TRANSFER_UNSPECIFIED;
  47. -}
  48. -
  49. -static int convert_primaries(enum AVColorPrimaries color_primaries)
  50. -{
  51. - switch (color_primaries) {
  52. - case AVCOL_PRI_UNSPECIFIED:
  53. - return ZIMG_PRIMARIES_UNSPECIFIED;
  54. - case AVCOL_PRI_BT709:
  55. - return ZIMG_PRIMARIES_709;
  56. - case AVCOL_PRI_SMPTE170M:
  57. - return ZIMG_PRIMARIES_170M;
  58. - case AVCOL_PRI_SMPTE240M:
  59. - return ZIMG_PRIMARIES_240M;
  60. - case AVCOL_PRI_BT2020:
  61. - return ZIMG_PRIMARIES_2020;
  62. - }
  63. - return ZIMG_PRIMARIES_UNSPECIFIED;
  64. -}
  65. -
  66. static int convert_range(enum AVColorRange color_range)
  67. {
  68. switch (color_range) {
  69. @@ -448,9 +389,9 @@
  70. s->src_format.depth = desc->comp[0].depth;
  71. s->src_format.pixel_type = desc->comp[0].depth > 8 ? ZIMG_PIXEL_WORD : ZIMG_PIXEL_BYTE;
  72. s->src_format.color_family = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_COLOR_RGB : ZIMG_COLOR_YUV;
  73. - s->src_format.matrix_coefficients = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : convert_matrix(in->colorspace);
  74. - s->src_format.transfer_characteristics = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : convert_trc(in->color_trc);
  75. - s->src_format.color_primaries = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : convert_primaries(in->color_primaries);
  76. + s->src_format.matrix_coefficients = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : in->colorspace;
  77. + s->src_format.transfer_characteristics = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : in->color_trc;
  78. + s->src_format.color_primaries = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : in->color_primaries;
  79. s->src_format.pixel_range = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_RANGE_FULL : convert_range(in->color_range);
  80.  
  81. s->dst_format.width = out->width;
  82. @@ -460,10 +401,10 @@
  83. s->dst_format.depth = odesc->comp[0].depth;
  84. s->dst_format.pixel_type = odesc->comp[0].depth > 8 ? ZIMG_PIXEL_WORD : ZIMG_PIXEL_BYTE;
  85. s->dst_format.color_family = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_COLOR_RGB : ZIMG_COLOR_YUV;
  86. - s->dst_format.matrix_coefficients = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : s->colorspace == -1 ? convert_matrix(out->colorspace) : s->colorspace;
  87. - s->src_format.transfer_characteristics = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : convert_trc(in->color_trc);
  88. - s->src_format.color_primaries = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : convert_primaries(in->color_primaries);
  89. + s->src_format.matrix_coefficients = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : in->colorspace;
  90. + s->src_format.transfer_characteristics = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : in->color_trc;
  91. + s->src_format.color_primaries = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : in->color_primaries;
  92. s->src_format.pixel_range = (desc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_RANGE_FULL : convert_range(in->color_range);
  93.  
  94. s->dst_format.width = out->width;
  95. @@ -460,10 +401,10 @@
  96. s->dst_format.depth = odesc->comp[0].depth;
  97. s->dst_format.pixel_type = odesc->comp[0].depth > 8 ? ZIMG_PIXEL_WORD : ZIMG_PIXEL_BYTE;
  98. s->dst_format.color_family = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_COLOR_RGB : ZIMG_COLOR_YUV;
  99. - s->dst_format.matrix_coefficients = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : s->colorspace == -1 ? convert_matrix(out->colorspace) : s->colorspace;
  100. - s->dst_format.transfer_characteristics = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : s->trc == -1 ? convert_trc(out->color_trc) : s->trc;
  101. - s->dst_format.color_primaries = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : s->primaries == -1 ? convert_primaries(out->color_primaries) : s->primaries;
  102. - s->dst_format.pixel_range = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_RANGE_FULL : s->range == -1 ? convert_range(out->color_range) : s->range;
  103. + s->dst_format.matrix_coefficients = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_MATRIX_RGB : s->colorspace == INT_MIN ? out->colorspace : s->colorspace;
  104. + s->dst_format.transfer_characteristics = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_TRANSFER_UNSPECIFIED : s->trc == INT_MIN ? out->color_trc : s->trc;
  105. + s->dst_format.color_primaries = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_PRIMARIES_UNSPECIFIED : s->primaries == INT_MIN ? out->color_primaries : s->primaries;
  106. + s->dst_format.pixel_range = (odesc->flags & AV_PIX_FMT_FLAG_RGB) ? ZIMG_RANGE_FULL : s->range == INT_MIN ? convert_range(out->color_range) : s->range;
  107.  
  108. if (s->colorspace != -1)
  109. out->colorspace = (int)s->dst_format.matrix_coefficients;
  110. @@ -661,31 +602,31 @@
  111. { "spline16", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_RESIZE_SPLINE16}, 0, 0, FLAGS, "filter" },
  112. { "splite36", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_RESIZE_SPLINE36}, 0, 0, FLAGS, "filter" },
  113. { "lanczos", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_RESIZE_LANCZOS}, 0, 0, FLAGS, "filter" },
  114. - { "range", "set color range", OFFSET(range), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_RANGE_FULL, FLAGS, "range" },
  115. - { "r", "set color range", OFFSET(range), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_RANGE_FULL, FLAGS, "range" },
  116. - { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, FLAGS, "range" },
  117. + { "range", "set color range", OFFSET(range), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_RANGE_FULL, FLAGS, "range" },
  118. + { "r", "set color range", OFFSET(range), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_RANGE_FULL, FLAGS, "range" },
  119. + { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = INT_MIN}, 0, 0, FLAGS, "range" },
  120. { "limited", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_RANGE_LIMITED}, 0, 0, FLAGS, "range" },
  121. { "full", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_RANGE_FULL}, 0, 0, FLAGS, "range" },
  122. - { "primaries", "set color primaries", OFFSET(primaries), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_PRIMARIES_2020, FLAGS, "primaries" },
  123. - { "p", "set color primaries", OFFSET(primaries), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_PRIMARIES_2020, FLAGS, "primaries" },
  124. - { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, FLAGS, "primaries" },
  125. + { "primaries", "set color primaries", OFFSET(primaries), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_PRIMARIES_2020, FLAGS, "primaries" },
  126. + { "p", "set color primaries", OFFSET(primaries), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_PRIMARIES_2020, FLAGS, "primaries" },
  127. + { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = INT_MIN}, 0, 0, FLAGS, "primaries" },
  128. { "709", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_PRIMARIES_709}, 0, 0, FLAGS, "primaries" },
  129. { "unspecified", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_PRIMARIES_UNSPECIFIED}, 0, 0, FLAGS, "primaries" },
  130. { "170m", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_PRIMARIES_170M}, 0, 0, FLAGS, "primaries" },
  131. { "240m", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_PRIMARIES_240M}, 0, 0, FLAGS, "primaries" },
  132. { "2020", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_PRIMARIES_2020}, 0, 0, FLAGS, "primaries" },
  133. - { "transfer", "set transfer characteristic", OFFSET(trc), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_TRANSFER_2020_12, FLAGS, "transfer" },
  134. - { "t", "set transfer characteristic", OFFSET(trc), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_TRANSFER_2020_12, FLAGS, "transfer" },
  135. - { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, FLAGS, "transfer" },
  136. + { "transfer", "set transfer characteristic", OFFSET(trc), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_TRANSFER_2020_12, FLAGS, "transfer" },
  137. + { "t", "set transfer characteristic", OFFSET(trc), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_TRANSFER_2020_12, FLAGS, "transfer" },
  138. + { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = INT_MIN}, 0, 0, FLAGS, "transfer" },
  139. { "709", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_709}, 0, 0, FLAGS, "transfer" },
  140. { "unspecified", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_UNSPECIFIED}, 0, 0, FLAGS, "transfer" },
  141. { "601", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_601}, 0, 0, FLAGS, "transfer" },
  142. { "linear", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_LINEAR}, 0, 0, FLAGS, "transfer" },
  143. { "2020_10", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_2020_10}, 0, 0, FLAGS, "transfer" },
  144. { "2020_12", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_TRANSFER_2020_12}, 0, 0, FLAGS, "transfer" },
  145. - { "matrix", "set colorspace matrix", OFFSET(colorspace), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_MATRIX_2020_CL, FLAGS, "matrix" },
  146. - { "m", "set colorspace matrix", OFFSET(colorspace), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_MATRIX_2020_CL, FLAGS, "matrix" },
  147. - { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, FLAGS, "matrix" },
  148. + { "matrix", "set colorspace matrix", OFFSET(colorspace), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_MATRIX_2020_CL, FLAGS, "matrix" },
  149. + { "m", "set colorspace matrix", OFFSET(colorspace), AV_OPT_TYPE_INT, {.i64 = INT_MIN}, -1, ZIMG_MATRIX_2020_CL, FLAGS, "matrix" },
  150. + { "input", 0, 0, AV_OPT_TYPE_CONST, {.i64 = INT_MIN}}, 0, 0, FLAGS, "matrix" },
  151. { "709", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_MATRIX_709}, 0, 0, FLAGS, "matrix" },
  152. { "unspecified", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_MATRIX_UNSPECIFIED}, 0, 0, FLAGS, "matrix" },
  153. { "470bg", 0, 0, AV_OPT_TYPE_CONST, {.i64 = ZIMG_MATRIX_470BG}, 0, 0, FLAGS, "matrix" },
Advertisement
Add Comment
Please, Sign In to add comment