기여 목록 / 8457722
[media] Remove the kAccurateVideoFrameConverterColorSpace flag
MediacleanupMerged
VideoFrameConverter가 RGB 프레임을 YUV로 바꿀 때 색공간을 무조건 Rec.601로 두지 않고 원본에 맞게 매핑하도록 한 동작을 감싸고 있던 플래그 kAccurateVideoFrameConverterColorSpace를 제거했습니다. «M153이 stable이 되면 제거»라는 주석이 있었고, 실제로 코드가 나간 M154도 이미 Stable을 지났습니다(crbug.com/467555325). 4파일 −37. 2026-09-29에 머지됐습니다(3d44ab91438a0). tmathmeyer@와 원 CL 작성자 dalecurtis@의 +1을 받았고, dalecurtis@가 돌린 CQ가 GPU 봇 재시도를 거쳐 약 5시간 만에 통과했습니다.
문제 설명
- issue url: https://crbug.com/467555325
- 원래 변환기는 sRGB·BT.709 등 원본 색공간과 상관없이 결과를 Rec.601로 표시해 색이 어긋날 수 있었습니다. 2026-08 CL 7821801이 원본에 맞는 행렬로 매핑하도록 고치면서 플래그로 감쌌는데, 다음 날 revert됐다가 CL 8265191로 reland됐습니다.
- 지금은
GetDestinationColorSpace()의 early return 하나와, 플래그를 켜는 테스트 설정·꺼진 상태를 검사하는 테스트 하나가 남아 있었습니다.
해결 내용
media/base/media_switches.{h,cc}에서 플래그 선언·정의와 TODO를 지웠습니다.video_frame_converter.cc에서 «플래그가 꺼지면 Rec.601로 돌려준다»는 early return을 지웠습니다.video_frame_converter_unittest.cc에서ColorSpaceConversion의 플래그 켜기 설정을 빼고, 꺼진 상태 전용 테스트DisabledFeatureFallsBackToRec601을 지웠습니다.- 두 파일에서 안 쓰게 된 include 네 개(
feature_list.h,scoped_feature_list.h,media_switches.h×2)를 제거했습니다.
- if (!base::FeatureList::IsEnabled(kAccurateVideoFrameConverterColorSpace)) {
- return gfx::ColorSpace::CreateREC601();
- }
-
// Invalid color spaces are coerced to limited range BT.709.발굴 과정
«Remove … M» 만료 주석 스윕에서 나온 항목입니다. 도입일이 2026-08로 최근이라 제거 시점이 맞는지 따로 확인했습니다. 커밋 이력에서 revert와 reland를 찾아 실제 출시가 M154임을 확인했고, Chromium Dash에서 현재 Stable이 155임을 조회한 뒤 착수했습니다. OSSCA #524.
테스트 방법
- D(
kStrictFFmpegCodecs)와 통합 브랜치에서media_unittests빌드: Mac M5, 27분 50초 / 9,482 스텝. 공용 헤더media_switches.h를 건드려 media 전반이 다시 컴파일됐습니다. media_unittests --gtest_filter='*VideoFrameConverter*'1460/1460 통과. 플래그 설정 없이ColorSpaceConversion이 통과하는 것을 확인했습니다.- presubmit 0 경고
배운 점
- TODO에 적힌 «M 이후 제거»는 처음 들어간 시점 기준이라, revert 뒤 reland되면 실제 출시 마일스톤이 달라질 수 있습니다. 최근 플래그는 이력과 Stable 버전을 함께 확인합니다.
- 공용 헤더(
media_switches.h)를 고치는 CL은 증분 빌드도 수천 스텝이 됩니다. 빌드 계획에 반영합니다.