| 163 | } |
| 164 | |
| 165 | static void resolve_source_format_and_range(AVPixelFormat input_format, |
| 166 | AVPixelFormat& resolved_format, |
| 167 | int& src_full_range, |
| 168 | AVColorRange frame_color_range, |
| 169 | AVCodecID codec_id) { |
| 170 | resolved_format = input_format; |
| 171 | src_full_range = 0; |
| 172 | |
| 173 | if (frame_color_range == AVCOL_RANGE_JPEG || codec_id == AV_CODEC_ID_MJPEG) { |
| 174 | src_full_range = 1; |
| 175 | } |
| 176 | |
| 177 | switch (input_format) { |
| 178 | case AV_PIX_FMT_YUVJ420P: |
| 179 | resolved_format = AV_PIX_FMT_YUV420P; |
| 180 | src_full_range = 1; |
| 181 | break; |
| 182 | case AV_PIX_FMT_YUVJ422P: |
| 183 | resolved_format = AV_PIX_FMT_YUV422P; |
| 184 | src_full_range = 1; |
| 185 | break; |
| 186 | case AV_PIX_FMT_YUVJ444P: |
| 187 | resolved_format = AV_PIX_FMT_YUV444P; |
| 188 | src_full_range = 1; |
| 189 | break; |
| 190 | case AV_PIX_FMT_YUVJ440P: |
| 191 | resolved_format = AV_PIX_FMT_YUV440P; |
| 192 | src_full_range = 1; |
| 193 | break; |
| 194 | default: |
| 195 | break; |
| 196 | } |
| 197 | } |
| 198 | } |
| 199 | |
| 200 | ImageMemoryPool::ImageMemoryPool(size_t max_cached_per_size) |